linux: ar71xx: add support for Mikrotik Routerboard RB493G
SVN-Revision: 28423
This commit is contained in:
parent
03f91068d1
commit
a136b67604
5 changed files with 109 additions and 0 deletions
41
target/linux/ar71xx/base-files/etc/defconfig/rb-493g/network
Normal file
41
target/linux/ar71xx/base-files/etc/defconfig/rb-493g/network
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
config interface loopback
|
||||||
|
option ifname lo
|
||||||
|
option proto static
|
||||||
|
option ipaddr 127.0.0.1
|
||||||
|
option netmask 255.0.0.0
|
||||||
|
|
||||||
|
config interface lan
|
||||||
|
option ifname "eth0 eth1.1"
|
||||||
|
option type bridge
|
||||||
|
option proto static
|
||||||
|
option ipaddr 192.168.1.1
|
||||||
|
option netmask 255.255.255.0
|
||||||
|
|
||||||
|
config interface wan
|
||||||
|
option ifname eth1.2
|
||||||
|
option proto dhcp
|
||||||
|
|
||||||
|
config switch
|
||||||
|
option name switch0
|
||||||
|
option reset 1
|
||||||
|
option enable_vlan 1
|
||||||
|
|
||||||
|
config switch_vlan
|
||||||
|
option device switch0
|
||||||
|
option vlan 1
|
||||||
|
option ports "0 1 2 3 4"
|
||||||
|
|
||||||
|
config switch
|
||||||
|
option name switch1
|
||||||
|
option reset 1
|
||||||
|
option enable_vlan 1
|
||||||
|
|
||||||
|
config switch_vlan
|
||||||
|
option device switch1
|
||||||
|
option vlan 1
|
||||||
|
option ports "0t 1 2 3 4"
|
||||||
|
|
||||||
|
config switch_vlan
|
||||||
|
option device switch1
|
||||||
|
option vlan 2
|
||||||
|
option ports "0t 5"
|
|
@ -91,6 +91,9 @@ ar71xx_board_name() {
|
||||||
*"RouterBOARD 493/AH")
|
*"RouterBOARD 493/AH")
|
||||||
name="rb-493"
|
name="rb-493"
|
||||||
;;
|
;;
|
||||||
|
*"RouterBOARD 493G")
|
||||||
|
name="rb-493g"
|
||||||
|
;;
|
||||||
*"RouterBOARD 750")
|
*"RouterBOARD 750")
|
||||||
name="rb-750"
|
name="rb-750"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/irq.h>
|
#include <linux/irq.h>
|
||||||
|
#include <linux/mdio-gpio.h>
|
||||||
#include <linux/mmc/host.h>
|
#include <linux/mmc/host.h>
|
||||||
#include <linux/spi/spi.h>
|
#include <linux/spi/spi.h>
|
||||||
#include <linux/spi/flash.h>
|
#include <linux/spi/flash.h>
|
||||||
|
@ -342,3 +343,64 @@ static void __init rb493_setup(void)
|
||||||
|
|
||||||
MIPS_MACHINE(AR71XX_MACH_RB_493, "493", "MikroTik RouterBOARD 493/AH",
|
MIPS_MACHINE(AR71XX_MACH_RB_493, "493", "MikroTik RouterBOARD 493/AH",
|
||||||
rb493_setup);
|
rb493_setup);
|
||||||
|
|
||||||
|
#define RB493G_GPIO_MDIO_MDC 7
|
||||||
|
#define RB493G_GPIO_MDIO_DATA 8
|
||||||
|
|
||||||
|
#define RB493G_MDIO_PHYMASK BIT(0)
|
||||||
|
|
||||||
|
static struct mdio_gpio_platform_data rb493g_mdio_data = {
|
||||||
|
.mdc = RB493G_GPIO_MDIO_MDC,
|
||||||
|
.mdio = RB493G_GPIO_MDIO_DATA,
|
||||||
|
|
||||||
|
.phy_mask = ~RB493G_MDIO_PHYMASK,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device rb493g_mdio_device = {
|
||||||
|
.name = "mdio-gpio",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.platform_data = &rb493g_mdio_data,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static void __init rb493g_setup(void)
|
||||||
|
{
|
||||||
|
ar71xx_gpio_function_enable(AR71XX_GPIO_FUNC_SPI_CS1_EN |
|
||||||
|
AR71XX_GPIO_FUNC_SPI_CS2_EN);
|
||||||
|
|
||||||
|
ar71xx_add_device_leds_gpio(-1, ARRAY_SIZE(rb4xx_leds_gpio),
|
||||||
|
rb4xx_leds_gpio);
|
||||||
|
|
||||||
|
spi_register_board_info(rb4xx_spi_info, ARRAY_SIZE(rb4xx_spi_info));
|
||||||
|
platform_device_register(&rb4xx_spi_device);
|
||||||
|
platform_device_register(&rb4xx_nand_device);
|
||||||
|
|
||||||
|
ar71xx_add_device_mdio(~RB493G_MDIO_PHYMASK);
|
||||||
|
|
||||||
|
ar71xx_init_mac(ar71xx_eth0_data.mac_addr, ar71xx_mac_base, 0);
|
||||||
|
ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
|
||||||
|
ar71xx_eth0_data.phy_mask = RB493G_MDIO_PHYMASK;
|
||||||
|
ar71xx_eth0_data.speed = SPEED_1000;
|
||||||
|
ar71xx_eth0_data.duplex = DUPLEX_FULL;
|
||||||
|
|
||||||
|
ar71xx_init_mac(ar71xx_eth1_data.mac_addr, ar71xx_mac_base, 1);
|
||||||
|
ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RGMII;
|
||||||
|
ar71xx_eth1_data.mii_bus_dev = &rb493g_mdio_device.dev;
|
||||||
|
ar71xx_eth1_data.phy_mask = RB493G_MDIO_PHYMASK;
|
||||||
|
ar71xx_eth1_data.speed = SPEED_1000;
|
||||||
|
ar71xx_eth1_data.duplex = DUPLEX_FULL;
|
||||||
|
|
||||||
|
|
||||||
|
platform_device_register(&rb493g_mdio_device);
|
||||||
|
|
||||||
|
ar71xx_add_device_eth(1);
|
||||||
|
ar71xx_add_device_eth(0);
|
||||||
|
|
||||||
|
ar71xx_add_device_usb();
|
||||||
|
|
||||||
|
ar71xx_pci_init(ARRAY_SIZE(rb4xx_pci_irqs), rb4xx_pci_irqs);
|
||||||
|
}
|
||||||
|
|
||||||
|
MIPS_MACHINE(AR71XX_MACH_RB_493G, "493G", "MikroTik RouterBOARD 493G",
|
||||||
|
rb493g_setup);
|
||||||
|
|
|
@ -42,6 +42,7 @@ enum ar71xx_mach_type {
|
||||||
AR71XX_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
|
AR71XX_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
|
||||||
AR71XX_MACH_RB_450, /* MikroTik RouterBOARD 450 */
|
AR71XX_MACH_RB_450, /* MikroTik RouterBOARD 450 */
|
||||||
AR71XX_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
|
AR71XX_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
|
||||||
|
AR71XX_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
|
||||||
AR71XX_MACH_RB_750, /* MikroTik RouterBOARD 750 */
|
AR71XX_MACH_RB_750, /* MikroTik RouterBOARD 750 */
|
||||||
AR71XX_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
|
AR71XX_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
|
||||||
AR71XX_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
|
AR71XX_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
CONFIG_IP17XX_PHY=y
|
CONFIG_IP17XX_PHY=y
|
||||||
|
CONFIG_MDIO_BITBANG=y
|
||||||
|
CONFIG_MDIO_GPIO=y
|
||||||
CONFIG_MTD_NAND=y
|
CONFIG_MTD_NAND=y
|
||||||
CONFIG_MTD_NAND_RB4XX=y
|
CONFIG_MTD_NAND_RB4XX=y
|
||||||
CONFIG_MTD_NAND_RB750=y
|
CONFIG_MTD_NAND_RB750=y
|
||||||
|
|
Loading…
Reference in a new issue