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 f233772d0d8d50fcc5e1f240c702718039be981f..c09ad1a36a9eba96a40377144c0cc3d2bda58068 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 <juhosg at openwrt.org>
@@ -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 c6187b47a742623d4ca1f4b05bb2bec0e9b7e26c..4c2f658eedb2dd9b11dd176552a1090a6e1dfda2 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 14cb612b0884987d8566beef90d2ee6e00583dd6..b17ba4cff58c03a70e45e5c3ef8be78dcba86cfe 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