[ar71xx] add board setup code for the RB-450G/RB-433UAH boards
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 9 Jul 2009 19:46:41 +0000 (19:46 +0000)
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 9 Jul 2009 19:46:41 +0000 (19:46 +0000)
  * based on a patch from http://forum.openwrt.org/viewtopic.php?pid=91127#p91127

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16754 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c
target/linux/ar71xx/files/arch/mips/ar71xx/prom.c
target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h

index bed6799..647a932 100644 (file)
@@ -206,7 +206,15 @@ static void __init rb433_setup(void)
 
 MIPS_MACHINE(AR71XX_MACH_RB_433, "MikroTik RouterBOARD 433/AH", rb433_setup);
 
-static void __init rb450_setup(void)
+static void __init rb433u_setup(void)
+{
+       rb433_setup();
+       ar71xx_add_device_usb();
+}
+
+MIPS_MACHINE(AR71XX_MACH_RB_433U, "MikroTik RouterBOARD 433UAH", rb433u_setup);
+
+static void __init rb450_generic_setup(int gige)
 {
        rb4xx_generic_setup();
        rb4xx_add_device_spi();
@@ -215,7 +223,7 @@ static void __init rb450_setup(void)
 
        ar71xx_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
        ar71xx_eth0_data.phy_mask = 0x0000000f;
-       ar71xx_eth0_data.speed = SPEED_100;
+       ar71xx_eth0_data.speed = (gige) ? SPEED_1000 : SPEED_100;
        ar71xx_eth0_data.duplex = DUPLEX_FULL;
 
        ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
@@ -225,8 +233,20 @@ static void __init rb450_setup(void)
        ar71xx_add_device_eth(0);
 }
 
+static void __init rb450_setup(void)
+{
+       rb450_generic_setup(0);
+}
+
 MIPS_MACHINE(AR71XX_MACH_RB_450, "MikroTik RouterBOARD 450", rb450_setup);
 
+static void __init rb450g_setup(void)
+{
+       rb450_generic_setup(1);
+}
+
+MIPS_MACHINE(AR71XX_MACH_RB_450G, "MikroTik RouterBOARD 450G", rb450g_setup);
+
 static void __init rb493_setup(void)
 {
        rb4xx_generic_setup();
index 58db51a..eee55ed 100644 (file)
@@ -39,9 +39,15 @@ static struct board_rec boards[] __initdata = {
                .name           = "433",
                .mach_type      = AR71XX_MACH_RB_433,
        }, {
+               .name           = "433U",
+               .mach_type      = AR71XX_MACH_RB_433U,
+       }, {
                .name           = "450",
                .mach_type      = AR71XX_MACH_RB_450,
        }, {
+               .name           = "450G",
+               .mach_type      = AR71XX_MACH_RB_450G,
+       }, {
                .name           = "493",
                .mach_type      = AR71XX_MACH_RB_493,
        }, {
index 2a16257..1ba20fa 100644 (file)
@@ -124,7 +124,9 @@ enum ar71xx_mach_type {
        AR71XX_MACH_AW_NR580,   /* AzureWave AW-NR580 */
        AR71XX_MACH_RB_411,     /* MikroTik RouterBOARD 411/411A/411AH */
        AR71XX_MACH_RB_433,     /* MikroTik RouterBOARD 433/433AH */
+       AR71XX_MACH_RB_433U,    /* MikroTik RouterBOARD 433UAH */
        AR71XX_MACH_RB_450,     /* MikroTik RouterBOARD 450 */
+       AR71XX_MACH_RB_450G,    /* MikroTik RouterBOARD 450G */
        AR71XX_MACH_RB_493,     /* Mikrotik RouterBOARD 493/493AH */
        AR71XX_MACH_PB42,       /* Atheros PB42 */
        AR71XX_MACH_PB44,       /* Atheros PB44 */