From: Kejia Hu <kejia...@codethink.co.uk> The other variant board (DANT-T) of the router may be supported after these patches, but these patches have only been tested on DANT-1 board. --- target/linux/brcm63xx/base-files/lib/brcm63xx.sh | 3 + target/linux/brcm63xx/dts/tg582n.dts | 81 ++++++++++++++++++++++ target/linux/brcm63xx/image/Makefile | 2 + .../brcm63xx/patches-3.18/571-board_TG582N.patch | 70 +++++++++++++++++++ 4 files changed, 156 insertions(+) create mode 100644 target/linux/brcm63xx/dts/tg582n.dts create mode 100644 target/linux/brcm63xx/patches-3.18/571-board_TG582N.patch
diff --git a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh index 0eb9a75..dd87b9d 100755 --- a/target/linux/brcm63xx/base-files/lib/brcm63xx.sh +++ b/target/linux/brcm63xx/base-files/lib/brcm63xx.sh @@ -231,6 +231,9 @@ brcm63xx_dt_detect() { "TP-Link TD-W8900GB") board_name="td-w8900gb" ;; + "THOMSON TG582N") + board_name="tg582n" + ;; "USRobotics 9108") board_name="usr9108" ;; diff --git a/target/linux/brcm63xx/dts/tg582n.dts b/target/linux/brcm63xx/dts/tg582n.dts new file mode 100644 index 0000000..a6986a7 --- /dev/null +++ b/target/linux/brcm63xx/dts/tg582n.dts @@ -0,0 +1,81 @@ +/dts-v1/; + +/include/ "bcm6328.dtsi" + +/ { + model = "TG582N"; + compatible = "thomson,tg582n", "brcm,bcm6328"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 23 1>; + linux,code = <0x198>; + }; + wps { + label = "wlan"; + gpios = <&gpio0 24 1>; + linux,code = <0xee>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_red { + label = "A4001N1:red:inet"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "A4001N1:green:ppp"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "A4001N1:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + ppp_red { + label = "A4001N1:red:ppp"; + gpios = <&gpio0 5 1>; + }; + usb_green { + label = "A4001N1:green:3g"; + gpios = <&gpio0 6 1>; + }; + usb_red { + label = "A4001N1:red:3g"; + gpios = <&gpio0 7 1>; + }; + power_red { + label = "A4001N1:red:power"; + gpios = <&gpio0 8 1>; + }; + wlan_green { + label = "A4001N1:green:wlan"; + gpios = <&gpio0 9 1>; + }; + wlan_red { + label = "A4001N1:red:wlan"; + gpios = <&gpio0 10 1>; + }; + inet_green { + label = "A4001N1:green:inet"; + gpios = <&gpio0 11 1>; + }; + eth_red { + label = "A4001N1:red:eth"; + gpios = <&gpio0 20 1>; + }; + eth_green { + label = "A4001N1:green:eth"; + gpios = <&gpio0 31 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index 139a2e3..3e68e98 100755 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -415,6 +415,8 @@ $(eval $(call ImageDTB,CFEDTB,CPVA642,CPA-ZNTE60T,cpva642,CPVA642,6358,--signatu $(eval $(call ImageDTB,Dummy,MAGIC,MAGIC,magic,MAGIC,6348)) # TP-Link TD-W8900GB $(eval $(call ImageDTB,CFEDTB,TDW8900GB,TD-W8900GB,td-w8900gb,96348GW-11,6348,--rsa-signature "$(shell printf 'PRID\x89\x10\x00\x02')" --image-offset 0x20000)) +# Thomsom TG582n +$(eval $(call ImageDTB,CFEDTB,TG582N,TG582N,tg582n,963281T_TEF,6328,--pad 8)) # USRobotics 9108 $(eval $(call ImageDTB,CFEDTB,USR9108,USR9108,usr9108,96348GW-A,6348)) # ZyXEL P870HW-51a v2 diff --git a/target/linux/brcm63xx/patches-3.18/571-board_TG582N.patch b/target/linux/brcm63xx/patches-3.18/571-board_TG582N.patch new file mode 100644 index 0000000..005f858 --- /dev/null +++ b/target/linux/brcm63xx/patches-3.18/571-board_TG582N.patch @@ -0,0 +1,70 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -606,6 +606,51 @@ static struct board_info __initdata board_FAST2704V2 = { + }, + }, + }; ++ ++static struct board_info __initdata board_TG582N = { ++ .name = "TG582N", ++ .expected_cpu_id = 0x6328, ++ ++ .has_uart0 = 1, ++ .has_pci = 1, ++ .use_fallback_sprom = 1, ++ .has_ohci0 = 1, ++ .has_ehci0 = 1, ++ .num_usbh_ports = 1, ++ .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", ++ }, ++ }, ++ }, ++ ++ .fallback_sprom = { ++ .type = SPROM_BCM43227, ++ .pci_bus = 1, ++ .pci_dev = 0, ++ }, ++}; ++ + #endif /* CONFIG_BCM63XX_CPU_6328 */ + + /* +@@ -2362,6 +2407,7 @@ static const struct board_info __initconst *bcm963xx_boards[] = { + &board_A4001N1, + &board_dsl_274xb_f1, + &board_FAST2704V2, ++ &board_TG582N + #endif + #ifdef CONFIG_BCM63XX_CPU_6338 + &board_96338gw, +@@ -2458,6 +2504,7 @@ static struct of_device_id const bcm963xx_boards_dt[] = { + { .compatible = "comtrend,ar-5381u", .data = &board_AR5381u, }, + { .compatible = "comtrend,ar-5387un", .data = &board_AR5387un, }, + { .compatible = "d-link,dsl-274xb-f", .data = &board_dsl_274xb_f1, }, ++ { .compatible = "thomson,tg582n", .data = &board_TG582N, }, + { .compatible = "sagem,f@st2704v2", .data = &board_FAST2704V2, }, + #endif + #ifdef CONFIG_BCM63XX_CPU_6338 -- 2.1.4 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel