diff options
Diffstat (limited to 'target/linux/brcm63xx/dts')
90 files changed, 6116 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/dts/a226g.dts b/target/linux/brcm63xx/dts/a226g.dts new file mode 100644 index 0000000..b62c68f --- /dev/null +++ b/target/linux/brcm63xx/dts/a226g.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226G"; + compatible = "pirelli,a226g", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&gpio0 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&gpio0 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&gpio0 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&gpio0 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&gpio0 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&gpio0 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&gpio0 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&gpio0 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&gpio0 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&gpio0 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&gpio0 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/a226m-fwb.dts b/target/linux/brcm63xx/dts/a226m-fwb.dts new file mode 100644 index 0000000..d91fffe --- /dev/null +++ b/target/linux/brcm63xx/dts/a226m-fwb.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226M-FWB"; + compatible = "pirelli,a226m-fwb", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&gpio0 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&gpio0 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&gpio0 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&gpio0 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&gpio0 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&gpio0 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&gpio0 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&gpio0 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&gpio0 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&gpio0 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&gpio0 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/a226m.dts b/target/linux/brcm63xx/dts/a226m.dts new file mode 100644 index 0000000..d3f628d --- /dev/null +++ b/target/linux/brcm63xx/dts/a226m.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226M"; + compatible = "pirelli,a226m", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&gpio0 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&gpio0 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&gpio0 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&gpio0 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&gpio0 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&gpio0 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&gpio0 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&gpio0 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&gpio0 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&gpio0 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&gpio0 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/a4001n.dts b/target/linux/brcm63xx/dts/a4001n.dts new file mode 100644 index 0000000..13c5e50 --- /dev/null +++ b/target/linux/brcm63xx/dts/a4001n.dts @@ -0,0 +1,55 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG A4001N"; + compatible = "adb,a4001n", "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 = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_red { + label = "A4001N:red:inet"; + gpios = <&gpio0 1 0>; + }; + power_red { + label = "A4001N:red:power"; + gpios = <&gpio0 4 0>; + }; + power_green { + label = "A4001N:green:power"; + gpios = <&gpio0 8 0>; + default-state = "on"; + }; + usb_green { + label = "A4001N:green:usb"; + gpios = <&gpio0 10 1>; + }; + dsl_green { + label = "A4001N:green:dsl"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/a4001n1.dts b/target/linux/brcm63xx/dts/a4001n1.dts new file mode 100644 index 0000000..e30d6d0 --- /dev/null +++ b/target/linux/brcm63xx/dts/a4001n1.dts @@ -0,0 +1,83 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG A4001N1"; + compatible = "adb,a4001n1", "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 = <KEY_RESTART>; + }; + wps { + label = "wlan"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_WLAN>; + }; + }; + + 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/dts/agpf-s0.dts b/target/linux/brcm63xx/dts/agpf-s0.dts new file mode 100644 index 0000000..4662b2d --- /dev/null +++ b/target/linux/brcm63xx/dts/agpf-s0.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli Alice Gate AGPF-S0"; + compatible = "pirelli,agpf-s0", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "AGPF-S0:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "AGPF-S0:red:power"; + gpios = <&gpio0 5 1>; + }; + service_green { + label = "AGPF-S0:green:service"; + gpios = <&gpio0 6 1>; + }; + service_red { + label = "AGPF-S0:red:service"; + gpios = <&gpio0 7 1>; + }; + dsl_green { + label = "AGPF-S0:green:adsl"; + gpios = <&gpio0 9 1>; + }; + dsl_red { + label = "AGPF-S0:red:adsl"; + gpios = <&gpio0 10 1>; + }; + wifi_green { + label = "AGPF-S0:green:wifi"; + gpios = <&gpio0 22 1>; + }; + wifi_red { + label = "AGPF-S0:red:wifi"; + gpios = <&gpio0 23 1>; + }; + inet_red { + label = "AGPF-S0:red:internet"; + gpios = <&gpio0 24 1>; + }; + inet_green { + label = "AGPF-S0:green:internet"; + gpios = <&gpio0 25 1>; + }; + usr1_green { + label = "AGPF-S0:green:usr1"; + gpios = <&gpio0 26 1>; + }; + usr1_red { + label = "AGPF-S0:red:usr1"; + gpios = <&gpio0 27 1>; + }; + usr2_green { + label = "AGPF-S0:green:usr2"; + gpios = <&gpio0 29 1>; + }; + usr2_red { + label = "AGPF-S0:red:usr2"; + gpios = <&gpio0 30 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/ar-5381u.dts b/target/linux/brcm63xx/dts/ar-5381u.dts new file mode 100644 index 0000000..a148ec4 --- /dev/null +++ b/target/linux/brcm63xx/dts/ar-5381u.dts @@ -0,0 +1,42 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend AR-5381u"; + compatible = "comtrend,ar-5381u", "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 = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + alarm_red { + label = "AR-5381u:red:alarm"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "AR-5381u:green:inet"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "AR-5381u:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/ar-5387un.dts b/target/linux/brcm63xx/dts/ar-5387un.dts new file mode 100644 index 0000000..c30da06 --- /dev/null +++ b/target/linux/brcm63xx/dts/ar-5387un.dts @@ -0,0 +1,50 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend AR-5387un"; + compatible = "comtrend,ar-5387un", "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 = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_red { + label = "AR-5387un:red:inet"; + gpios = <&gpio0 1 0>; + }; + power_red { + label = "AR-5387un:red:power"; + gpios = <&gpio0 4 0>; + }; + inet_green { + label = "AR-5387un:green:inet"; + gpios = <&gpio0 7 0>; + }; + power_green { + label = "AR-5387un:green:power"; + gpios = <&gpio0 8 0>; + default-state = "on"; + }; + dsl_green { + label = "AR-5387un:green:dsl"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/ar1004g.dts b/target/linux/brcm63xx/dts/ar1004g.dts new file mode 100644 index 0000000..0740799 --- /dev/null +++ b/target/linux/brcm63xx/dts/ar1004g.dts @@ -0,0 +1,42 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ASMAX AR 1004g"; + compatible = "asmax,ar1004g", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "AR1004G:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + inet_green { + label = "AR1004G:green:inet"; + gpios = <&gpio0 3 1>; + }; + power_red { + label = "AR1004G:red:power"; + gpios = <&gpio0 6 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm3368.dtsi b/target/linux/brcm63xx/dts/bcm3368.dtsi new file mode 100644 index 0000000..5be5c6a --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm3368.dtsi @@ -0,0 +1,95 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm3368"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <1>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + pflash: nor@1e000000 { + compatible = "cfi-flash"; + reg = <0x1e000000 0x2000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + }; + + ubus@fff00000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + periph_intc: interrupt-controller@fff8c00c { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0xfffe000c 0x8>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + ext_intc0: interrupt-controller@fff8c014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe0014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <25>, <26>, <27>, <28>; + }; + + gpio1: gpio-controller@fff8c080 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfff8c080 4>, <0xfff8c088 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <8>; + }; + + gpio0: gpio-controller@fff8c084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfff8c084 4>, <0xfff8c08c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6318.dtsi b/target/linux/brcm63xx/dts/bcm6318.dtsi new file mode 100644 index 0000000..f851a9c --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6318.dtsi @@ -0,0 +1,78 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6318"; + + aliases { + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips3300", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + ubus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <24>, <25>, <26>, <27>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0x10000020 0x20>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + gpio1: gpio-controller@10000080 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000080 4>, <0x10000088 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <18>; + }; + + gpio0: gpio-controller@10000084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000084 4>, <0x1000008c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm63268.dtsi b/target/linux/brcm63xx/dts/bcm63268.dtsi new file mode 100644 index 0000000..0a1f8b1 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm63268.dtsi @@ -0,0 +1,85 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm63268"; + + aliases { + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <1>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + ubus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <44>, <45>, <46>, <47>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0x10000020 0x20>, + <0x10000040 0x20>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + gpio1: gpio-controller@100000c0 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x100000c0 4>, <0x100000c8 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <20>; + }; + + gpio0: gpio-controller@100000c4 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x100000c4 4>, <0x100000cc 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6328.dtsi b/target/linux/brcm63xx/dts/bcm6328.dtsi new file mode 100644 index 0000000..a0b1316 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6328.dtsi @@ -0,0 +1,67 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6328"; + + aliases { + gpio0 = &gpio0; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + ubus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <24>, <25>, <26>, <27>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0x10000020 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + gpio0: gpio-controller@10000084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000084 4>, <0x1000008c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6338.dtsi b/target/linux/brcm63xx/dts/bcm6338.dtsi new file mode 100644 index 0000000..d578a5b --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6338.dtsi @@ -0,0 +1,80 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6338"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips3300", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + pflash: nor@1fc00000 { + compatible = "cfi-flash"; + reg = <0x1fc00000 0x400000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + }; + + ubus@fff00000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0xfffe000c 0x8>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + ext_intc: interrupt-controller@fffe0014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe0014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&cpu_intc>; + interrupts = <3>, <4>, <5>, <6>; + }; + + gpio0: gpio-controller@fffe0404 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0404 4>, <0xfffe040c 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <8>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6345.dtsi b/target/linux/brcm63xx/dts/bcm6345.dtsi new file mode 100644 index 0000000..f702468 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6345.dtsi @@ -0,0 +1,80 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6345"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips32", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + pflash: nor@1fc00000 { + compatible = "cfi-flash"; + reg = <0x1fc00000 0x400000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + }; + + ubus@fff00000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0xfffe000c 0x9>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + ext_intc: interrupt-controller@fffe0014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe0014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&cpu_intc>; + interrupts = <3>, <4>, <5>, <6>; + }; + + gpio0: gpio-controller@fffe0404 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0404 4>, <0xfffe0408 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <16>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6348.dtsi b/target/linux/brcm63xx/dts/bcm6348.dtsi new file mode 100644 index 0000000..81e99ed --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6348.dtsi @@ -0,0 +1,91 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6348"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips3300", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + pflash: nor@1fc00000 { + compatible = "cfi-flash"; + reg = <0x1fc00000 0x400000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + }; + + ubus@fff00000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0xfffe000c 0x8>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + ext_intc: interrupt-controller@fffe0014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe0014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&cpu_intc>; + interrupts = <3>, <4>, <5>, <6>; + + brcm,field-width = <5>; + }; + + gpio1: gpio-controller@fffe0400 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0400 4>, <0xfffe0408 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <5>; + }; + + gpio0: gpio-controller@fffe0404 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0404 4>, <0xfffe040c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6358.dtsi b/target/linux/brcm63xx/dts/bcm6358.dtsi new file mode 100644 index 0000000..bc3784a --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6358.dtsi @@ -0,0 +1,107 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6358"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <1>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + pflash: nor@1e000000 { + compatible = "cfi-flash"; + reg = <0x1e000000 0x2000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + + status = "disabled"; + }; + + ubus@fff00000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0xfffe000c 0x8>, + <0xfffe0038 0x8>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + ext_intc0: interrupt-controller@fffe0014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe0014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <25>, <26>, <27>, <28>; + }; + + ext_intc1: interrupt-controller@fffe001c { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe001c 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <20>, <21>; + }; + + gpio1: gpio-controller@fffe0080 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0080 4>, <0xfffe0088 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <8>; + }; + + gpio0: gpio-controller@fffe0084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0xfffe0084 4>, <0xfffe008c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6362.dtsi b/target/linux/brcm63xx/dts/bcm6362.dtsi new file mode 100644 index 0000000..6604f5c --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6362.dtsi @@ -0,0 +1,85 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6362"; + + aliases { + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <1>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + ubus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <40>, <41>, <42>, <43>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0x10000020 0x10>, + <0x10000030 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + gpio1: gpio-controller@10000080 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000080 4>, <0x10000088 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <16>; + }; + + gpio0: gpio-controller@10000084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000084 4>, <0x1000008c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm6368.dtsi b/target/linux/brcm63xx/dts/bcm6368.dtsi new file mode 100644 index 0000000..7dbe9ec --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm6368.dtsi @@ -0,0 +1,106 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6368"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + gpio1 = &gpio1; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <0>; + }; + + cpu@1 { + compatible = "brcm,bmips4350", "mips,mips4Kc"; + device_type = "cpu"; + reg = <1>; + }; + }; + + cpu_intc: interrupt-controller { + #address-cells = <0>; + compatible = "mti,cpu-interrupt-controller"; + + interrupt-controller; + #interrupt-cells = <1>; + }; + + memory { device_type = "memory"; reg = <0 0>; }; + + ubus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "simple-bus"; + + ext_intc0: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <20>, <21>, <22>, <23>; + }; + + ext_intc1: interrupt-controller@1000001c { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x1000001c 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <24>, <25>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-periph-intc"; + reg = <0x10000020 0x10>, + <0x10000030 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + gpio1: gpio-controller@10000080 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000080 4>, <0x10000088 4>; + + gpio-controller; + #gpio-cells = <2>; + + ngpios = <6>; + }; + + gpio0: gpio-controller@10000084 { + compatible = "brcm,bcm6345-gpio"; + reg = <0x10000084 4>, <0x1000008c 4>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; + + pflash: nor@18000000 { + compatible = "cfi-flash"; + reg = <0x18000000 0x2000000>; + bank-width = <2>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96318ref.dts b/target/linux/brcm63xx/dts/bcm96318ref.dts new file mode 100644 index 0000000..79137db --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96318ref.dts @@ -0,0 +1,49 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96318REF reference board"; + compatible = "brcm,bcm96318ref", "brcm,bcm6318"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet { + label = "96318REF:green:inet"; + gpios = <&gpio0 8 1>; + }; + + inet_fail { + label = "96318REF:red:inet-fail"; + gpios = <&gpio0 9 1>; + }; + + post_failed { + label = "96318REF:red:post-failed"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96318ref_p300.dts b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts new file mode 100644 index 0000000..be1db5a --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96318ref_p300.dts @@ -0,0 +1,55 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96318REF_P300 reference board"; + compatible = "brcm,bcm96318ref_p300", "brcm,bcm6318"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet { + label = "96318REF_P300:green:inet"; + gpios = <&gpio0 8 1>; + }; + + inet_fail { + label = "96318REF_P300:red:inet-fail"; + gpios = <&gpio0 9 1>; + }; + + post_failed { + label = "96318REF_P300:red:post-failed"; + gpios = <&gpio0 11 1>; + }; + + usb_pwron { + label = "96318REF_P300::usb-pwron"; + gpios = <&gpio0 13 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm963268bu_p300.dts b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts new file mode 100644 index 0000000..f659b39 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm963268bu_p300.dts @@ -0,0 +1,30 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM963268BU_P300 reference board"; + compatible = "brcm,bcm963268bu_p300", "brcm,bcm63268"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 0 0>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 1 0>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm963269bhr.dts b/target/linux/brcm63xx/dts/bcm963269bhr.dts new file mode 100644 index 0000000..01a7680 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm963269bhr.dts @@ -0,0 +1,38 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM963269BHR reference board"; + compatible = "brcm,bcm963269bhr", "brcm,bcm63268"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 0 0>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb1 { + label = "963269BHR:green:usb1"; + gpios = <&gpio0 9 1>; + }; + + usb2 { + label = "963269BHR:green:usb2"; + gpios = <&gpio0 10 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm963281TAN.dts b/target/linux/brcm63xx/dts/bcm963281TAN.dts new file mode 100644 index 0000000..21b329a --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm963281TAN.dts @@ -0,0 +1,40 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom bcm963281TAN reference board"; + compatible = "brcm,bcm963281TAN", "brcm,bcm6328"; + + gpio-leds { + compatible = "gpio-leds"; + + inet { + label = "963281TAN::internet"; + gpios = <&gpio0 1 1>; + }; + power { + label = "963281TAN::power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + inet_fail { + label = "963281TAN::internet-fail"; + gpios = <&gpio0 7 1>; + }; + power_fail { + label = "963281TAN::power-fail"; + gpios = <&gpio0 8 1>; + }; + wps { + label = "963281TAN::wps"; + gpios = <&gpio0 9 1>; + }; + dsl { + label = "963281TAN::dsl"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96328avng.dts b/target/linux/brcm63xx/dts/bcm96328avng.dts new file mode 100644 index 0000000..3ed4b22 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96328avng.dts @@ -0,0 +1,40 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96328avng reference board"; + compatible = "brcm,bcm96328avng", "brcm,bcm6328"; + + gpio-leds { + compatible = "gpio-leds"; + + inet_fail { + label = "96328avng::internet-fail"; + gpios = <&gpio0 2 1>; + }; + dsl { + label = "96328avng::dsl"; + gpios = <&gpio0 3 1>; + }; + power { + label = "96328avng::power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_fail { + label = "96328avng::power-fail"; + gpios = <&gpio0 8 1>; + }; + wps { + label = "96328avng::wps"; + gpios = <&gpio0 9 1>; + }; + inet { + label = "96328avng::internet"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96338GW.dts b/target/linux/brcm63xx/dts/bcm96338GW.dts new file mode 100644 index 0000000..d7af9ef --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96338GW.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96338GW reference board"; + compatible = "brcm,bcm96338gw", "brcm,bcm6338"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96338GW:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96338GW:green:stop"; + gpios = <&gpio0 1 1>; + }; + dsl_green { + label = "96338GW:green:adsl"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96338GW:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + ses_green { + label = "96338GW:green:ses"; + gpios = <&gpio0 5 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96338W.dts b/target/linux/brcm63xx/dts/bcm96338W.dts new file mode 100644 index 0000000..4904073 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96338W.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96338W reference board"; + compatible = "brcm,bcm96338w", "brcm,bcm6338"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96338W:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96338W:green:stop"; + gpios = <&gpio0 1 1>; + }; + dsl_green { + label = "96338W:green:adsl"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96338W:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + ses_green { + label = "96338W:green:ses"; + gpios = <&gpio0 5 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96345GW2.dts b/target/linux/brcm63xx/dts/bcm96345GW2.dts new file mode 100644 index 0000000..7214185 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96345GW2.dts @@ -0,0 +1,10 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96345GW2 reference board"; + compatible = "brcm,bcm96345gw2", "brcm,bcm6345"; +}; diff --git a/target/linux/brcm63xx/dts/bcm96348GW-10.dts b/target/linux/brcm63xx/dts/bcm96348GW-10.dts new file mode 100644 index 0000000..5f60d36 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96348GW-10.dts @@ -0,0 +1,50 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW-10 reference board"; + compatible = "brcm,bcm96348gw-10", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 6 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96348GW-11.dts b/target/linux/brcm63xx/dts/bcm96348GW-11.dts new file mode 100644 index 0000000..efd3e91 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96348GW-11.dts @@ -0,0 +1,50 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW-11 reference board"; + compatible = "brcm,bcm96348gw-11", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-11:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-11:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW-11:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW-11:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW-11:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96348GW.dts b/target/linux/brcm63xx/dts/bcm96348GW.dts new file mode 100644 index 0000000..cf40e52 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96348GW.dts @@ -0,0 +1,50 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW reference board"; + compatible = "brcm,bcm96348gw", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 4 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96348R.dts b/target/linux/brcm63xx/dts/bcm96348R.dts new file mode 100644 index 0000000..d7df2a9 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96348R.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom 96348R reference board"; + compatible = "brcm,bcm96348r", "brcm,bcm6348"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348R:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348R:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348R:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348R:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348R:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96358VW.dts b/target/linux/brcm63xx/dts/bcm96358VW.dts new file mode 100644 index 0000000..ff92499 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96358VW.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96358VW reference board"; + compatible = "brcm,bcm96358vw", "brcm,bcm6358"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96358VW:green:power"; + gpios = <&gpio0 4 0>; + default-state = "on"; + }; + stop_green { + label = "96358VW:green:stop"; + gpios = <&gpio0 5 0>; + }; + adsl_fail_green { + label = "96358VW:green:adsl-fail"; + gpios = <&gpio0 15 1>; + }; + ppp_green { + label = "96358VW:green:ppp"; + gpios = <&gpio0 22 1>; + }; + ppp_fail_green { + label = "96358VW:green:ppp-fail"; + gpios = <&gpio0 23 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96358VW2.dts b/target/linux/brcm63xx/dts/bcm96358VW2.dts new file mode 100644 index 0000000..8f7070a --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96358VW2.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96358VW2 reference board"; + compatible = "brcm,bcm96358vw2", "brcm,bcm6358"; + + gpio-leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&gpio0 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&gpio0 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&gpio0 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&gpio0 23 0>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96368MVNgr.dts b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts new file mode 100644 index 0000000..21f1395 --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96368MVNgr.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96368MVNgr reference board"; + compatible = "brcm,bcm96368mvngr", "brcm,bcm6368"; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "96368MVNgr:green:adsl"; + gpios = <&gpio0 2 1>; + }; + inet_fail_green { + label = "96368MVNgr:green:inet-fail"; + gpios = <&gpio0 3 0>; + }; + inet_green { + label = "96368MVNgr:green:inet"; + gpios = <&gpio0 5 0>; + }; + power_green { + label = "96368MVNgr:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + wps_green { + label = "96368MVNgr:green:wps"; + gpios = <&gpio0 23 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/bcm96368MVWG.dts b/target/linux/brcm63xx/dts/bcm96368MVWG.dts new file mode 100644 index 0000000..04442ab --- /dev/null +++ b/target/linux/brcm63xx/dts/bcm96368MVWG.dts @@ -0,0 +1,36 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96368MVWG reference board"; + compatible = "brcm,bcm96368mvwg", "brcm,bcm6368"; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "96368MVWG:green:adsl"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96368MVWG:green:ppp"; + gpios = <&gpio0 5 0>; + }; + power_green { + label = "96368MVWG:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + wps_green { + label = "96368MVWG:green:wps"; + gpios = <&gpio0 23 1>; + }; + ppp_fail_red { + label = "96368MVWG:red:ppp-fail"; + gpios = <&gpio0 31 0>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/cpva502plus.dts b/target/linux/brcm63xx/dts/cpva502plus.dts new file mode 100644 index 0000000..f00d73e --- /dev/null +++ b/target/linux/brcm63xx/dts/cpva502plus.dts @@ -0,0 +1,46 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Telsey CPVA502+"; + compatible = "telsey,cpva502+", "brcm,bcm6348"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "CPVA502+:green:phone"; + gpios = <&gpio0 0 1>; + }; + + status { + label = "CPVA502+:amber:link"; + gpios = <&gpio0 1 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/cpva642.dts b/target/linux/brcm63xx/dts/cpva642.dts new file mode 100644 index 0000000..8d72e02 --- /dev/null +++ b/target/linux/brcm63xx/dts/cpva642.dts @@ -0,0 +1,97 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Telsey CPVA642-type (CPA-ZNTE60T)"; + compatible = "telsey,cpva642", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 4 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 5 0>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + eth_green { + label = "CPVA642:green:ether"; + gpios = <&gpio0 1 1>; + }; + phone2_green { + label = "CPVA642:green:phone2"; + gpios = <&gpio0 2 1>; + }; + usb_green { + label = "CPVA642:green:usb"; + gpios = <&gpio0 3 1>; + }; + phone1_green { + label = "CPVA642:green:phone1"; + gpios = <&gpio0 4 1>; + }; + wifi_red { + label = "CPVA642:red:wifi"; + gpios = <&gpio0 6 1>; + }; + link_red { + label = "CPVA642:red:link"; + gpios = <&gpio0 9 1>; + }; + link_green { + label = "CPVA642:green:link"; + gpios = <&gpio0 10 1>; + }; + power_green { + label = "CPVA642:green:power"; + gpios = <&gpio0 11 1>; + default-state = "on"; + }; + power_red { + label = "CPVA642:red:power"; + gpios = <&gpio0 14 1>; + }; + wifi_green { + label = "CPVA642:green:wifi"; + gpios = <&gpio0 28 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/ct-5365.dts b/target/linux/brcm63xx/dts/ct-5365.dts new file mode 100644 index 0000000..6f452fe --- /dev/null +++ b/target/linux/brcm63xx/dts/ct-5365.dts @@ -0,0 +1,74 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-5365"; + compatible = "comtrend,ct-5365", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + wlan { + label = "wlan"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_WLAN>; + }; + wps { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348A-122:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + alarm_red { + label = "96348A-122:red:alarm"; + gpios = <&gpio0 2 1>; + }; + wps_green { + label = "96348A-122:green:wps"; + gpios = <&gpio0 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/ct-6373.dts b/target/linux/brcm63xx/dts/ct-6373.dts new file mode 100644 index 0000000..d6f0f8b --- /dev/null +++ b/target/linux/brcm63xx/dts/ct-6373.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-6373"; + compatible = "comtrend,ct-6373", "brcm,bcm6358"; + + spi-gpio { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-gpio"; + + gpio-mosi = <&gpio0 7 0>; + gpio-sck = <&gpio0 6 0>; + num-chipselects = <0>; + + hc595: gpio-spi-controller@0 { + compatible = "fairchild,74hc595"; + reg = <0>; + registers-number = <1>; + spi-max-frequency = <100000>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 3 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "CT6373-1:green:power"; + gpios = <&gpio0 0 0>; + default-state = "on"; + }; + usb_green { + label = "CT6373-1:green:usb"; + gpios = <&gpio0 3 1>; + }; + wlan_green { + label = "CT6373-1:green:wlan"; + gpios = <&gpio0 9 1>; + }; + dsl_green { + label = "CT6373-1:green:adsl"; + gpios = <&hc595 0 1>; + }; + line_green { + label = "CT6373-1:green:line"; + gpios = <&hc595 1 1>; + }; + fxs1_green { + label = "CT6373-1:green:fxs1"; + gpios = <&hc595 2 1>; + }; + fxs2_green { + label = "CT6373-1:green:fxs2"; + gpios = <&hc595 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/ct536plus.dts b/target/linux/brcm63xx/dts/ct536plus.dts new file mode 100644 index 0000000..c05068a --- /dev/null +++ b/target/linux/brcm63xx/dts/ct536plus.dts @@ -0,0 +1,38 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-536+/CT-5621T"; + compatible = "comtrend,ct536+", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "CT536_CT5621:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + adsl_fail_green { + label = "CT536_CT5621:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/cvg834g.dts b/target/linux/brcm63xx/dts/cvg834g.dts new file mode 100644 index 0000000..b61a07c --- /dev/null +++ b/target/linux/brcm63xx/dts/cvg834g.dts @@ -0,0 +1,42 @@ +/dts-v1/; + +#include "bcm3368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear CVG834G"; + compatible = "netgear,cvg834g", "brcm,bcm6348"; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "CVG834G:green:power"; + gpios = <&gpio1 5 0>; + default-state = "on"; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dg834g_v4.dts b/target/linux/brcm63xx/dts/dg834g_v4.dts new file mode 100644 index 0000000..1485300 --- /dev/null +++ b/target/linux/brcm63xx/dts/dg834g_v4.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DG834G v4"; + compatible = "netgear,dg834g-v4", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 6 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348W3:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + status { + label = "96348W3:red:power"; + gpios = <&gpio0 1 1>; + }; + inet_green { + label = "96348W3::adsl"; + gpios = <&gpio0 2 1>; + }; + inet_red { + label = "96348W3::internet"; + gpios = <&gpio0 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dg834gtpn.dts b/target/linux/brcm63xx/dts/dg834gtpn.dts new file mode 100644 index 0000000..8894358 --- /dev/null +++ b/target/linux/brcm63xx/dts/dg834gtpn.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DG834GT/PN"; + compatible = "netgear,dg834gtpn", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 6 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dgnd3700v1.dts b/target/linux/brcm63xx/dts/dgnd3700v1.dts new file mode 100644 index 0000000..8c8c0bf --- /dev/null +++ b/target/linux/brcm63xx/dts/dgnd3700v1.dts @@ -0,0 +1,112 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DGND3700v1/DGND3800B"; + compatible = "netgear,dgnd3700v1", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wlan { + label = "wlan"; + gpios = <&gpio0 10 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio0 12 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "DGND3700v1_3800B:green:dsl"; + gpios = <&gpio0 2 1>; + }; + inet_red { + label = "DGND3700v1_3800B:red:inet"; + gpios = <&gpio0 4 1>; + }; + inet_green { + label = "DGND3700v1_3800B:green:inet"; + gpios = <&gpio0 5 1>; + }; + wps_green { + label = "DGND3700v1_3800B:green:wps"; + gpios = <&gpio0 11 1>; + }; + usbfront_green { + label = "DGND3700v1_3800B:green:usb-front"; + gpios = <&gpio0 13 1>; + }; + usbback_green { + label = "DGND3700v1_3800B:green:usb-back"; + gpios = <&gpio0 14 1>; + }; + power_red { + label = "DGND3700v1_3800B:red:power"; + gpios = <&gpio0 22 1>; + }; + lan_green { + label = "DGND3700v1_3800B:green:lan"; + gpios = <&gpio0 23 1>; + }; + power_green { + label = "DGND3700v1_3800B:green:power"; + gpios = <&gpio0 24 1>; + default-state = "on"; + }; + wifi2g_green { + label = "DGND3700v1_3800B:green:wifi2g"; + gpios = <&gpio0 26 1>; + }; + wifi5g_blue { + label = "DGND3700v1_3800B:blue:wifi5g"; + gpios = <&gpio0 27 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x1e20000>; + }; + + board_data@1e40000 { + label = "board_data"; + reg = <0x1e40000 0x1a0000>; + read-only; + }; + + nvram@1fe0000 { + label = "nvram"; + reg = <0x1fe0000 0x20000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-2640b-b.dts b/target/linux/brcm63xx/dts/dsl-2640b-b.dts new file mode 100644 index 0000000..83b36a5 --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-2640b-b.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2640B rev B2"; + compatible = "d-link,dsl-2640b-b", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 7 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "D-4P-W:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + status { + label = "D-4P-W::status"; + gpios = <&gpio0 3 1>; + }; + inet_green { + label = "D-4P-W:green:internet"; + gpios = <&gpio0 4 1>; + }; + inet_red { + label = "D-4P-W:red:internet"; + gpios = <&gpio0 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-2640u.dts b/target/linux/brcm63xx/dts/dsl-2640u.dts new file mode 100644 index 0000000..d3d2772 --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-2640u.dts @@ -0,0 +1,52 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2640U/BRU/C"; + compatible = "d-link,dsl-2640u", "brcm,bcm6338"; + + gpio-leds { + compatible = "gpio-leds"; + + green_power { + label = "96338W2_E7T:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + + green_stop { + label = "96338W2_E7T:green:ppp"; + gpios = <&gpio0 4 1>; + }; + + green_adsl { + label = "96338W2_E7T:green:ppp-fail"; + gpios = <&gpio0 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-2650u.dts b/target/linux/brcm63xx/dts/dsl-2650u.dts new file mode 100644 index 0000000..2847c18 --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-2650u.dts @@ -0,0 +1,54 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2650U"; + compatible = "d-link,dsl-2650u", "brcm,bcm6358"; + + gpio-leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&gpio0 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&gpio0 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&gpio0 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&gpio0 23 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-274xb-c.dts b/target/linux/brcm63xx/dts/dsl-274xb-c.dts new file mode 100644 index 0000000..29ae125 --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-274xb-c.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2740B/DSL-2741B rev C2/3"; + compatible = "d-link,dsl-274xb-c2", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_green { + label = "dsl-274xb:green:internet"; + gpios = <&gpio0 2 0>; + }; + power_red { + label = "dsl-274xb:red:power"; + gpios = <&gpio0 4 1>; + }; + power_green { + label = "dsl-274xb:green:power"; + gpios = <&gpio0 5 1>; + default-state = "on"; + }; + dsl_green { + label = "dsl-274xb:green:adsl"; + gpios = <&gpio0 9 1>; + }; + inet_red { + label = "dsl-274xb:red:internet"; + gpios = <&gpio0 10 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-274xb-f.dts b/target/linux/brcm63xx/dts/dsl-274xb-f.dts new file mode 100644 index 0000000..fb1ded7 --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-274xb-f.dts @@ -0,0 +1,64 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2740B/DSL-2741B rev F1"; + compatible = "d-link,dsl-274xb-f", "brcm,bcm6328"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wifi { + label = "wifi"; + gpios = <&gpio0 10 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio0 23 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_red { + label = "dsl-274xb:red:internet"; + gpios = <&gpio0 2 1>; + }; + dsl_green { + label = "dsl-274xb:green:dsl"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "dsl-274xb:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "dsl-274xb:red:power"; + gpios = <&gpio0 8 1>; + }; + wps_blue { + label = "dsl-274xb:blue:wps"; + gpios = <&gpio0 9 1>; + }; + inet_green { + label = "dsl-274xb:green:internet"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/dsl-275xb-d.dts b/target/linux/brcm63xx/dts/dsl-275xb-d.dts new file mode 100644 index 0000000..dd00e2c --- /dev/null +++ b/target/linux/brcm63xx/dts/dsl-275xb-d.dts @@ -0,0 +1,77 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2750B/DSL-2751 rev D1"; + compatible = "d-link,dsl-275xb-d", "brcm,bcm6318"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wifi { + label = "wifi"; + gpios = <&gpio0 2 1>; + linux,code = <KEY_WLAN>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "dsl-275xb:green:power"; + gpios = <&gpio0 3 1>; + default-state = "on"; + }; + + inet_green { + label = "dsl-275xb:green:inet"; + gpios = <&gpio0 8 1>; + }; + + inet_red { + label = "dsl-275xb:red:inet-fail"; + gpios = <&gpio0 9 1>; + }; + + power_red { + label = "dsl-275xb:red:post-failed"; + gpios = <&gpio0 11 1>; + }; + + wps_blue { + label = "dsl-275xb:blue:wps"; + gpios = <&gpio0 16 1>; + }; + + dsl_green { + label = "dsl-275xb:green:dsl"; + gpios = <&gpio0 17 1>; + }; + + usb_green { + /* not user controllable? */ + label = "dsl-275xb:green:usb"; + gpios = <&gpio1 17 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/dv-201amr.dts b/target/linux/brcm63xx/dts/dv-201amr.dts new file mode 100644 index 0000000..f792ac2 --- /dev/null +++ b/target/linux/brcm63xx/dts/dv-201amr.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Davolink DV-201AMR"; + compatible = "davolink,dv-201amr", "brcm,bcm6348"; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + backup@0 { + label = "backup"; + reg = <0x000000 0x400000>; + }; + + cfe@400000 { + label = "cfe"; + reg = <0x400000 0x010000>; + read-only; + }; + + linux@410000 { + label = "linux"; + reg = <0x410000 0x3f0000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts new file mode 100644 index 0000000..2009825 --- /dev/null +++ b/target/linux/brcm63xx/dts/dva-g3810bn_tl.dts @@ -0,0 +1,50 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DVA-G3810BN/TL"; + compatible = "d-link,dva-g3810bn/tl", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + voip { + label = "DVAG3810BN::voip"; + gpios = <&gpio0 1 0>; + }; + power { + label = "DVAG3810BN::power"; + gpios = <&gpio0 4 0>; + default-state = "on"; + }; + stop { + label = "DVAG3810BN::stop"; + gpios = <&gpio0 5 0>; + }; + dsl { + label = "DVAG3810BN::dsl"; + gpios = <&gpio0 22 1>; + }; + inet { + label = "DVAG3810BN::internet"; + gpios = <&gpio0 23 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/f5d7633.dts b/target/linux/brcm63xx/dts/f5d7633.dts new file mode 100644 index 0000000..519df1e --- /dev/null +++ b/target/linux/brcm63xx/dts/f5d7633.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Belkin F5D7633"; + compatible = "belkin,f5d7633", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 6 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x3c0000>; + }; + + nvram@3e0000 { + label = "nvram"; + reg = <0x3e0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/fast2404.dts b/target/linux/brcm63xx/dts/fast2404.dts new file mode 100644 index 0000000..5309703 --- /dev/null +++ b/target/linux/brcm63xx/dts/fast2404.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@ST2404"; + compatible = "sagem,f@st2404", "brcm,bcm6348"; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/fast2504n.dts b/target/linux/brcm63xx/dts/fast2504n.dts new file mode 100644 index 0000000..cf453af --- /dev/null +++ b/target/linux/brcm63xx/dts/fast2504n.dts @@ -0,0 +1,59 @@ +/dts-v1/; + +#include "bcm6362.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@ST2504n"; + compatible = "sagem,f@st2504n", "brcm,bcm6362"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 25 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_orange { + label = "fast2504n:orange:power"; + gpios = <&gpio0 2 1>; + }; + power_green { + label = "fast2504n:green:power"; + gpios = <&gpio0 10 1>; + default-state = "on"; + }; + inet_red { + label = "fast2504n:red:internet"; + gpios = <&gpio0 26 1>; + }; + ok_green { + label = "fast2504n:green:ok"; + gpios = <&gpio0 28 1>; + }; + ok_orange { + label = "fast2504n:orange:ok"; + gpios = <&gpio0 29 1>; + }; + wlan_orangee { + label = "fast2504n:orange:wlan"; + gpios = <&gpio0 30 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/fast2604.dts b/target/linux/brcm63xx/dts/fast2604.dts new file mode 100644 index 0000000..c6b71d1 --- /dev/null +++ b/target/linux/brcm63xx/dts/fast2604.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@ST2604"; + compatible = "sagem,f@st2604", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "F@ST2604:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + power_red { + label = "F@ST2604:red:power"; + gpios = <&gpio0 1 1>; + }; + inet_red { + label = "F@ST2604:red:inet"; + gpios = <&gpio0 4 1>; + }; + wps_green { + label = "F@ST2604:green:wps"; + gpios = <&gpio0 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/fast2704n.dts b/target/linux/brcm63xx/dts/fast2704n.dts new file mode 100644 index 0000000..232d4d1 --- /dev/null +++ b/target/linux/brcm63xx/dts/fast2704n.dts @@ -0,0 +1,84 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@ST2704N"; + compatible = "sagem,f@st2704n", "brcm,bcm6318"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wlan { + label = "wlan"; + gpios = <&gpio0 1 0>; + linux,code = <KEY_WLAN>; + }; + wps { + label = "wps"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wps_green { + label = "F@ST2704N:green:wps"; + gpios = <&gpio0 2 1>; + }; + lan1_green { + label = "F@ST2704N:green:lan1"; + gpios = <&gpio0 4 1>; + }; + lan2_green { + label = "F@ST2704N:green:lan2"; + gpios = <&gpio0 5 1>; + }; + lan3_green { + label = "F@ST2704N:green:lan3"; + gpios = <&gpio0 6 1>; + }; + lan4_green { + label = "F@ST2704N:green:lan4"; + gpios = <&gpio0 7 1>; + }; + inet_green { + label = "F@ST2704N:green:inet"; + gpios = <&gpio0 8 1>; + }; + inet_red { + label = "F@ST2704N:red:inet"; + gpios = <&gpio0 9 1>; + }; + dsl_green { + label = "F@ST2704N:green:dsl"; + gpios = <&gpio0 10 1>; + }; + power_red { + label = "F@ST2704N:red:power"; + gpios = <&gpio0 11 1>; + }; + power_green { + label = "F@ST2704N:green:power"; + gpios = <&gpio1 15 1>; + default-state = "on"; + }; + usb_green { + label = "F@ST2704N:green:usb"; + gpios = <&gpio1 17 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/fast2704v2.dts b/target/linux/brcm63xx/dts/fast2704v2.dts new file mode 100644 index 0000000..3f56827 --- /dev/null +++ b/target/linux/brcm63xx/dts/fast2704v2.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@ST2704V2"; + compatible = "sagem,f@st2704v2", "brcm,bcm6328"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 15 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio0 23 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb_green { + label = "F@ST2704V2:green:usb"; + gpios = <&gpio0 1 1>; + }; + inet_red { + label = "F@ST2704V2:red:inet"; + gpios = <&gpio0 2 1>; + }; + dsl_green { + label = "F@ST2704V2:green:dsl"; + gpios = <&gpio0 3 1>; + }; + power_green { + label = "F@ST2704V2:green:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "F@ST2704V2:red:power"; + gpios = <&gpio0 5 1>; + }; + wps_green { + label = "F@ST2704V2:green:wps"; + gpios = <&gpio0 10 1>; + }; + inet_green { + label = "F@ST2704V2:green:inet"; + gpios = <&gpio0 11 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/gw6000.dts b/target/linux/brcm63xx/dts/gw6000.dts new file mode 100644 index 0000000..69424e0 --- /dev/null +++ b/target/linux/brcm63xx/dts/gw6000.dts @@ -0,0 +1,24 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TECOM GW6000"; + compatible = "tecom,gw6000", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 4 1>; + linux,code = <KEY_RESTART>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/gw6200.dts b/target/linux/brcm63xx/dts/gw6200.dts new file mode 100644 index 0000000..2bd4381 --- /dev/null +++ b/target/linux/brcm63xx/dts/gw6200.dts @@ -0,0 +1,45 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TECOM GW6200"; + compatible = "tecom,gw6200", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 4 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + line1_green { + label = "GW6200:green:line1"; + gpios = <&gpio0 4 1>; + }; + line2_green { + label = "GW6200:green:line2"; + gpios = <&gpio0 5 1>; + }; + line3_green { + label = "GW6200:green:line3"; + gpios = <&gpio0 6 1>; + }; + tel_green { + label = "GW6200:green:tel"; + gpios = <&gpio0 7 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg520v.dts b/target/linux/brcm63xx/dts/hg520v.dts new file mode 100644 index 0000000..7b6b36f --- /dev/null +++ b/target/linux/brcm63xx/dts/hg520v.dts @@ -0,0 +1,55 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG520v"; + compatible = "huawei,hg520v", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_green { + label = "HW520:green:net"; + gpios = <&gpio1 0 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg553.dts b/target/linux/brcm63xx/dts/hg553.dts new file mode 100644 index 0000000..b23ceaa --- /dev/null +++ b/target/linux/brcm63xx/dts/hg553.dts @@ -0,0 +1,94 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG553"; + compatible = "huawei,hg553", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + rfkill { + label = "rfkill"; + gpios = <&gpio0 9 1>; + linux,code = <KEY_RFKILL>; + }; + + reset { + label = "reset"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "HW553:blue:power"; + gpios = <&gpio0 4 1>; + default-state = "on"; + }; + power_red { + label = "HW553:red:power"; + gpios = <&gpio0 5 1>; + }; + hspa_red { + label = "HW553:red:hspa"; + gpios = <&gpio0 12 1>; + }; + hspa_blue { + label = "HW553:blue:hspa"; + gpios = <&gpio0 13 1>; + }; + lan_red { + label = "HW553:red:lan"; + gpios = <&gpio0 22 1>; + }; + lan_blue { + label = "HW553:blue:lan"; + gpios = <&gpio0 23 1>; + }; + wifi_red { + label = "HW553:red:wifi"; + gpios = <&gpio0 25 1>; + }; + dsl_red { + label = "HW553:red:adsl"; + gpios = <&gpio1 2 1>; + }; + dsl_blue { + label = "HW553:blue:adsl"; + gpios = <&gpio1 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg556a-a.dts b/target/linux/brcm63xx/dts/hg556a-a.dts new file mode 100644 index 0000000..98e0a83 --- /dev/null +++ b/target/linux/brcm63xx/dts/hg556a-a.dts @@ -0,0 +1,126 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version A)"; + compatible = "huawei,hg556a-a", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + help { + label = "help"; + gpios = <&gpio0 8 1>; + linux,code = <KEY_HELP>; + }; + wlan { + label = "wlan"; + gpios = <&gpio0 9 1>; + linux,code = <KEY_WLAN>; + }; + restart { + label = "restart"; + gpios = <&gpio0 10 1>; + linux,code = <KEY_RESTART>; + }; + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <KEY_CONFIG>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + message_red { + label = "HW556:red:message"; + gpios = <&gpio0 0 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&gpio0 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&gpio0 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&gpio0 3 1>; + default-state = "on"; + }; + all_red { + label = "HW556:red:all"; + gpios = <&gpio0 6 1>; + default-state = "on"; + }; + lan1_green { + label = "HW556:green:lan1"; + gpios = <&gpio0 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&gpio0 13 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&gpio0 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&gpio0 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&gpio0 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&gpio0 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&gpio0 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&gpio0 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg556a-b.dts b/target/linux/brcm63xx/dts/hg556a-b.dts new file mode 100644 index 0000000..8a19856 --- /dev/null +++ b/target/linux/brcm63xx/dts/hg556a-b.dts @@ -0,0 +1,126 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version B)"; + compatible = "huawei,hg556a-b", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + help { + label = "help"; + gpios = <&gpio0 8 1>; + linux,code = <KEY_HELP>; + }; + wlan { + label = "wlan"; + gpios = <&gpio0 9 1>; + linux,code = <KEY_WLAN>; + }; + restart { + label = "restart"; + gpios = <&gpio0 10 1>; + linux,code = <KEY_RESTART>; + }; + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <KEY_CONFIG>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + message_red { + label = "HW556:red:message"; + gpios = <&gpio0 0 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&gpio0 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&gpio0 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&gpio0 3 1>; + default-state = "on"; + }; + all_red { + label = "HW556:red:all"; + gpios = <&gpio0 6 1>; + default-state = "on"; + }; + lan1_green { + label = "HW556:green:lan1"; + gpios = <&gpio0 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&gpio0 13 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&gpio0 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&gpio0 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&gpio0 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&gpio0 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&gpio0 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&gpio0 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg556a-c.dts b/target/linux/brcm63xx/dts/hg556a-c.dts new file mode 100644 index 0000000..9798091 --- /dev/null +++ b/target/linux/brcm63xx/dts/hg556a-c.dts @@ -0,0 +1,121 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version C)"; + compatible = "huawei,hg556a-c", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + help { + label = "help"; + gpios = <&gpio0 8 1>; + linux,code = <KEY_HELP>; + }; + wlan { + label = "wlan"; + gpios = <&gpio0 9 1>; + linux,code = <KEY_WLAN>; + }; + restart { + label = "restart"; + gpios = <&gpio0 10 1>; + linux,code = <KEY_RESTART>; + }; + reset { + label = "reset"; + gpios = <&gpio0 11 1>; + linux,code = <KEY_CONFIG>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + lan1_green { + label = "HW556:green:lan1"; + gpios = <&gpio0 0 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&gpio0 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&gpio0 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&gpio0 3 1>; + default-state = "on"; + }; + message_red { + label = "HW556:red:message"; + gpios = <&gpio0 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&gpio0 13 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&gpio0 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&gpio0 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&gpio0 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&gpio0 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&gpio0 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&gpio0 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/hg655b.dts b/target/linux/brcm63xx/dts/hg655b.dts new file mode 100644 index 0000000..b7722df --- /dev/null +++ b/target/linux/brcm63xx/dts/hg655b.dts @@ -0,0 +1,112 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei HG655b"; + compatible = "huawei,hg655b", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wps { + label = "wps"; + gpios = <&gpio0 12 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + wlan { + label = "wlan"; + gpios = <&gpio0 23 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "HW65x:green:dsl"; + gpios = <&gpio0 2 1>; + }; + internet_green { + label = "HW65x:green:internet"; + gpios = <&gpio0 5 1>; + }; + lan1_green { + label = "HW65x:green:lan1"; + gpios = <&gpio0 6 1>; + }; + lan2_green { + label = "HW65x:green:lan2"; + gpios = <&gpio0 7 1>; + }; + lan3_green { + label = "HW65x:green:lan3"; + gpios = <&gpio0 8 1>; + }; + lan4_green { + label = "HW65x:green:lan4"; + gpios = <&gpio0 9 1>; + }; + usb_green { + label = "HW65x:green:usb"; + gpios = <&gpio0 14 1>; + }; + power_green { + label = "HW65x:green:power"; + gpios = <&gpio0 22 1>; + default-state = "on"; + }; + voip_green { + label = "HW65x:green:voip"; + gpios = <&gpio0 25 1>; + }; + wps_green { + label = "HW65x:green:wps"; + gpios = <&gpio0 27 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x770000>; + }; + + board_data@790000 { + label = "board_data"; + reg = <0x790000 0x030000>; + }; + + cal_data@7c0000 { + label = "cal_data"; + reg = <0x7c0000 0x020000>; + read-only; + }; + + nvram@7d0000 { + label = "nvram"; + reg = <0x7e0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/homehub2a.dts b/target/linux/brcm63xx/dts/homehub2a.dts new file mode 100644 index 0000000..9e7ce2f --- /dev/null +++ b/target/linux/brcm63xx/dts/homehub2a.dts @@ -0,0 +1,142 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Home Hub 2.0 Type A"; + compatible = "thomson,homehub2a", "brcm,bcm6358"; + + spi-gpio { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-gpio"; + + gpio-mosi = <&gpio0 7 0>; + gpio-sck = <&gpio0 6 0>; + cs-gpios = <&gpio0 5 0>; + num-chipselects = <1>; + + hc595: gpio-spi-controller@0 { + compatible = "fairchild,74hc595"; + reg = <0>; + registers-number = <2>; + spi-max-frequency = <100000>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + phone { + label = "phone"; + gpios = <&gpio0 1 1>; + linux,code = <169>; + }; + reset { + label = "reset"; + gpios = <&gpio0 9 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 11 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_red { + label = "HOMEHUB2A:red:power"; + gpios = <&hc595 0 1>; + }; + power_green { + label = "HOMEHUB2A:green:power"; + gpios = <&hc595 1 1>; + default-state = "on"; + }; + power_blue { + label = "HOMEHUB2A:blue:power"; + gpios = <&hc595 2 1>; + }; + broadband_red { + label = "HOMEHUB2A:red:broadband"; + gpios = <&hc595 3 1>; + }; + broadband_green { + label = "HOMEHUB2A:green:broadband"; + gpios = <&hc595 4 1>; + }; + broadband_blue { + label = "HOMEHUB2A:blue:broadband"; + gpios = <&hc595 5 1>; + }; + wireless_red { + label = "HOMEHUB2A:red:wireless"; + gpios = <&hc595 6 1>; + }; + wireless_green { + label = "HOMEHUB2A:green:wireless"; + gpios = <&hc595 7 1>; + }; + wireless_blue { + label = "HOMEHUB2A:blue:wireless"; + gpios = <&hc595 8 1>; + }; + phone_red { + label = "HOMEHUB2A:red:phone"; + gpios = <&hc595 9 1>; + }; + phone_green { + label = "HOMEHUB2A:green:phone"; + gpios = <&hc595 10 1>; + }; + phone_blue { + label = "HOMEHUB2A:blue:phone"; + gpios = <&hc595 11 1>; + }; + upgrading_red { + label = "HOMEHUB2A:red:upgrading"; + gpios = <&hc595 12 1>; + }; + upgrading_green { + label = "HOMEHUB2A:green:upgrading"; + gpios = <&hc595 13 1>; + }; + upgrading_blue { + label = "HOMEHUB2A:blue:upgrading"; + gpios = <&hc595 14 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/livebox-blue-5g.dts b/target/linux/brcm63xx/dts/livebox-blue-5g.dts new file mode 100644 index 0000000..bc3d403 --- /dev/null +++ b/target/linux/brcm63xx/dts/livebox-blue-5g.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Inventel Livebox 1"; + compatible = "inventel,livebox-blue-5g", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + + poll-interval = <20>; + debounce-interval = <60>; + + button1 { + label = "BTN_1"; + gpios = <&gpio1 4 1>; + linux,code = <BTN_1>; + }; + + button2 { + label = "BTN_2"; + gpios = <&gpio0 7 1>; + linux,code = <BTN_2>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + red_adsl_fail { + label = "Livebox-blue-5g:red:adsl-fail"; + gpios = <&gpio0 0 0>; + default-state = "on"; + }; + + red_adsl { + label = "Livebox-blue-5g:red:adsl-fail"; + gpios = <&gpio0 1 0>; + }; + + red_traffic { + label = "Livebox-blue-5g:red:adsl-fail"; + gpios = <&gpio0 2 0>; + }; + + red_phone { + label = "Livebox-blue-5g:red:adsl-fail"; + gpios = <&gpio0 3 0>; + }; + + red_wifi { + label = "Livebox-blue-5g:red:adsl-fail"; + gpios = <&gpio0 4 0>; + }; + }; +}; + +&pflash { + reg = <0x1e400000 0x800000>; + status = "ok"; + + linux,part-probe = "redboot"; +}; diff --git a/target/linux/brcm63xx/dts/magic.dts b/target/linux/brcm63xx/dts/magic.dts new file mode 100644 index 0000000..b923ee8 --- /dev/null +++ b/target/linux/brcm63xx/dts/magic.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Alice W-Gate"; + compatible = "telsey,magic", "brcm,bcm6348"; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "MAGIC:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + + stop { + label = "MAGIC:green:stop"; + gpios = <&gpio0 1 1>; + }; + + hpna { + label = "MAGIC:green:hpna"; + gpios = <&gpio0 4 1>; + }; + + status { + label = "MAGIC:green:adsl"; + gpios = <&gpio0 5 1>; + }; + + voip { + label = "MAGIC:green:voip"; + gpios = <&gpio0 22 1>; + }; + + wifi { + label = "MAGIC:green:wifi"; + gpios = <&gpio0 28 0>; + }; + + usb { + label = "MAGIC:green:usb"; + gpios = <&gpio1 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/nb4-fxc-r1.dts b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts new file mode 100644 index 0000000..65f26c7 --- /dev/null +++ b/target/linux/brcm63xx/dts/nb4-fxc-r1.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR Neuf Box 4 (Foxconn)"; + compatible = "sfr,nb4-fxc-r1", "brcm,bcm6358"; + + spi-gpio { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-gpio"; + + gpio-mosi = <&gpio0 7 0>; + gpio-sck = <&gpio0 6 0>; + num-chipselects = <0>; + + hc595: gpio-spi-controller@0 { + compatible = "fairchild,74hc595"; + reg = <0>; + registers-number = <1>; + spi-max-frequency = <100000>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + service { + label = "service"; + gpios = <&gpio0 27 1>; + linux,code = <BTN_0>; + }; + clip { + label = "clip"; + gpios = <&gpio0 31 1>; + linux,code = <BTN_1>; + }; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + traffic_white { + label = "NB4-FXC-r1:white:traffic"; + gpios = <&gpio0 2 0>; + }; + service_blue { + label = "NB4-FXC-r1:blue:service"; + gpios = <&gpio0 4 0>; + }; + wifi_white { + label = "NB4-FXC-r1:white:wifi"; + gpios = <&gpio0 15 0>; + }; + service_red { + label = "NB4-FXC-r1:red:service"; + gpios = <&gpio0 29 0>; + }; + service_green { + label = "NB4-FXC-r1:green:service"; + gpios = <&gpio0 30 0>; + }; + alarm_white { + label = "NB4-FXC-r1:white:alarm"; + gpios = <&hc595 0 1>; + }; + tv_white { + label = "NB4-FXC-r1:white:tv"; + gpios = <&hc595 2 1>; + }; + tel_white { + label = "NB4-FXC-r1:white:tel"; + gpios = <&hc595 3 1>; + }; + adsl_white { + label = "NB4-FXC-r0:white:adsl"; + gpios = <&hc595 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/nb4-ser-r0.dts b/target/linux/brcm63xx/dts/nb4-ser-r0.dts new file mode 100644 index 0000000..1a48b72 --- /dev/null +++ b/target/linux/brcm63xx/dts/nb4-ser-r0.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR Neuf Box 4 (Sercomm)"; + compatible = "sfr,nb4-ser-r0", "brcm,bcm6358"; + + spi-gpio { + #address-cells = <1>; + #size-cells = <1>; + compatible = "spi-gpio"; + + gpio-mosi = <&gpio0 7 0>; + gpio-sck = <&gpio0 6 0>; + num-chipselects = <0>; + + hc595: gpio-spi-controller@0 { + compatible = "fairchild,74hc595"; + reg = <0>; + registers-number = <1>; + spi-max-frequency = <100000>; + + gpio-controller; + #gpio-cells = <2>; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + service { + label = "service"; + gpios = <&gpio0 27 1>; + linux,code = <BTN_0>; + }; + clip { + label = "clip"; + gpios = <&gpio0 31 1>; + linux,code = <BTN_1>; + }; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + traffic_white { + label = "NB4-SER-r0:white:traffic"; + gpios = <&gpio0 2 1>; + }; + service_blue { + label = "NB4-SER-r0:blue:service"; + gpios = <&gpio0 4 1>; + }; + wifi_white { + label = "NB4-SER-r0:white:wifi"; + gpios = <&gpio0 15 1>; + }; + service_red { + label = "NB4-SER-r0:red:service"; + gpios = <&gpio0 29 1>; + }; + service_green { + label = "NB4-SER-r0:green:service"; + gpios = <&gpio0 30 1>; + }; + alarm_white { + label = "NB4-SER-r0:white:alarm"; + gpios = <&hc595 0 1>; + }; + tv_white { + label = "NB4-SER-r0:white:tv"; + gpios = <&hc595 2 1>; + }; + tel_white { + label = "NB4-SER-r0:white:tel"; + gpios = <&hc595 3 1>; + }; + adsl_white { + label = "NB4-SER-r0:white:adsl"; + gpios = <&hc595 4 1>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/nb6-ser-r0.dts b/target/linux/brcm63xx/dts/nb6-ser-r0.dts new file mode 100644 index 0000000..c23ff90 --- /dev/null +++ b/target/linux/brcm63xx/dts/nb6-ser-r0.dts @@ -0,0 +1,39 @@ +/dts-v1/; + +#include "bcm6362.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR neufbox 6 (Sercomm)"; + compatible = "sfr,nb6-ser-r0", "brcm,bcm6362"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + service { + label = "service"; + gpios = <&gpio0 10 1>; + linux,code = <BTN_0>; + }; + wlan { + label = "wlan"; + gpios = <&gpio0 12 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio0 24 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio0 25 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/p870hw-51a-v2.dts b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts new file mode 100644 index 0000000..606b896 --- /dev/null +++ b/target/linux/brcm63xx/dts/p870hw-51a-v2.dts @@ -0,0 +1,77 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Zyxel P870HW-51a v2"; + compatible = "zyxel,p870hw-51a-v2", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "P870HW-51a:green:power"; + gpios = <&gpio0 0 0>; + default-state = "on"; + }; + dsl_green { + label = "P870HW-51a:green:dsl"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "P870HW-51a:green:inet"; + gpios = <&gpio0 22 1>; + }; + wps_orange { + label = "P870HW-51a:orange:wps"; + gpios = <&gpio0 24 1>; + }; + inet_red { + label = "P870HW-51a:red:inet"; + gpios = <&gpio1 1 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/rg100a.dts b/target/linux/brcm63xx/dts/rg100a.dts new file mode 100644 index 0000000..503ae57 --- /dev/null +++ b/target/linux/brcm63xx/dts/rg100a.dts @@ -0,0 +1,54 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Alcatel RG100A"; + compatible = "alcatel,rg100a", "brcm,bcm6358"; + + gpio-leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&gpio0 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&gpio0 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&gpio0 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&gpio0 23 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/rta1025w.dts b/target/linux/brcm63xx/dts/rta1025w.dts new file mode 100644 index 0000000..5d0dce0 --- /dev/null +++ b/target/linux/brcm63xx/dts/rta1025w.dts @@ -0,0 +1,32 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA1025W"; + compatible = "dynalink,rta1025w", "brcm,bcm6348"; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/rta1320.dts b/target/linux/brcm63xx/dts/rta1320.dts new file mode 100644 index 0000000..c8c2827 --- /dev/null +++ b/target/linux/brcm63xx/dts/rta1320.dts @@ -0,0 +1,54 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA1320"; + compatible = "dynalink,rta1320", "brcm,bcm6338"; + + gpio-leds { + compatible = "gpio-leds"; + + green_power { + label = "RTA1320_16M:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + green_stop { + label = "RTA1320_16M:green:stop"; + gpios = <&gpio0 1 1>; + }; + green_adsl { + label = "RTA1320_16M:green:adsl"; + gpios = <&gpio0 3 1>; + }; + green_ppp { + label = "RTA1320_16M:green:ppp"; + gpios = <&gpio0 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/rta770bw.dts b/target/linux/brcm63xx/dts/rta770bw.dts new file mode 100644 index 0000000..d24334e --- /dev/null +++ b/target/linux/brcm63xx/dts/rta770bw.dts @@ -0,0 +1,70 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Siemens Gigaset SE515"; + compatible = "dynalink,rta770bw", "brcm,bcm6345"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "RTA770BW:green:usb"; + gpios = <&gpio0 7 1>; + }; + + adsl { + label = "RTA770BW:green:adsl"; + gpios = <&gpio0 8 0>; + }; + + diag { + label = "RTA770BW:green:diag"; + gpios = <&gpio0 10 1>; + }; + + wlan { + label = "RTA770BW:green:wlan"; + gpios = <&gpio0 11 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/rta770w.dts b/target/linux/brcm63xx/dts/rta770w.dts new file mode 100644 index 0000000..2c2d6fb --- /dev/null +++ b/target/linux/brcm63xx/dts/rta770w.dts @@ -0,0 +1,70 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA770W"; + compatible = "dynalink,rta770w", "brcm,bcm6345"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "RTA770W:green:usb"; + gpios = <&gpio0 7 1>; + }; + + adsl { + label = "RTA770W:green:adsl"; + gpios = <&gpio0 8 0>; + }; + + diag { + label = "RTA770W:green:diag"; + gpios = <&gpio0 10 1>; + }; + + wlan { + label = "RTA770W:green:wlan"; + gpios = <&gpio0 11 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/spw303v.dts b/target/linux/brcm63xx/dts/spw303v.dts new file mode 100644 index 0000000..2dcf752 --- /dev/null +++ b/target/linux/brcm63xx/dts/spw303v.dts @@ -0,0 +1,81 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "T-Com Speedport W303 V"; + compatible = "t-com,spw303v", "brcm,bcm6358"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 11 0>; + linux,code = <KEY_RESTART>; + }; + ses { + label = "ses"; + gpios = <&gpio1 5 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + ses_green { + label = "spw303v:green:ses"; + gpios = <&gpio0 0 1>; + }; + power_adsl_red { + label = "spw303v:red:power+adsl"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "spw303v:green:ppp"; + gpios = <&gpio0 5 1>; + }; + power_adsl_green { + label = "spw303v:green:power+adsl"; + gpios = <&gpio0 22 1>; + default-state = "on"; + }; + voip_green { + label = "spw303v:green:voip"; + gpios = <&gpio0 27 1>; + }; + pots_green { + label = "spw303v:green:pots"; + gpios = <&gpio0 31 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/spw500v.dts b/target/linux/brcm63xx/dts/spw500v.dts new file mode 100644 index 0000000..2fcf958 --- /dev/null +++ b/target/linux/brcm63xx/dts/spw500v.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "T-Com Speedport W500 V"; + compatible = "t-com,spw500v", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "SPW500V:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + power_red { + label = "SPW500V:red:power"; + gpios = <&gpio0 1 1>; + }; + ppp_green { + label = "SPW500V:green:ppp"; + gpios = <&gpio0 3 1>; + }; + pstn_green { + label = "SPW500V:green:pstn"; + gpios = <&gpio0 28 1>; + }; + voip_green { + label = "SPW500V:green:voip"; + gpios = <&gpio1 0 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/td-w8900gb.dts b/target/linux/brcm63xx/dts/td-w8900gb.dts new file mode 100644 index 0000000..a1480f6 --- /dev/null +++ b/target/linux/brcm63xx/dts/td-w8900gb.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TP-Link TD-W8900GB"; + compatible = "tp-link,td-w8900gb", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-11:green:power"; + gpios = <&gpio0 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-11:green:stop"; + gpios = <&gpio0 1 1>; + }; + adsl_fail_green { + label = "96348GW-11:green:adsl-fail"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "96348GW-11:green:ppp"; + gpios = <&gpio0 3 1>; + }; + ppp_fail_green { + label = "96348GW-11:green:ppp-fail"; + gpios = <&gpio0 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x3d0000>; + }; + + nvram@3e0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/usr9108.dts b/target/linux/brcm63xx/dts/usr9108.dts new file mode 100644 index 0000000..64a5ab3 --- /dev/null +++ b/target/linux/brcm63xx/dts/usr9108.dts @@ -0,0 +1,45 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "USRobotics 9108"; + compatible = "usr,9108", "brcm,bcm6348"; + + gpio-leds { + compatible = "gpio-leds"; + + usb { + label = "96348GW-A::usb"; + gpios = <&gpio0 0 1>; + }; + dsl { + label = "96348GW-A::adsl"; + gpios = <&gpio0 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/v2110.dts b/target/linux/brcm63xx/dts/v2110.dts new file mode 100644 index 0000000..2605339 --- /dev/null +++ b/target/linux/brcm63xx/dts/v2110.dts @@ -0,0 +1,71 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Voyager 2110"; + compatible = "bt,v2110", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 1 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "V2110:green:power"; + gpios = <&gpio0 0 1>; + }; + power_red { + label = "V2110:red:power"; + gpios = <&gpio0 1 1>; + }; + adsl_green { + label = "V2110:green:adsl"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "V2110:green:ppp"; + gpios = <&gpio0 3 1>; + }; + wireless_green { + label = "V2110:green:wireless"; + gpios = <&gpio0 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/v2500v-bb.dts b/target/linux/brcm63xx/dts/v2500v-bb.dts new file mode 100644 index 0000000..5a9223f --- /dev/null +++ b/target/linux/brcm63xx/dts/v2500v-bb.dts @@ -0,0 +1,71 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Voyager V2500V"; + compatible = "bt,v2500v-bb", "brcm,bcm6348"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio0 31 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power_green { + label = "V2500V_BB:green:power"; + gpios = <&gpio0 0 1>; + }; + power_red { + label = "V2500V_BB:red:power"; + gpios = <&gpio0 1 1>; + }; + adsl_green { + label = "V2500V_BB:green:adsl"; + gpios = <&gpio0 2 1>; + }; + ppp_green { + label = "V2500V_BB:green:ppp"; + gpios = <&gpio0 3 1>; + }; + wireless_green { + label = "V2500V_BB:green:wireless"; + gpios = <&gpio0 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/vg50.dts b/target/linux/brcm63xx/dts/vg50.dts new file mode 100644 index 0000000..f95fa95 --- /dev/null +++ b/target/linux/brcm63xx/dts/vg50.dts @@ -0,0 +1,30 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Inteno VG50"; + compatible = "inteno,vg50", "brcm,bcm63268"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 0 0>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio1 2 0>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; +}; diff --git a/target/linux/brcm63xx/dts/vr-3025u.dts b/target/linux/brcm63xx/dts/vr-3025u.dts new file mode 100644 index 0000000..b24b590 --- /dev/null +++ b/target/linux/brcm63xx/dts/vr-3025u.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3025u"; + compatible = "comtrend,vr-3025u", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3025u:green:dsl"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "VR-3025u:green:inet"; + gpios = <&gpio0 5 0>; + }; + lan1_green { + label = "VR-3025u:green:lan1"; + gpios = <&gpio0 6 1>; + }; + lan2_green { + label = "VR-3025u:green:lan2"; + gpios = <&gpio0 7 1>; + }; + lan3_green { + label = "VR-3025u:green:lan3"; + gpios = <&gpio0 8 1>; + }; + lan4_green { + label = "VR-3025u:green:lan4"; + gpios = <&gpio0 9 1>; + }; + power_green { + label = "VR-3025u:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3025u:red:power"; + gpios = <&gpio0 24 0>; + }; + inet_red { + label = "VR-3025u:red:inet"; + gpios = <&gpio0 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x0020000 0x1fc0000>; + }; + + nvram@1fe0000 { + label = "nvram"; + reg = <0x1fe0000 0x020000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/vr-3025un.dts b/target/linux/brcm63xx/dts/vr-3025un.dts new file mode 100644 index 0000000..124045f --- /dev/null +++ b/target/linux/brcm63xx/dts/vr-3025un.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3025un"; + compatible = "comtrend,vr-3025un", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3025un:green:dsl"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "VR-3025un:green:inet"; + gpios = <&gpio0 5 0>; + }; + lan1_green { + label = "VR-3025un:green:lan1"; + gpios = <&gpio0 6 1>; + }; + lan2_green { + label = "VR-3025un:green:lan2"; + gpios = <&gpio0 7 1>; + }; + lan3_green { + label = "VR-3025un:green:lan3"; + gpios = <&gpio0 8 1>; + }; + iptv_green { + label = "VR-3025un:green:iptv"; + gpios = <&gpio0 9 1>; + }; + power_green { + label = "VR-3025un:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3025un:red:power"; + gpios = <&gpio0 24 0>; + }; + inet_red { + label = "VR-3025un:red:inet"; + gpios = <&gpio0 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/vr-3026e.dts b/target/linux/brcm63xx/dts/vr-3026e.dts new file mode 100644 index 0000000..49790e2 --- /dev/null +++ b/target/linux/brcm63xx/dts/vr-3026e.dts @@ -0,0 +1,88 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3026e"; + compatible = "comtrend,vr-3026e", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3026e:green:dsl"; + gpios = <&gpio0 2 1>; + }; + inet_green { + label = "VR-3026e:green:inet"; + gpios = <&gpio0 5 0>; + }; + lan1_green { + label = "VR-3026e:green:lan1"; + gpios = <&gpio0 6 1>; + }; + lan2_green { + label = "VR-3026e:green:lan2"; + gpios = <&gpio0 7 1>; + }; + lan3_green { + label = "VR-3026e:green:lan3"; + gpios = <&gpio0 8 1>; + }; + lan4_green { + label = "VR-3026e:green:lan4"; + gpios = <&gpio0 9 1>; + }; + power_green { + label = "VR-3026e:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3026e:red:power"; + gpios = <&gpio0 24 0>; + }; + inet_red { + label = "VR-3026e:red:inet"; + gpios = <&gpio0 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; diff --git a/target/linux/brcm63xx/dts/wap-5813n.dts b/target/linux/brcm63xx/dts/wap-5813n.dts new file mode 100644 index 0000000..1c31c57 --- /dev/null +++ b/target/linux/brcm63xx/dts/wap-5813n.dts @@ -0,0 +1,82 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend WAP-5813n"; + compatible = "comtrend,wap-5813n", "brcm,bcm6368"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + debounce-interval = <60>; + + wlan { + label = "wlan"; + gpios = <&gpio1 0 1>; + linux,code = <KEY_WLAN>; + }; + reset { + label = "reset"; + gpios = <&gpio1 2 1>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio1 3 1>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + inet_green { + label = "WAP-5813n:green:inet"; + gpios = <&gpio0 5 0>; + }; + power_green { + label = "WAP-5813n:green:power"; + gpios = <&gpio0 22 0>; + default-state = "on"; + }; + wps_green { + label = "WAP-5813n:green:wps"; + gpios = <&gpio0 23 1>; + }; + power_red { + label = "WAP-5813n:red:power"; + gpios = <&gpio0 24 0>; + }; + inet_red { + label = "WAP-5813n:red:inet"; + gpios = <&gpio0 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + linux,part-probe = "bcm63xxpart"; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; +}; |