diff options
Diffstat (limited to 'target/linux/ar71xx/files/arch')
3 files changed, 30 insertions, 2 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c index bed6799b7..647a9320d 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-rb-4xx.c @@ -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(); diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c index 58db51a01..eee55edff 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/prom.c @@ -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, }, { diff --git a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h index 2a16257d7..1ba20fa38 100644 --- a/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h +++ b/target/linux/ar71xx/files/arch/mips/include/asm/mach-ar71xx/ar71xx.h @@ -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 */ |