diff --git a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c index f233772d0d..c09ad1a36a 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/boards/mikrotik.c @@ -1,7 +1,7 @@ /* * $Id$ * - * Mikrotik RouterBOARDs 111/112/133/133C/150/153 + * Mikrotik RouterBOARDs 1xx series * * Copyright (C) 2007 OpenWrt.org * Copyright (C) 2007 Gabor Juhos @@ -87,6 +87,10 @@ static unsigned char rb133c_vlans[6] __initdata = { static unsigned char rb15x_vlans[6] __initdata = { /* FIXME: untested */ 0x41, 0x42, 0x44, 0x48, 0x50, 0x00 + +static unsigned char rb192_vlans[6] __initdata = { + /* FIXME: untested */ + 0x41, 0x50, 0x48, 0x44, 0x42, 0x00 }; #else static unsigned char rb_vlans[6] __initdata = { @@ -96,6 +100,7 @@ static unsigned char rb_vlans[6] __initdata = { #define rb133_vlans rb_vlans #define rb133c_vlans rb_vlans #define rb15x_vlans rb_vlans +#define rb192_vlans rb_vlans #endif static struct adm5120_board rb111_board __initdata = { @@ -158,6 +163,16 @@ static struct adm5120_board rb153_board __initdata = { .devices = rb1xx_devices, }; +static struct adm5120_board rb153_board __initdata = { + .mach_type = MACH_ADM5120_RB_192, + .name = "Mikrotik RouterBOARD 192", + .board_setup = rb1xx_setup, + .eth_num_ports = 5, + .eth_vlans = rb192_vlans, + .num_devices = ARRAY_SIZE(rb1xx_devices), + .devices = rb1xx_devices, +}; + static int __init register_boards(void) { adm5120_board_register(&rb111_board); @@ -166,6 +181,7 @@ static int __init register_boards(void) adm5120_board_register(&rb133c_board); adm5120_board_register(&rb150_board); adm5120_board_register(&rb153_board); + adm5120_board_register(&rb192_board); return 0; } diff --git a/target/linux/adm5120/files/arch/mips/adm5120/prom.c b/target/linux/adm5120/files/arch/mips/adm5120/prom.c index c6187b47a7..4c2f658eed 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/prom.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/prom.c @@ -75,6 +75,7 @@ static struct board_desc common_boards[] __initdata = { DEFBOARD("133C3", MACH_ADM5120_RB_133C), DEFBOARD("150", MACH_ADM5120_RB_153), /* it's intentional */ DEFBOARD("153", MACH_ADM5120_RB_153), + DEFBOARD("192", MACH_ADM5120_RB_192), DEFBOARD("miniROUTER", MACH_ADM5120_RB_150), }; diff --git a/target/linux/adm5120/patches-2.6.22/001-adm5120.patch b/target/linux/adm5120/patches-2.6.22/001-adm5120.patch index 14cb612b08..b17ba4cff5 100644 --- a/target/linux/adm5120/patches-2.6.22/001-adm5120.patch +++ b/target/linux/adm5120/patches-2.6.22/001-adm5120.patch @@ -54,7 +54,7 @@ Index: linux-2.6.22.1/include/asm-mips/bootinfo.h =================================================================== --- linux-2.6.22.1.orig/include/asm-mips/bootinfo.h +++ linux-2.6.22.1/include/asm-mips/bootinfo.h -@@ -213,6 +213,57 @@ +@@ -213,6 +213,58 @@ #define MACH_GROUP_NEC_EMMA2RH 25 /* NEC EMMA2RH (was 23) */ #define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */ @@ -108,6 +108,7 @@ Index: linux-2.6.22.1/include/asm-mips/bootinfo.h +#define MACH_ADM5120_EASY5120WVOIP 44 /* Infineon EASY 5120-WVoIP */ +#define MACH_ADM5120_EASY83000 45 /* Infineon EASY-83000 */ +#define MACH_ADM5120_BR6104K 46 /* Edimax BR-6104K */ ++#define MACH_ADM5120_RB_192 47 /* Mikrotik RouterBOARD 192 */ + #define CL_SIZE COMMAND_LINE_SIZE