--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -2711,6 +2711,273 @@ static struct board_info __initdata boar #endif /* CONFIG_BCM63XX_CPU_6368 */ /* + * known 63268/63269 boards + */ +#ifdef CONFIG_BCM63XX_CPU_63268 +static struct board_info __initdata board_963268bu_p300 = { + .name = "963268BU_P300", + .expected_cpu_id = 0x63268, + + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 1, + + .has_usbd = 1, + .usbd = { + .use_fullspeed = 0, + .port_no = 0, + }, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [0] = { + .used = 1, + .phy_id = 17, + .name = "FE1", + }, + [3] = { + .used = 1, + .phy_id = 4, + .name = "GbE2", + }, + [4] = { + .used = 1, + .phy_id = 0, + .name = "GbE3", + .mii_override = 1, + .timing_sel = 1, + }, + [5] = { + .used = 1, + .phy_id = 1, + .name = "GbE1", + .mii_override = 1, + .timing_sel = 1, + }, + [6] = { + .used = 1, + .phy_id = 24, + .name = "GbE4", + .mii_override = 1, + .timing_sel = 1, + }, + [7] = { + .used = 1, + .phy_id = 25, + .name = "GbE5", + .mii_override = 1, + .timing_sel = 1, + }, + }, + }, +}; + +static struct board_info __initdata board_963269bhr = { + .name = "963269BHR", + .expected_cpu_id = 0x63268, + + .has_pci = 1, + .has_ohci0 = 1, + .has_ehci0 = 1, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [0] = { + .used = 1, + .phy_id = 1, + .name = "port1", + }, + [1] = { + .used = 1, + .phy_id = 2, + .name = "port2", + }, + [2] = { + .used = 1, + .phy_id = 3, + .name = "port3", + }, + [3] = { + .used = 1, + .phy_id = 4, + .name = "port4", + }, + }, + }, +}; + +static struct board_info __initdata board_BSKYB_63168 = { + .name = "BSKYB_63168", + .expected_cpu_id = 0x63268, + + .has_pci = 1, + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 2, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [0] = { + .used = 1, + .phy_id = 1, + .name = "Port 1", + }, + [1] = { + .used = 1, + .phy_id = 2, + .name = "Port 2", + }, + [2] = { + .used = 1, + .phy_id = 3, + .name = "Port 3", + }, + [3] = { + .used = 1, + .phy_id = 4, + .name = "Port 4", + }, + }, + }, +}; + +static struct board_info __initdata board_H500s = { + .name = "BXK00C-1.6", + .expected_cpu_id = 0x63268, + + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 1, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [3] = { + .used = 1, + .phy_id = 12, + .name = "WAN", + }, + [4] = { + .used = 1, + .phy_id = 0, + .bypass_link = 1, + .force_speed = 1000, + .force_duplex_full = 1, + .mii_override = 1, + .timing_sel = 1, + .name = "RGMII", + }, + }, + }, +}; + +static struct board_info __initdata board_VG8050 = { + .name = "963169P-1861N5", + .expected_cpu_id = 0x63268, + + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 2, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [6] = { + .used = 1, + .phy_id = 0xff, + .bypass_link = 1, + .force_speed = 1000, + .force_duplex_full = 1, + .mii_override = 1, + .timing_sel = 1, + .name = "RGMII", + }, + }, + }, +}; + +static struct board_info __initdata board_VR3032u = { + .name = "963168M-1841N1", + .expected_cpu_id = 0x63268, + + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 1, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [0] = { + .used = 1, + .phy_id = 1, + .name = "LAN2", + }, + [1] = { + .used = 1, + .phy_id = 2, + .name = "LAN3", + }, + [2] = { + .used = 1, + .phy_id = 3, + .name = "LAN4", + }, + [3] = { + .used = 1, + .phy_id = 4, + .name = "LAN1", + }, + }, + }, +}; + +static struct board_info __initdata board_vw6339gu = { + .name = "VW6339GU", + .expected_cpu_id = 0x63268, + + .has_ohci0 = 1, + .has_ehci0 = 1, + .num_usbh_ports = 1, + + .has_enetsw = 1, + .enetsw = { + .used_ports = { + [0] = { + .used = 1, + .phy_id = 1, + .name = "LAN2", + }, + [1] = { + .used = 1, + .phy_id = 2, + .name = "LAN3", + }, + [2] = { + .used = 1, + .phy_id = 3, + .name = "LAN4", + }, + [3] = { + .used = 1, + .phy_id = 4, + .name = "LAN1", + }, + [4] = { + .used = 1, + .phy_id = 7, + .name = "WAN", + .mii_override = 1, + .timing_sel = 1, + }, + }, + }, +}; +#endif /* CONFIG_BCM63XX_CPU_63268 */ + +/* * all boards */ static const struct board_info __initconst *bcm963xx_boards[] = { @@ -2815,6 +3082,15 @@ static const struct board_info __initcon &board_VR3026e, &board_WAP5813n, #endif /* CONFIG_BCM63XX_CPU_6368 */ +#ifdef CONFIG_BCM63XX_CPU_63268 + &board_963268bu_p300, + &board_963269bhr, + &board_BSKYB_63168, + &board_H500s, + &board_VG8050, + &board_VR3032u, + &board_vw6339gu, +#endif /* CONFIG_BCM63XX_CPU_63268 */ }; static struct of_device_id const bcm963xx_boards_dt[] = { @@ -2932,6 +3208,14 @@ static struct of_device_id const bcm963x { .compatible = "zyxel,p870hw-51a-v2", .data = &board_P870HW51A_V2, }, #endif /* CONFIG_BCM63XX_CPU_6368 */ #ifdef CONFIG_BCM63XX_CPU_63268 + { .compatible = "brcm,bcm963268bu-p300", .data = &board_963268bu_p300, }, + { .compatible = "brcm,bcm963269bhr", .data = &board_963269bhr, }, + { .compatible = "comtrend,vg-8050", .data = &board_VG8050, }, + { .compatible = "comtrend,vr-3032u", .data = &board_VR3032u, }, + { .compatible = "inteno,vg50", .data = &board_vw6339gu, }, + { .compatible = "sercomm,h500-s-lowi", .data = &board_H500s, }, + { .compatible = "sercomm,h500-s-vfes", .data = &board_H500s, }, + { .compatible = "sky,sr102", .data = &board_BSKYB_63168, }, #endif /* CONFIG_BCM63XX_CPU_63268 */ #endif /* CONFIG_OF */ { },