1 --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
2 +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
4 #include <linux/init.h>
5 #include <linux/kernel.h>
6 #include <linux/string.h>
7 +#include <linux/platform_device.h>
8 +#include <linux/rtl8367.h>
9 #include <asm/addrspace.h>
10 #include <bcm63xx_board.h>
11 #include <bcm63xx_cpu.h>
14 #define HCS_OFFSET_128K 0x20000
16 +#define NB6_GPIO_RTL8367_SDA 18
17 +#define NB6_GPIO_RTL8367_SCK 20
22 @@ -1313,6 +1318,69 @@ static struct board_info __initdata boar
24 #endif /* CONFIG_BCM63XX_CPU_6358 */
26 +#ifdef CONFIG_BCM63XX_CPU_6362
27 +static struct rtl8367_extif_config nb6_rtl8367_extif0_cfg = {
28 + .mode = RTL8367_EXTIF_MODE_RGMII,
37 + .speed = RTL8367_PORT_SPEED_1000,
41 +static struct rtl8367_platform_data nb6_rtl8367_data = {
42 + .gpio_sda = NB6_GPIO_RTL8367_SDA,
43 + .gpio_sck = NB6_GPIO_RTL8367_SCK,
44 + .extif0_cfg = &nb6_rtl8367_extif0_cfg,
47 +static struct platform_device nb6_rtl8367_device = {
48 + .name = RTL8367_DRIVER_NAME,
51 + .platform_data = &nb6_rtl8367_data,
55 +static struct platform_device * __initdata nb6_devices[] = {
56 + &nb6_rtl8367_device,
59 +static struct board_info __initdata board_nb6 = {
61 + .expected_cpu_id = 0x6362,
67 + .num_usbh_ports = 2,
77 + .force_speed = 1000,
78 + .force_duplex_full = 1,
84 + .devs = nb6_devices,
85 + .num_devs = ARRAY_SIZE(nb6_devices),
87 +#endif /* CONFIG_BCM63XX_CPU_6362 */
92 @@ -1464,6 +1532,10 @@ static const struct board_info __initcon
96 +#ifdef CONFIG_BCM63XX_CPU_6362
100 #ifdef CONFIG_BCM63XX_CPU_6368
103 @@ -1532,6 +1604,9 @@ static struct of_device_id const bcm963x
104 { .compatible = "t-com,spw303v", .data = &board_spw303v, },
105 { .compatible = "telsey,cpva642", .data = &board_CPVA642, },
107 +#ifdef CONFIG_BCM63XX_CPU_6362
108 + { .compatible = "sfr,nb6-ser-r0", .data = &board_nb6, },
110 #ifdef CONFIG_BCM63XX_CPU_6368
111 { .compatible = "brcm,bcm96368mvngr", .data = &board_96368mvngr, },
112 { .compatible = "brcm,bcm96368mvwg", .data = &board_96368mvwg, },