Răsfoiți Sursa

add board setup code for the RB-450G/RB-433UAH boards * based on a patch from http://forum.openwrt.org/viewtopic.php?pid=91127#p91127

SVN-Revision: 16754
Gabor Juhos 16 ani în urmă
părinte
comite
a38d9256a7

+ 22 - 2
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);
 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_generic_setup();
 	rb4xx_add_device_spi();
 	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_if_mode = PHY_INTERFACE_MODE_MII;
 	ar71xx_eth0_data.phy_mask = 0x0000000f;
 	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_eth0_data.duplex = DUPLEX_FULL;
 
 
 	ar71xx_eth1_data.phy_if_mode = PHY_INTERFACE_MODE_RMII;
 	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);
 	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);
 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)
 static void __init rb493_setup(void)
 {
 {
 	rb4xx_generic_setup();
 	rb4xx_generic_setup();

+ 6 - 0
target/linux/ar71xx/files/arch/mips/ar71xx/prom.c

@@ -38,9 +38,15 @@ static struct board_rec boards[] __initdata = {
 	}, {
 	}, {
 		.name		= "433",
 		.name		= "433",
 		.mach_type	= AR71XX_MACH_RB_433,
 		.mach_type	= AR71XX_MACH_RB_433,
+	}, {
+		.name		= "433U",
+		.mach_type	= AR71XX_MACH_RB_433U,
 	}, {
 	}, {
 		.name		= "450",
 		.name		= "450",
 		.mach_type	= AR71XX_MACH_RB_450,
 		.mach_type	= AR71XX_MACH_RB_450,
+	}, {
+		.name		= "450G",
+		.mach_type	= AR71XX_MACH_RB_450G,
 	}, {
 	}, {
 		.name		= "493",
 		.name		= "493",
 		.mach_type	= AR71XX_MACH_RB_493,
 		.mach_type	= AR71XX_MACH_RB_493,

+ 2 - 0
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_AW_NR580,	/* AzureWave AW-NR580 */
 	AR71XX_MACH_RB_411,	/* MikroTik RouterBOARD 411/411A/411AH */
 	AR71XX_MACH_RB_411,	/* MikroTik RouterBOARD 411/411A/411AH */
 	AR71XX_MACH_RB_433,	/* MikroTik RouterBOARD 433/433AH */
 	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_450,	/* MikroTik RouterBOARD 450 */
+	AR71XX_MACH_RB_450G,	/* MikroTik RouterBOARD 450G */
 	AR71XX_MACH_RB_493,	/* Mikrotik RouterBOARD 493/493AH */
 	AR71XX_MACH_RB_493,	/* Mikrotik RouterBOARD 493/493AH */
 	AR71XX_MACH_PB42,	/* Atheros PB42 */
 	AR71XX_MACH_PB42,	/* Atheros PB42 */
 	AR71XX_MACH_PB44,	/* Atheros PB44 */
 	AR71XX_MACH_PB44,	/* Atheros PB44 */