linux: ar71xx: add support for Mikrotik Routerboard RB493G

SVN-Revision: 28423
This commit is contained in:
Jonas Gorski 2011-10-11 23:05:16 +00:00
parent 03f91068d1
commit a136b67604
5 changed files with 109 additions and 0 deletions

View 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"

View file

@ -91,6 +91,9 @@ ar71xx_board_name() {
*"RouterBOARD 493/AH")
name="rb-493"
;;
*"RouterBOARD 493G")
name="rb-493g"
;;
*"RouterBOARD 750")
name="rb-750"
;;

View file

@ -11,6 +11,7 @@
#include <linux/platform_device.h>
#include <linux/irq.h>
#include <linux/mdio-gpio.h>
#include <linux/mmc/host.h>
#include <linux/spi/spi.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",
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);

View file

@ -42,6 +42,7 @@ enum ar71xx_mach_type {
AR71XX_MACH_RB_450G, /* MikroTik RouterBOARD 450G */
AR71XX_MACH_RB_450, /* MikroTik RouterBOARD 450 */
AR71XX_MACH_RB_493, /* Mikrotik RouterBOARD 493/493AH */
AR71XX_MACH_RB_493G, /* Mikrotik RouterBOARD 493G */
AR71XX_MACH_RB_750, /* MikroTik RouterBOARD 750 */
AR71XX_MACH_TEW_632BRP, /* TRENDnet TEW-632BRP */
AR71XX_MACH_TL_MR3220, /* TP-LINK TL-MR3220 */

View file

@ -1,4 +1,6 @@
CONFIG_IP17XX_PHY=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_GPIO=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_RB4XX=y
CONFIG_MTD_NAND_RB750=y