mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-13 08:20:07 +00:00
8eeb57acb7
This adds support for the D-Link DSL-2750u rev C1. (https://deviwiki.com/wiki/D-Link_DSL-2750U_rev_C1) It uses the same hardware as ADB P.DG A4001N. CPU: Broadcom BCM63281 (320 MHz) RAM: 32M (Winbond W9725G6JB) Flash: 8M (MXIC MX25L6445E) Ethernet: 4x 100 Mbps Wireless: 802.11b/g/n: BCM43225 USB: 1x 2.0 Flash instructions: 1. Assign static IP 192.168.1.100 to PC 2. Unplug the power source 3. Press the RESET button at the router, don't release it yet! 4. Plug the power source.Wait some seconds 5. Release the RESET button 6. Browse to http://192.168.1.1 7. Send the openwrt-bcm63xx-generic-DSL2750U-C1-squashfs-cfe.bin and wait some minutes until the firmware upgrade finish. Signed-off-by: Ahmed Naseef <naseefkm@gmail.com> [DTS improvements, proper board patch, refresh patches] Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
308 lines
5.7 KiB
Diff
308 lines
5.7 KiB
Diff
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
|
|
@@ -2542,6 +2542,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[] = {
|
|
@@ -2642,6 +2909,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[] = {
|
|
@@ -2755,6 +3031,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 */
|
|
{ },
|