--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -682,6 +682,98 @@ static struct board_info __initdata boar
 	},
 };
 
+static struct board_info __initdata board_CPVA642 = {
+	.name                           = "CPVA642",
+	.expected_cpu_id                = 0x6358,
+
+	.has_uart0			= 1,
+	.has_enet1                      = 1,
+	.has_pci                        = 1,
+
+	.enet1 = {
+		.force_speed_100        = 1,
+		.force_duplex_full      = 1,
+ 	},
+
+	.has_ohci0 = 1,
+	.has_ehci0 = 1,
+
+	.leds = {
+	    /* bi-color */
+		{
+			.name		= "power:red",
+			.gpio		= 14,
+			.active_low	= 1,
+		},
+		{
+			.name		= "power:green",
+			.gpio		= 11,
+			.active_low	= 1,
+			.default_trigger = "default-on",
+		},
+		{
+			.name		= "wifi:red",
+			.gpio		= 6,
+			.active_low	= 1,
+		},
+		{
+			.name		= "wifi:green",
+			.gpio		= 28,
+			.active_low	= 0,
+		},
+		{
+			.name		= "link:red",
+			.gpio		= 9,
+			.active_low	= 1,
+		},
+		{
+			.name		= "link:green",
+			.gpio		= 10,
+			.active_low	= 1,
+		},
+		/* green only */
+		{
+			.name		= "ether",
+			.gpio		= 1,
+			.active_low	= 1,
+		},
+		{
+			.name		= "phone1",
+			.gpio		= 4,
+			.active_low	= 1,
+		},
+		{
+			.name		= "phone2",
+			.gpio		= 2,
+			.active_low	= 1,
+		},
+		{
+			.name		= "usb",
+			.gpio		= 3,
+			.active_low	= 1,
+		},
+    },
+
+	.buttons = {
+		{
+			.desc           = "reset",
+			.gpio           = 36,
+			.active_low     = 1,
+			.type           = EV_KEY,
+			.code           = KEY_RESTART,
+			.threshold      = 3,
+		},
+		{
+			.desc		= "wps",
+			.gpio		= 37,
+			.type		= EV_KEY,
+			.code		= KEY_WPS_BUTTON,
+			.threshold	= 3,
+		},
+	},
+};
+
+
 static struct board_info __initdata board_AGPFS0 = {
 	.name                           = "AGPF-S0",
 	.expected_cpu_id                = 0x6358,
@@ -1338,6 +1430,7 @@ static const struct board_info __initdat
 	&board_96358vw,
 	&board_96358vw2,
 	&board_AGPFS0,
+	&board_CPVA642,
 	&board_DWVS0,
 	&board_nb4_ser_r0,
 	&board_nb4_ser_r1,