diff options
Diffstat (limited to 'target/linux/bcm63xx/dts')
99 files changed, 10284 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/dts/bcm3368-netgear-cvg834g.dts b/target/linux/bcm63xx/dts/bcm3368-netgear-cvg834g.dts new file mode 100644 index 0000000000..2b25d009b3 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm3368-netgear-cvg834g.dts @@ -0,0 +1,60 @@ +/dts-v1/; + +#include "bcm3368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear CVG834G"; + compatible = "netgear,cvg834g", "brcm,bcm3368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "CVG834G:green:power"; + gpios = <&gpio1 5 0>; + default-state = "on"; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; + +&uart1 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm3368.dtsi b/target/linux/bcm63xx/dts/bcm3368.dtsi new file mode 100644 index 0000000000..66cb6ab8a8 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm3368.dtsi @@ -0,0 +1,133 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm3368"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + gpio1 = &gpio1; + serial0 = &uart0; + serial1 = &uart1; + spi0 = &lsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + periph_intc: interrupt-controller@fff8c00c { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0xfff8c00c 0x8>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + ext_intc0: interrupt-controller@fff8c014 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfff8c014 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + 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>; + }; + + uart0: serial@fff8c100 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfff8c100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@fff8c120 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfff8c120 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <3>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@fff8c800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-spi"; + reg = <0xfff8c800 0x70c>; + interrupts = <1>; + /* clocks = <&clkctl 9>; */ + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm63168-sky-sr102.dts b/target/linux/bcm63xx/dts/bcm63168-sky-sr102.dts new file mode 100644 index 0000000000..e47822af89 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63168-sky-sr102.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SKY SR102"; + compatible = "sky,sr102", "brcm,bcm63168", "brcm,bcm63268"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 33 0>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + lan1_green { + label = "SR102:green:lan1"; + gpios = <&pinctrl 1 1>; + }; + power_red { + label = "SR102:red:power"; + gpios = <&pinctrl 2 1>; + }; + wifi_red { + label = "SR102:red:wifi"; + gpios = <&pinctrl 3 1>; + }; + inet_red { + label = "SR102:red:inet"; + gpios = <&pinctrl 4 1>; + }; + inet_white { + label = "SR102:white:inet"; + gpios = <&pinctrl 5 0>; + }; + power_white { + label = "SR102:white:power"; + gpios = <&pinctrl 6 0>; + default-state = "on"; + }; + wifi_white { + label = "SR102:white:wifi"; + gpios = <&pinctrl 8 0>; + }; + lan2_red { + label = "SR102:red:lan2"; + gpios = <&pinctrl 9 1>; + }; + lan3_red { + label = "SR102:red:lan3"; + gpios = <&pinctrl 10 1>; + }; + lan4_red { + label = "SR102:red:lan4"; + gpios = <&pinctrl 11 1>; + }; + lan1_red { + label = "SR102:red:lan1"; + gpios = <&pinctrl 12 1>; + }; + lan2_green { + label = "SR102:green:lan2"; + gpios = <&pinctrl 13 0>; + }; + lan3_green { + label = "SR102:green:lan3"; + gpios = <&pinctrl 14 1>; + }; + lan4_green { + label = "SR102:green:lan4"; + gpios = <&pinctrl 15 1>; + }; + hd_white { + label = "SR102:white:hd"; + gpios = <&pinctrl 18 0>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref-p300.dts b/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref-p300.dts new file mode 100644 index 0000000000..4edab6418c --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref-p300.dts @@ -0,0 +1,89 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96318REF_P300 reference board"; + compatible = "brcm,bcm96318ref-p300", "brcm,bcm6318"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet { + label = "96318REF_P300:green:inet"; + gpios = <&pinctrl 8 1>; + }; + + inet_fail { + label = "96318REF_P300:red:inet-fail"; + gpios = <&pinctrl 9 1>; + }; + + post_failed { + label = "96318REF_P300:red:post-failed"; + gpios = <&pinctrl 11 1>; + }; + + usb_pwron { + label = "96318REF_P300::usb-pwron"; + gpios = <&pinctrl 13 1>; + default-state = "on"; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <62500000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_pwron>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref.dts b/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref.dts new file mode 100644 index 0000000000..f6136b5886 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318-brcm-bcm96318ref.dts @@ -0,0 +1,83 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96318REF reference board"; + compatible = "brcm,bcm96318ref", "brcm,bcm6318"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet { + label = "96318REF:green:inet"; + gpios = <&pinctrl 8 1>; + }; + + inet_fail { + label = "96318REF:red:inet-fail"; + gpios = <&pinctrl 9 1>; + }; + + post_failed { + label = "96318REF:red:post-failed"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <62500000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_pwron>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318-comtrend-ar-5315u.dts b/target/linux/bcm63xx/dts/bcm6318-comtrend-ar-5315u.dts new file mode 100644 index 0000000000..d1085e7eed --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318-comtrend-ar-5315u.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend AR-5315u"; + compatible = "comtrend,ar-5315u", "brcm,bcm6318"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 3 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + wps_green { + label = "AR-5315u:green:wps"; + gpios = <&pinctrl 0 1>; + }; + power_green { + label = "AR-5315u:green:power"; + gpios = <&pinctrl 1 1>; + default-state = "on"; + }; + usb_green { + label = "AR-5315u:green:usb"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "AR-5315u:green:inet"; + gpios = <&pinctrl 8 1>; + }; + inet_red { + label = "AR-5315u:red:inet"; + gpios = <&pinctrl 9 1>; + }; + dsl_green { + label = "AR-5315u:green:dsl"; + gpios = <&pinctrl 10 1>; + }; + power_red { + label = "AR-5315u:red:power"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <62500000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ephy0_act_led &pinctrl_ephy1_act_led + &pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318-d-link-dsl-275xb-d1.dts b/target/linux/bcm63xx/dts/bcm6318-d-link-dsl-275xb-d1.dts new file mode 100644 index 0000000000..cf5b296cb7 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318-d-link-dsl-275xb-d1.dts @@ -0,0 +1,133 @@ +/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-d1", "brcm,bcm6318"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wifi { + label = "wifi"; + gpios = <&pinctrl 2 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "dsl-275xb:green:power"; + gpios = <&pinctrl 3 1>; + default-state = "on"; + }; + + inet_green { + label = "dsl-275xb:green:inet"; + gpios = <&pinctrl 8 1>; + }; + + inet_red { + label = "dsl-275xb:red:inet-fail"; + gpios = <&pinctrl 9 1>; + }; + + power_red { + label = "dsl-275xb:red:post-failed"; + gpios = <&pinctrl 11 1>; + }; + + wps_blue { + label = "dsl-275xb:blue:wps"; + gpios = <&pinctrl 16 1>; + }; + + dsl_green { + label = "dsl-275xb:green:dsl"; + gpios = <&pinctrl 17 1>; + }; + + usb_green { + /* not user controllable? */ + label = "dsl-275xb:green:usb"; + gpios = <&pinctrl 49 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <62500000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + + pinctrl-0 = <&pinctrl_ephy0_act_led &pinctrl_ephy1_act_led + &pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318-sagem-fast-2704n.dts b/target/linux/bcm63xx/dts/bcm6318-sagem-fast-2704n.dts new file mode 100644 index 0000000000..f09310e2bb --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318-sagem-fast-2704n.dts @@ -0,0 +1,135 @@ +/dts-v1/; + +#include "bcm6318.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@st 2704N"; + compatible = "sagem,fast-2704n", "brcm,bcm6318"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wlan { + label = "wlan"; + gpios = <&pinctrl 1 0>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + wps_green { + label = "F@ST2704N:green:wps"; + gpios = <&pinctrl 2 1>; + }; + lan1_green { + label = "F@ST2704N:green:lan1"; + gpios = <&pinctrl 4 1>; + }; + lan2_green { + label = "F@ST2704N:green:lan2"; + gpios = <&pinctrl 5 1>; + }; + lan3_green { + label = "F@ST2704N:green:lan3"; + gpios = <&pinctrl 6 1>; + }; + lan4_green { + label = "F@ST2704N:green:lan4"; + gpios = <&pinctrl 7 1>; + }; + inet_green { + label = "F@ST2704N:green:inet"; + gpios = <&pinctrl 8 1>; + }; + inet_red { + label = "F@ST2704N:red:inet"; + gpios = <&pinctrl 9 1>; + }; + dsl_green { + label = "F@ST2704N:green:dsl"; + gpios = <&pinctrl 10 1>; + }; + power_red { + label = "F@ST2704N:red:power"; + gpios = <&pinctrl 11 1>; + }; + power_green { + label = "F@ST2704N:green:power"; + gpios = <&pinctrl 47 1>; + default-state = "on"; + }; + usb_green { + label = "F@ST2704N:green:usb"; + gpios = <&pinctrl 49 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <62500000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6318.dtsi b/target/linux/bcm63xx/dts/bcm6318.dtsi new file mode 100644 index 0000000000..a902c1bd57 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6318.dtsi @@ -0,0 +1,200 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6318"; + + aliases { + pinctrl = &pinctrl; + serial0 = &uart0; + spi1 = &hsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6318-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <24>, <25>, <26>, <27>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0x10000020 0x20>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + pinctrl: pin-controller@10000080 { + compatible = "brcm,bcm6318-pinctrl"; + reg = <0x10000080 0x08>, + <0x10000088 0x08>, + <0x10000098 0x04>, + <0x1000009c 0x0c>, + <0x100000d4 0x18>; + reg-names = "dirout", "dat", "mode", "mux", "pad"; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>; + interrupt-names = "gpio33", "gpio34"; + + pinctrl_ephy0_spd_led: ephy0_spd_led { + function = "ephy0_spd_led"; + pins = "gpio0"; + }; + + pinctrl_ephy1_spd_led: ephy1_spd_led { + function = "ephy1_spd_led"; + pins = "gpio1"; + }; + + pinctrl_ephy2_spd_led: ephy2_spd_led { + function = "ephy2_spd_led"; + pins = "gpio2"; + }; + + pinctrl_ephy3_spd_led: ephy3_spd_led { + function = "ephy3_spd_led"; + pins = "gpio3"; + }; + + pinctrl_ephy0_act_led: ephy0_act_led { + function = "ephy0_act_led"; + pins = "gpio4"; + }; + + pinctrl_ephy1_act_led: ephy1_act_led { + function = "ephy1_act_led"; + pins = "gpio5"; + }; + + pinctrl_ephy2_act_led: ephy2_act_led { + function = "ephy2_act_led"; + pins = "gpio6"; + }; + + pinctrl_ephy3_act_led: ephy3_act_led { + function = "ephy3_act_led"; + pins = "gpio7"; + }; + + pinctrl_serial_led: serial_led { + pinctrl_serial_led_data: serial_led_data { + function = "serial_led_data"; + pins = "gpio6"; + }; + + pinctrl_serial_led_clk: serial_led_clk { + function = "serial_led_clk"; + pins = "gpio7"; + }; + }; + + pinctrl_inet_act_led: inet_act_led { + function = "inet_act_led"; + pins = "gpio8"; + }; + + pinctrl_inet_fail_led: inet_fail_led { + function = "inet_fail_led"; + pins = "gpio9"; + }; + + pinctrl_dsl_led: dsl_led { + function = "dsl_led"; + pins = "gpio10"; + }; + + pinctrl_post_fail_led: post_fail_led { + function = "post_fail_led"; + pins = "gpio11"; + }; + + pinctrl_wlan_wps_led: wlan_wps_led { + function = "wlan_wps_led"; + pins = "gpio12"; + }; + + pinctrl_usb_pwron: usb_pwron { + function = "usb_pwron"; + pins = "gpio13"; + }; + + pinctrl_usb_device_led: usb_device_led { + function = "usb_device_led"; + pins = "gpio13"; + }; + + pinctrl_usb_active: usb_active { + function = "usb_active"; + pins = "gpio40"; + }; + }; + + uart0: serial@10000100 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <28>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + leds: led-controller@10000200 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-leds"; + reg = <0x10000200 0x24>; + status = "disabled"; + }; + + hsspi: spi@10003000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-hsspi"; + reg = <0x10003000 0x600>; + interrupts = <29>; + /* clocks = <&clkctl 25>; */ + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm63268-brcm-bcm963268bu-p300.dts b/target/linux/bcm63xx/dts/bcm63268-brcm-bcm963268bu-p300.dts new file mode 100644 index 0000000000..b4176885ed --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63268-brcm-bcm963268bu-p300.dts @@ -0,0 +1,59 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM963268BU_P300 reference board"; + compatible = "brcm,bcm963268bu-p300", "brcm,bcm63268"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 32 0>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 33 0>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63268-inteno-vg50.dts b/target/linux/bcm63xx/dts/bcm63268-inteno-vg50.dts new file mode 100644 index 0000000000..dbbea13f1b --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63268-inteno-vg50.dts @@ -0,0 +1,59 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Inteno VG50"; + compatible = "inteno,vg50", "brcm,bcm63268"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 32 0>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 34 0>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm63268.dtsi b/target/linux/bcm63xx/dts/bcm63268.dtsi new file mode 100644 index 0000000000..1b4b3e6178 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63268.dtsi @@ -0,0 +1,250 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm63268"; + + aliases { + pinctrl = &pinctrl; + serial0 = &uart0; + serial1 = &uart1; + spi0 = &lsspi; + spi1 = &hsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <44>, <45>, <46>, <47>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0x10000020 0x20>, + <0x10000040 0x20>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + pinctrl: pin-controller@100000c0 { + compatible = "brcm,bcm63268-pinctrl"; + reg = <0x100000c0 0x8>, + <0x100000c8 0x8>, + <0x100000d0 0x4>, + <0x100000d8 0x4>, + <0x100000dc 0x4>, + <0x100000f8 0x4>; + reg-names = "dirout", "dat", "led", "mode", + "ctrl", "basemode"; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-parent = <&periph_intc>; + interrupts = <0 0>, <1 0>, <2 0>, <3 0>; + interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35"; + + pinctrl_serial_led: serial_led { + pinctrl_serial_led_clk: serial_led_clk { + function = "serial_led_clk"; + pins = "gpio0"; + }; + + pinctrl_serial_led_data: serial_led_data { + function = "serial_led_data"; + pins = "gpio1"; + }; + }; + + pinctrl_hsspi_cs4: hsspi_cs4 { + function = "hsspi_cs4"; + pins = "gpio16"; + }; + + pinctrl_hsspi_cs5: hsspi_cs5 { + function = "hsspi_cs5"; + pins = "gpio17"; + }; + + pinctrl_hsspi_cs6: hsspi_cs6 { + function = "hsspi_cs6"; + pins = "gpio8"; + }; + + pinctrl_hsspi_cs7: hsspi_cs7 { + function = "hsspi_cs7"; + pins = "gpio9"; + }; + + pinctrl_adsl_spi: adsl_spi { + pinctrl_adsl_spi_miso: adsl_spi_miso { + function = "adsl_spi_miso"; + pins = "gpio18"; + }; + + pinctrl_adsl_spi_mosi: adsl_spi_mosi { + function = "adsl_spi_mosi"; + pins = "gpio19"; + }; + }; + + pinctrl_vreq_clk: vreq_clk { + function = "vreq_clk"; + pins = "gpio22"; + }; + + pinctrl_pcie_clkreq_b: pcie_clkreq_b { + function = "pcie_clkreq_b"; + pins = "gpio23"; + }; + + pinctrl_robosw_led_clk: robosw_led_clk { + function = "robosw_led_clk"; + pins = "gpio30"; + }; + + pinctrl_robosw_led_data: robosw_led_data { + function = "robosw_led_data"; + pins = "gpio31"; + }; + + pinctrl_nand: nand { + function = "nand"; + group = "nand_grp"; + }; + + pinctrl_gpio35_alt: gpio35_alt { + function = "gpio35_alt"; + pin = "gpio35"; + }; + + pinctrl_dectpd: dectpd { + function = "dectpd"; + group = "dectpd_grp"; + }; + + pinctrl_vdsl_phy_override_0: vdsl_phy_override_0 { + function = "vdsl_phy_override_0"; + group = "vdsl_phy_override_0_grp"; + }; + + pinctrl_vdsl_phy_override_1: vdsl_phy_override_1 { + function = "vdsl_phy_override_1"; + group = "vdsl_phy_override_1_grp"; + }; + + pinctrl_vdsl_phy_override_2: vdsl_phy_override_2 { + function = "vdsl_phy_override_2"; + group = "vdsl_phy_override_2_grp"; + }; + + pinctrl_vdsl_phy_override_3: vdsl_phy_override_3 { + function = "vdsl_phy_override_3"; + group = "vdsl_phy_override_3_grp"; + }; + + pinctrl_dsl_gpio8: dsl_gpio8 { + function = "dsl_gpio8"; + group = "dsl_gpio8"; + }; + + pinctrl_dsl_gpio9: dsl_gpio9 { + function = "dsl_gpio9"; + group = "dsl_gpio9"; + }; + }; + + uart0: serial@10000180 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000180 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <5>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@100001a0 { + compatible = "brcm,bcm6345-uart"; + reg = <0x100001a0 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <34>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@10000800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-spi"; + reg = <0x10000800 0x70c>; + interrupts = <80>; + /* clocks = <&clkctl 15>; */ + }; + + hsspi: spi@10001000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-hsspi"; + reg = <0x10001000 0x600>; + interrupts = <6>; + /* clocks = <&clkctl 16>; */ + }; + + leds: led-controller@10001900 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-leds"; + reg = <0x10001900 0x24>; + status = "disabled"; + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm63269-brcm-bcm963269bhr.dts b/target/linux/bcm63xx/dts/bcm63269-brcm-bcm963269bhr.dts new file mode 100644 index 0000000000..bcd2286cf9 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm63269-brcm-bcm963269bhr.dts @@ -0,0 +1,66 @@ +/dts-v1/; + +#include "bcm63268.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM963269BHR reference board"; + compatible = "brcm,bcm963269bhr", "brcm,bcm63269", "brcm,bcm63268"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 32 0>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + usb1 { + label = "963269BHR:green:usb1"; + gpios = <&pinctrl 9 1>; + }; + + usb2 { + label = "963269BHR:green:usb2"; + gpios = <&pinctrl 10 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-adb-a4001n.dts b/target/linux/bcm63xx/dts/bcm6328-adb-a4001n.dts new file mode 100644 index 0000000000..814274b611 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-adb-a4001n.dts @@ -0,0 +1,101 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG A4001N"; + compatible = "adb,a4001n", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_red { + label = "A4001N:red:inet"; + gpios = <&pinctrl 1 0>; + }; + power_red { + label = "A4001N:red:power"; + gpios = <&pinctrl 4 0>; + }; + power_green { + label = "A4001N:green:power"; + gpios = <&pinctrl 8 0>; + default-state = "on"; + }; + usb_green { + label = "A4001N:green:usb"; + gpios = <&pinctrl 10 1>; + }; + dsl_green { + label = "A4001N:green:dsl"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-adb-a4001n1.dts b/target/linux/bcm63xx/dts/bcm6328-adb-a4001n1.dts new file mode 100644 index 0000000000..e58f865589 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-adb-a4001n1.dts @@ -0,0 +1,132 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG A4001N1"; + compatible = "adb,a4001n1", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wlan"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_red { + label = "A4001N1:red:inet"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "A4001N1:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "A4001N1:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + ppp_red { + label = "A4001N1:red:ppp"; + gpios = <&pinctrl 5 1>; + }; + usb_green { + label = "A4001N1:green:3g"; + gpios = <&pinctrl 6 1>; + }; + usb_red { + label = "A4001N1:red:3g"; + gpios = <&pinctrl 7 1>; + }; + power_red { + label = "A4001N1:red:power"; + gpios = <&pinctrl 8 1>; + }; + wlan_green { + label = "A4001N1:green:wlan"; + gpios = <&pinctrl 9 1>; + }; + wlan_red { + label = "A4001N1:red:wlan"; + gpios = <&pinctrl 10 1>; + }; + inet_green { + label = "A4001N1:green:inet"; + gpios = <&pinctrl 11 1>; + }; + eth_red { + label = "A4001N1:red:eth"; + gpios = <&pinctrl 20 1>; + }; + eth_green { + label = "A4001N1:green:eth"; + gpios = <&pinctrl 31 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-brcm-bcm963281tan.dts b/target/linux/bcm63xx/dts/bcm6328-brcm-bcm963281tan.dts new file mode 100644 index 0000000000..6fbac7d461 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-brcm-bcm963281tan.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom bcm963281TAN reference board"; + compatible = "brcm,bcm963281tan", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + inet { + label = "963281TAN::internet"; + gpios = <&pinctrl 1 1>; + }; + power { + label = "963281TAN::power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + inet_fail { + label = "963281TAN::internet-fail"; + gpios = <&pinctrl 7 1>; + }; + power_fail { + label = "963281TAN::power-fail"; + gpios = <&pinctrl 8 1>; + }; + wps { + label = "963281TAN::wps"; + gpios = <&pinctrl 9 1>; + }; + dsl { + label = "963281TAN::dsl"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-brcm-bcm96328avng.dts b/target/linux/bcm63xx/dts/bcm6328-brcm-bcm96328avng.dts new file mode 100644 index 0000000000..a0a6c9ec54 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-brcm-bcm96328avng.dts @@ -0,0 +1,73 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96328avng reference board"; + compatible = "brcm,bcm96328avng", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + inet_fail { + label = "96328avng::internet-fail"; + gpios = <&pinctrl 2 1>; + }; + dsl { + label = "96328avng::dsl"; + gpios = <&pinctrl 3 1>; + }; + power { + label = "96328avng::power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_fail { + label = "96328avng::power-fail"; + gpios = <&pinctrl 8 1>; + }; + wps { + label = "96328avng::wps"; + gpios = <&pinctrl 9 1>; + }; + inet { + label = "96328avng::internet"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb_port1_device>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5381u.dts b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5381u.dts new file mode 100644 index 0000000000..e336024913 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5381u.dts @@ -0,0 +1,89 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend AR-5381u"; + compatible = "comtrend,ar-5381u", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + alarm_red { + label = "AR-5381u:red:alarm"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "AR-5381u:green:inet"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "AR-5381u:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts new file mode 100644 index 0000000000..209eda37f4 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-comtrend-ar-5387un.dts @@ -0,0 +1,97 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend AR-5387un"; + compatible = "comtrend,ar-5387un", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_red { + label = "AR-5387un:red:inet"; + gpios = <&pinctrl 1 0>; + }; + power_red { + label = "AR-5387un:red:power"; + gpios = <&pinctrl 4 0>; + }; + inet_green { + label = "AR-5387un:green:inet"; + gpios = <&pinctrl 7 0>; + }; + power_green { + label = "AR-5387un:green:power"; + gpios = <&pinctrl 8 0>; + default-state = "on"; + }; + dsl_green { + label = "AR-5387un:green:dsl"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-d-link-dsl-274xb-f1.dts b/target/linux/bcm63xx/dts/bcm6328-d-link-dsl-274xb-f1.dts new file mode 100644 index 0000000000..f3fab05062 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-d-link-dsl-274xb-f1.dts @@ -0,0 +1,121 @@ +/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-f1", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wifi { + label = "wifi"; + gpios = <&pinctrl 10 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_red { + label = "dsl-274xb:red:internet"; + gpios = <&pinctrl 2 1>; + }; + dsl_green { + label = "dsl-274xb:green:dsl"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "dsl-274xb:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "dsl-274xb:red:power"; + gpios = <&pinctrl 8 1>; + }; + wps_blue { + label = "dsl-274xb:blue:wps"; + gpios = <&pinctrl 9 1>; + }; + inet_green { + label = "dsl-274xb:green:internet"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7c0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + cal_data@7d0000 { + reg = <0x7d0000 0x010000>; + label = "cal_data"; + read-only; + }; + + nvram@7e0000 { + reg = <0x7e0000 0x020000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts b/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts new file mode 100644 index 0000000000..5084bd8877 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-nucom-r5010un-v2.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "NuCom R5010UN v2"; + compatible = "nucom,r5010un-v2", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_green { + label = "R5010UNv2:green:inet"; + gpios = <&pinctrl 1 1>; + }; + inet_fail_red { + label = "R5010UNv2:red:inet-fail"; + gpios = <&pinctrl 2 1>; + }; + dsl_red { + label = "R5010UNv2:green:dsl"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "R5010UNv2:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_fail_red { + label = "R5010UNv2:red:power-fail"; + gpios = <&pinctrl 5 1>; + }; + wps_green { + label = "R5010UNv2:green:wps"; + gpios = <&pinctrl 10 1>; + }; + usb_green { + label = "R5010UNv2:green:usb"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-sagem-fast-2704-v2.dts b/target/linux/bcm63xx/dts/bcm6328-sagem-fast-2704-v2.dts new file mode 100644 index 0000000000..d00d8fb4e5 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-sagem-fast-2704-v2.dts @@ -0,0 +1,119 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@st 2704 V2"; + compatible = "sagem,fast-2704-v2", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + rfkill { + label = "rfkill"; + gpios = <&pinctrl 15 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + usb_green { + label = "F@ST2704V2:green:usb"; + gpios = <&pinctrl 1 1>; + }; + inet_red { + label = "F@ST2704V2:red:inet"; + gpios = <&pinctrl 2 1>; + }; + dsl_green { + label = "F@ST2704V2:green:dsl"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "F@ST2704V2:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "F@ST2704V2:red:power"; + gpios = <&pinctrl 5 1>; + }; + wps_green { + label = "F@ST2704V2:green:wps"; + gpios = <&pinctrl 10 1>; + }; + inet_green { + label = "F@ST2704V2:green:inet"; + gpios = <&pinctrl 11 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328-sercomm-ad1018-nor.dts b/target/linux/bcm63xx/dts/bcm6328-sercomm-ad1018-nor.dts new file mode 100644 index 0000000000..36899a4cc0 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328-sercomm-ad1018-nor.dts @@ -0,0 +1,146 @@ +/dts-v1/; + +#include "bcm6328.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sercomm AD1018 (SPI flash mod)"; + compatible = "sercomm,ad1018-nor", "brcm,bcm6328"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + wifi { + label = "wifi"; + gpios = <&pinctrl 25 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 31 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; +}; + +&pinctrl { + pinctrl_leds: leds { + function = "led"; + pins = "gpio0", "gpio1"; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_leds &pinctrl_serial_led + &pinctrl_ephy0_spd_led &pinctrl_ephy1_act_led + &pinctrl_ephy2_act_led &pinctrl_ephy3_act_led>; + + brcm,serial-leds; + brcm,serial-shift-inv; + brcm,serial-dat-low; + + inet_red@0 { + reg = <0>; + active-low; + label = "AD1018:red:internet"; + }; + + inet_green@1 { + reg = <1>; + active-low; + label = "AD1018:green:internet"; + }; + + power_green@8 { + reg = <8>; + active-low; + label = "AD1018:green:power"; + default-state = "on"; + }; + + adsl_green@10 { + reg = <10>; + active-low; + label = "AD1018:green:adsl"; + }; + + adsl_red@11 { + reg = <11>; + active-low; + label = "AD1018:red:adsl"; + }; + + phone_green@12 { + reg = <12>; + active-low; + label = "AD1018:green:phone"; + }; + + wps_green@13 { + reg = <13>; + active-low; + label = "AD1018:green:wps"; + }; + + wifi_green@14 { + reg = <14>; + active-low; + label = "AD1018:green:wifi"; + }; + + usb_green@15 { + reg = <15>; + active-low; + label = "AD1018:green:usb"; + }; + + ephy0_spd@17 { + reg = <17>; + brcm,hardware-controlled; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <16666667>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6328.dtsi b/target/linux/bcm63xx/dts/bcm6328.dtsi new file mode 100644 index 0000000000..d08b6bab7a --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6328.dtsi @@ -0,0 +1,199 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6328"; + + aliases { + pinctrl = &pinctrl; + serial0 = &uart0; + serial1 = &uart1; + spi1 = &hsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <24>, <25>, <26>, <27>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0x10000020 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>; + }; + + pinctrl: pin-controller@10000080 { + compatible = "brcm,bcm6328-pinctrl"; + reg = <0x10000080 0x8>, + <0x10000088 0x8>, + <0x10000098 0x4>, + <0x1000009c 0xc>; + reg-names = "dirout", "dat", "mode", "mux"; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <3 0>, <2 0>, <0 0>, <1 0>; + interrupt-names = "gpio12", "gpio15", + "gpio23", "gpio24"; + + pinctrl_serial_led: serial_led { + pinctrl_serial_led_data: serial_led_data { + function = "serial_led_data"; + pins = "gpio6"; + }; + + pinctrl_serial_led_clk: serial_led_clk { + function = "serial_led_clk"; + pins = "gpio7"; + }; + }; + + pinctrl_inet_act_led: inet_act_led { + function = "inet_act_led"; + pins = "gpio11"; + }; + + pinctrl_pcie_clkreq: pcie_clkreq { + function = "pcie_clkreq"; + pins = "gpio16"; + }; + + pinctrl_ephy0_spd_led: ephy0_spd_led { + function = "led"; + pins = "gpio17"; + }; + + pinctrl_ephy1_spd_led: ephy1_spd_led { + function = "led"; + pins = "gpio18"; + }; + + pinctrl_ephy2_spd_led: ephy2_spd_led { + function = "led"; + pins = "gpio19"; + }; + + pinctrl_ephy3_spd_led: ephy3_spd_led { + function = "led"; + pins = "gpio20"; + }; + + pinctrl_ephy0_act_led: ephy0_act_led { + function = "ephy0_act_led"; + pins = "gpio25"; + }; + + pinctrl_ephy1_act_led: ephy1_act_led { + function = "ephy1_act_led"; + pins = "gpio26"; + }; + + pinctrl_ephy2_act_led: ephy2_act_led { + function = "ephy2_act_led"; + pins = "gpio27"; + }; + + pinctrl_ephy3_act_led: ephy3_act_led { + function = "ephy3_act_led"; + pins = "gpio28"; + }; + + pinctrl_hsspi_cs1: hsspi_cs1 { + function = "hsspi_cs1"; + pins = "hsspi_cs1"; + }; + + pinctrl_usb_port1_device: usb_port1_device { + function = "usb_device_port"; + pins = "usb_port1"; + }; + + pinctrl_usb_port1_host: usb_port1_host { + function = "usb_host_port"; + pins = "usb_port1"; + }; + }; + + uart0: serial@10000100 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <28>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@10000120 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000120 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <39>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + leds: led-controller@10000800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-leds"; + reg = <0x10000800 0x24>; + status = "disabled"; + }; + + hsspi: spi@10001000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-hsspi"; + reg = <0x10001000 0x600>; + interrupts = <29>; + /* clocks = <&clkctl 9>; */ + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338gw.dts b/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338gw.dts new file mode 100644 index 0000000000..92363ec3a1 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338gw.dts @@ -0,0 +1,53 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96338GW reference board"; + compatible = "brcm,bcm96338gw", "brcm,bcm6338"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + 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>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338w.dts b/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338w.dts new file mode 100644 index 0000000000..3f6e8c0686 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6338-brcm-bcm96338w.dts @@ -0,0 +1,53 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96338W reference board"; + compatible = "brcm,bcm96338w", "brcm,bcm6338"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + 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>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6338-d-link-dsl-2640u.dts b/target/linux/bcm63xx/dts/bcm6338-d-link-dsl-2640u.dts new file mode 100644 index 0000000000..8cf96a3a5c --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6338-d-link-dsl-2640u.dts @@ -0,0 +1,66 @@ +/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"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + 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"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6338-dynalink-rta1320.dts b/target/linux/bcm63xx/dts/bcm6338-dynalink-rta1320.dts new file mode 100644 index 0000000000..bac605651f --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6338-dynalink-rta1320.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6338.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA1320"; + compatible = "dynalink,rta1320", "brcm,bcm6338"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + 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"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6338.dtsi b/target/linux/bcm63xx/dts/bcm6338.dtsi new file mode 100644 index 0000000000..3d1c068351 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6338.dtsi @@ -0,0 +1,105 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6338"; + + aliases { + pflash = &pflash; + gpio0 = &gpio0; + serial0 = &uart0; + spi0 = &lsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-l1-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>; + }; + + uart0: serial@fffe0300 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfffe0300 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@fffe0c00 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6348-spi"; + reg = <0xfffe0c00 0x40>; + interrupts = <1>; + /* clocks = <&clkctl 9>; */ + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm6345-brcm-bcm96345gw2.dts b/target/linux/bcm63xx/dts/bcm6345-brcm-bcm96345gw2.dts new file mode 100644 index 0000000000..5aea2ddc8d --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6345-brcm-bcm96345gw2.dts @@ -0,0 +1,27 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96345GW2 reference board"; + compatible = "brcm,bcm96345gw2", "brcm,bcm6345"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770bw.dts b/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770bw.dts new file mode 100644 index 0000000000..f678762c86 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770bw.dts @@ -0,0 +1,84 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Siemens Gigaset SE515"; + compatible = "dynalink,rta770bw", "brcm,bcm6345"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + 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"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770w.dts b/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770w.dts new file mode 100644 index 0000000000..ad0e7ce27d --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6345-dynalink-rta770w.dts @@ -0,0 +1,84 @@ +/dts-v1/; + +#include "bcm6345.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA770W"; + compatible = "dynalink,rta770w", "brcm,bcm6345"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 13 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + 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"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6345.dtsi b/target/linux/bcm63xx/dts/bcm6345.dtsi new file mode 100644 index 0000000000..7d5f79be35 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6345.dtsi @@ -0,0 +1,94 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6345"; + + aliases { + pflash = &pflash; + serial0 = &uart0; + 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-l1-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>; + }; + + uart0: serial@fffe0300 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfffe0300 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + 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/bcm63xx/dts/bcm6348-asmax-ar-1004g.dts b/target/linux/bcm63xx/dts/bcm6348-asmax-ar-1004g.dts new file mode 100644 index 0000000000..bf7b4a3ec4 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-asmax-ar-1004g.dts @@ -0,0 +1,83 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "ASMAX AR 1004g"; + compatible = "asmax,ar-1004g", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "AR1004G:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + inet_green { + label = "AR1004G:green:inet"; + gpios = <&pinctrl 3 1>; + }; + power_red { + label = "AR1004G:red:power"; + gpios = <&pinctrl 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ext_mii &pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-belkin-f5d7633.dts b/target/linux/bcm63xx/dts/bcm6348-belkin-f5d7633.dts new file mode 100644 index 0000000000..c39247d405 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-belkin-f5d7633.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Belkin F5D7633"; + compatible = "belkin,f5d7633", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 6 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x3c0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3e0000 { + label = "nvram"; + reg = <0x3e0000 0x020000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-10.dts b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-10.dts new file mode 100644 index 0000000000..014fd3fb9d --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-10.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW-10 reference board"; + compatible = "brcm,bcm96348gw-10", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 6 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-11.dts b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-11.dts new file mode 100644 index 0000000000..aeda3c2659 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw-11.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW-11 reference board"; + compatible = "brcm,bcm96348gw-11", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-11:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-11:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW-11:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW-11:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW-11:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw.dts b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw.dts new file mode 100644 index 0000000000..61a0a3dd5c --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348gw.dts @@ -0,0 +1,72 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96348GW reference board"; + compatible = "brcm,bcm96348gw", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348r.dts b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348r.dts new file mode 100644 index 0000000000..20c88c48fc --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-brcm-bcm96348r.dts @@ -0,0 +1,58 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom 96348R reference board"; + compatible = "brcm,bcm96348r", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348R:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348R:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348R:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348R:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348R:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2110.dts b/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2110.dts new file mode 100644 index 0000000000..1eac7e3745 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2110.dts @@ -0,0 +1,90 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Voyager 2110"; + compatible = "bt,voyager-2110", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "V2110:green:power"; + gpios = <&pinctrl 0 1>; + }; + power_red { + label = "V2110:red:power"; + gpios = <&pinctrl 1 1>; + }; + adsl_green { + label = "V2110:green:adsl"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "V2110:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + wireless_green { + label = "V2110:green:wireless"; + gpios = <&pinctrl 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2500v-bb.dts b/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2500v-bb.dts new file mode 100644 index 0000000000..0975cffd65 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-bt-voyager-2500v-bb.dts @@ -0,0 +1,90 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Voyager 2500V"; + compatible = "bt,voyager-2500v-bb", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 31 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "V2500V_BB:green:power"; + gpios = <&pinctrl 0 1>; + }; + power_red { + label = "V2500V_BB:red:power"; + gpios = <&pinctrl 1 1>; + }; + adsl_green { + label = "V2500V_BB:green:adsl"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "V2500V_BB:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + wireless_green { + label = "V2500V_BB:green:wireless"; + gpios = <&pinctrl 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-5365.dts b/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-5365.dts new file mode 100644 index 0000000000..0d36aa21e0 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-5365.dts @@ -0,0 +1,97 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-5365"; + compatible = "comtrend,ct-5365", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348A-122:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + alarm_red { + label = "96348A-122:red:alarm"; + gpios = <&pinctrl 2 1>; + }; + wps_green { + label = "96348A-122:green:wps"; + gpios = <&pinctrl 6 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-536plus.dts b/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-536plus.dts new file mode 100644 index 0000000000..ead9bc3a20 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-comtrend-ct-536plus.dts @@ -0,0 +1,79 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-536+/CT-5621T"; + compatible = "comtrend,ct-536plus", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "CT536_CT5621:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + adsl_fail_green { + label = "CT536_CT5621:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-d-link-dsl-2640b-b.dts b/target/linux/bcm63xx/dts/bcm6348-d-link-dsl-2640b-b.dts new file mode 100644 index 0000000000..4213822a3e --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-d-link-dsl-2640b-b.dts @@ -0,0 +1,87 @@ +/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"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 7 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "D-4P-W:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + status { + label = "D-4P-W::status"; + gpios = <&pinctrl 3 1>; + }; + inet_green { + label = "D-4P-W:green:internet"; + gpios = <&pinctrl 4 1>; + }; + inet_red { + label = "D-4P-W:red:internet"; + gpios = <&pinctrl 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-davolink-dv-201amr.dts b/target/linux/bcm63xx/dts/bcm6348-davolink-dv-201amr.dts new file mode 100644 index 0000000000..6cafc891aa --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-davolink-dv-201amr.dts @@ -0,0 +1,51 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Davolink DV-201AMR"; + compatible = "davolink,dv-201amr", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + backup@0 { + label = "backup"; + reg = <0x000000 0x400000>; + }; + + cfe@400000 { + label = "cfe"; + reg = <0x400000 0x010000>; + read-only; + }; + + linux@410000 { + label = "linux"; + reg = <0x410000 0x3f0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-dynalink-rta1025w.dts b/target/linux/bcm63xx/dts/bcm6348-dynalink-rta1025w.dts new file mode 100644 index 0000000000..122e049b3c --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-dynalink-rta1025w.dts @@ -0,0 +1,51 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Dynalink RTA1025W"; + compatible = "dynalink,rta1025w", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-inventel-livebox-1.dts b/target/linux/bcm63xx/dts/bcm6348-inventel-livebox-1.dts new file mode 100644 index 0000000000..6e80675ff7 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-inventel-livebox-1.dts @@ -0,0 +1,84 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Inventel Livebox 1"; + compatible = "inventel,livebox-1", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + button1 { + label = "1"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + button2 { + label = "2"; + gpios = <&pinctrl 7 1>; + linux,code = <BTN_2>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + red_adsl_fail { + label = "Livebox1:red:adsl-fail-power"; + gpios = <&pinctrl 0 0>; + default-state = "on"; + }; + + red_adsl { + label = "Livebox1:red:adsl"; + gpios = <&pinctrl 1 0>; + }; + + red_traffic { + label = "Livebox1:red:traffic"; + gpios = <&pinctrl 2 0>; + }; + + red_phone { + label = "Livebox1:red:phone"; + gpios = <&pinctrl 3 0>; + }; + + red_wifi { + label = "Livebox1:red:wifi"; + gpios = <&pinctrl 4 0>; + }; + }; +}; + +&pflash { + reg = <0x1e400000 0x800000>; + status = "ok"; + + partitions { + compatible = "ecoscentric,redboot-fis-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-netgear-dg834g-v4.dts b/target/linux/bcm63xx/dts/bcm6348-netgear-dg834g-v4.dts new file mode 100644 index 0000000000..4ea096e81a --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-netgear-dg834g-v4.dts @@ -0,0 +1,87 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DG834G v4"; + compatible = "netgear,dg834g-v4", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 6 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348W3:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + status { + label = "96348W3:red:power"; + gpios = <&pinctrl 1 1>; + }; + inet_green { + label = "96348W3::adsl"; + gpios = <&pinctrl 2 1>; + }; + inet_red { + label = "96348W3::internet"; + gpios = <&pinctrl 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-netgear-dg834gt-pn.dts b/target/linux/bcm63xx/dts/bcm6348-netgear-dg834gt-pn.dts new file mode 100644 index 0000000000..f7e203227c --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-netgear-dg834gt-pn.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DG834GT/PN"; + compatible = "netgear,dg834gt-pn", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 6 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-10:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-10:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW-10:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW-10:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW-10:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2404.dts b/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2404.dts new file mode 100644 index 0000000000..945fcc1f18 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2404.dts @@ -0,0 +1,51 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@st 2404"; + compatible = "sagem,fast-2404", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2604.dts b/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2604.dts new file mode 100644 index 0000000000..a2d2717575 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-sagem-fast-2604.dts @@ -0,0 +1,87 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@st 2604"; + compatible = "sagem,fast-2604", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "F@ST2604:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + power_red { + label = "F@ST2604:red:power"; + gpios = <&pinctrl 1 1>; + }; + inet_red { + label = "F@ST2604:red:inet"; + gpios = <&pinctrl 4 1>; + }; + wps_green { + label = "F@ST2604:green:wps"; + gpios = <&pinctrl 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-t-com-speedport-w-500v.dts b/target/linux/bcm63xx/dts/bcm6348-t-com-speedport-w-500v.dts new file mode 100644 index 0000000000..8b0d1cacfd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-t-com-speedport-w-500v.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "T-Com Speedport W 500V"; + compatible = "t-com,speedport-w-500v", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "SPW500V:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + power_red { + label = "SPW500V:red:power"; + gpios = <&pinctrl 1 1>; + }; + ppp_green { + label = "SPW500V:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + pstn_green { + label = "SPW500V:green:pstn"; + gpios = <&pinctrl 28 1>; + }; + voip_green { + label = "SPW500V:green:voip"; + gpios = <&pinctrl 32 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-tecom-gw6000.dts b/target/linux/bcm63xx/dts/bcm6348-tecom-gw6000.dts new file mode 100644 index 0000000000..4822b04926 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-tecom-gw6000.dts @@ -0,0 +1,65 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TECOM GW6000"; + compatible = "tecom,gw6000", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-tecom-gw6200.dts b/target/linux/bcm63xx/dts/bcm6348-tecom-gw6200.dts new file mode 100644 index 0000000000..c86cbf9203 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-tecom-gw6200.dts @@ -0,0 +1,86 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TECOM GW6200"; + compatible = "tecom,gw6200", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + line1_green { + label = "GW6200:green:line1"; + gpios = <&pinctrl 4 1>; + }; + line2_green { + label = "GW6200:green:line2"; + gpios = <&pinctrl 5 1>; + }; + line3_green { + label = "GW6200:green:line3"; + gpios = <&pinctrl 6 1>; + }; + tel_green { + label = "GW6200:green:tel"; + gpios = <&pinctrl 7 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-telsey-cpva502plus.dts b/target/linux/bcm63xx/dts/bcm6348-telsey-cpva502plus.dts new file mode 100644 index 0000000000..71620bc655 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-telsey-cpva502plus.dts @@ -0,0 +1,79 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Telsey CPVA502+"; + compatible = "telsey,cpva502plus", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + phone_green { + label = "CPVA502+:green:phone"; + gpios = <&pinctrl 0 1>; + }; + + link_amber { + label = "CPVA502+:amber:link"; + gpios = <&pinctrl 5 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-telsey-magic.dts b/target/linux/bcm63xx/dts/bcm6348-telsey-magic.dts new file mode 100644 index 0000000000..1358ebe99f --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-telsey-magic.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Alice W-Gate"; + compatible = "telsey,magic", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + power { + label = "MAGIC:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + + stop { + label = "MAGIC:green:stop"; + gpios = <&pinctrl 1 1>; + }; + + hpna { + label = "MAGIC:green:hpna"; + gpios = <&pinctrl 4 1>; + }; + + status { + label = "MAGIC:green:adsl"; + gpios = <&pinctrl 5 1>; + }; + + voip { + label = "MAGIC:green:voip"; + gpios = <&pinctrl 22 1>; + }; + + wifi { + label = "MAGIC:green:wifi"; + gpios = <&pinctrl 28 0>; + }; + + usb { + label = "MAGIC:green:usb"; + gpios = <&pinctrl 35 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-tp-link-td-w8900gb.dts b/target/linux/bcm63xx/dts/bcm6348-tp-link-td-w8900gb.dts new file mode 100644 index 0000000000..be111edd40 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-tp-link-td-w8900gb.dts @@ -0,0 +1,91 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "TP-Link TD-W8900GB"; + compatible = "tp-link,td-w8900gb", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 33 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96348GW-11:green:power"; + gpios = <&pinctrl 0 1>; + default-state = "on"; + }; + stop_green { + label = "96348GW-11:green:stop"; + gpios = <&pinctrl 1 1>; + }; + adsl_fail_green { + label = "96348GW-11:green:adsl-fail"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96348GW-11:green:ppp"; + gpios = <&pinctrl 3 1>; + }; + ppp_fail_green { + label = "96348GW-11:green:ppp-fail"; + gpios = <&pinctrl 4 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x3d0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3e0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii &pinctrl_mii_pccard>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348-usrobotics-usr9108.dts b/target/linux/bcm63xx/dts/bcm6348-usrobotics-usr9108.dts new file mode 100644 index 0000000000..366eaf3bcd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348-usrobotics-usr9108.dts @@ -0,0 +1,64 @@ +/dts-v1/; + +#include "bcm6348.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "USRobotics USR9108"; + compatible = "usrobotics,usr9108", "brcm,bcm6348"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + usb { + label = "96348GW-A::usb"; + gpios = <&pinctrl 0 1>; + }; + dsl { + label = "96348GW-A::adsl"; + gpios = <&pinctrl 3 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ext_mii>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6348.dtsi b/target/linux/bcm63xx/dts/bcm6348.dtsi new file mode 100644 index 0000000000..f3e17be533 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6348.dtsi @@ -0,0 +1,153 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6348"; + + aliases { + pflash = &pflash; + pinctrl = &pinctrl; + serial0 = &uart0; + spi0 = &lsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-l1-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>; + }; + + pinctrl: pin-controller@fffe0400 { + compatible = "brcm,bcm6348-pinctrl"; + reg = <0xfffe0400 0x8>, + <0xfffe0408 0x8>, + <0xfffe0418 0x4>; + reg-names = "dirout", "dat", "mode"; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>, <2 0>, <3 0>; + interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35"; + + pinctrl_ext_ephy: ext_ephy { + function = "ext_ephy"; + groups = "group1", "group4"; + }; + + pinctrl_mii_snoop: mii_snoop { + function = "ext_ephy"; + groups = "group1", "group4"; + }; + + pinctrl_legacy_led: legacy_led { + function = "legacy_led"; + groups = "group4"; + }; + + pinctrl_mii_pccard: mii_pccard { + function = "mii_pccard"; + groups = "group1"; + }; + + pinctrl_pci: pci { + function = "pci"; + groups = "group2"; + }; + + pinctrl_spi_master_uart: spi_master_uart { + function = "spi_master_uart"; + groups = "group1"; + }; + + pinctrl_ext_mii: ext_mii { + function = "ext_mii"; + groups = "group0", "group3"; + }; + + pinctrl_utopia: utopia { + function = "utopia"; + groups = "group0", "group1", "group3"; + }; + }; + + uart0: serial@fffe0300 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfffe0300 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@fffe0c00 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6348-spi"; + reg = <0xfffe0c00 0x40>; + interrupts = <1>; + /* clocks = <&clkctl 9>; */ + + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-alcatel-rg100a.dts b/target/linux/bcm63xx/dts/bcm6358-alcatel-rg100a.dts new file mode 100644 index 0000000000..22f50d5ada --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-alcatel-rg100a.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Alcatel RG100A"; + compatible = "alcatel,rg100a", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&pinctrl 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&pinctrl 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&pinctrl 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&pinctrl 23 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw.dts b/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw.dts new file mode 100644 index 0000000000..669d1943f4 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw.dts @@ -0,0 +1,53 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96358VW reference board"; + compatible = "brcm,bcm96358vw", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "96358VW:green:power"; + gpios = <&pinctrl 4 0>; + default-state = "on"; + }; + stop_green { + label = "96358VW:green:stop"; + gpios = <&pinctrl 5 0>; + }; + adsl_fail_green { + label = "96358VW:green:adsl-fail"; + gpios = <&pinctrl 15 1>; + }; + ppp_green { + label = "96358VW:green:ppp"; + gpios = <&pinctrl 22 1>; + }; + ppp_fail_green { + label = "96358VW:green:ppp-fail"; + gpios = <&pinctrl 23 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw2.dts b/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw2.dts new file mode 100644 index 0000000000..a4a977e73d --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-brcm-bcm96358vw2.dts @@ -0,0 +1,49 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96358VW2 reference board"; + compatible = "brcm,bcm96358vw2", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&pinctrl 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&pinctrl 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&pinctrl 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&pinctrl 23 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-bt-home-hub-2-a.dts b/target/linux/bcm63xx/dts/bcm6358-bt-home-hub-2-a.dts new file mode 100644 index 0000000000..351b2945d3 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-bt-home-hub-2-a.dts @@ -0,0 +1,171 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "BT Home Hub 2.0 Type A"; + compatible = "bt,home-hub-2-a", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + phone { + label = "phone"; + gpios = <&pinctrl 1 1>; + linux,code = <KEY_PHONE>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 9 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 11 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + led@0 { + reg = <0>; + active-low; + label = "HOMEHUB2A:red:power"; + }; + + led@1 { + reg = <0>; + active-low; + label = "HOMEHUB2A:green:power"; + default-state = "on"; + }; + + led@2 { + reg = <2>; + active-low; + label = "HOMEHUB2A:blue:power"; + }; + + led@3 { + reg = <3>; + active-low; + label = "HOMEHUB2A:red:broadband"; + }; + + led@4 { + reg = <4>; + active-low; + label = "HOMEHUB2A:green:broadband"; + }; + + led@5 { + reg = <5>; + active-low; + label = "HOMEHUB2A:blue:broadband"; + }; + + led@6 { + reg = <6>; + active-low; + label = "HOMEHUB2A:red:wireless"; + }; + + led@7 { + reg = <7>; + active-low; + label = "HOMEHUB2A:green:wireless"; + }; + + led@8 { + reg = <8>; + active-low; + label = "HOMEHUB2A:blue:wireless"; + }; + + led@9 { + reg = <9>; + active-low; + label = "HOMEHUB2A:red:phone"; + }; + + led@10 { + reg = <10>; + active-low; + label = "HOMEHUB2A:green:phone"; + }; + + led@11 { + reg = <11>; + active-low; + label = "HOMEHUB2A:blue:phone"; + }; + + led@12 { + reg = <12>; + active-low; + label = "HOMEHUB2A:red:upgrading"; + }; + + led@13 { + reg = <13>; + active-low; + label = "HOMEHUB2A:green:upgrading"; + }; + + led@14 { + reg = <14>; + active-low; + label = "HOMEHUB2A:blue:upgrading"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-comtrend-ct-6373.dts b/target/linux/bcm63xx/dts/bcm6358-comtrend-ct-6373.dts new file mode 100644 index 0000000000..c5e38ba6f6 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-comtrend-ct-6373.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend CT-6373"; + compatible = "comtrend,ct-6373", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "CT6373-1:green:power"; + gpios = <&pinctrl 0 0>; + default-state = "on"; + }; + usb_green { + label = "CT6373-1:green:usb"; + gpios = <&pinctrl 3 1>; + }; + wlan_green { + label = "CT6373-1:green:wlan"; + gpios = <&pinctrl 9 1>; + }; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + led@0 { + reg = <0>; + active-low; + label = "CT6373-1:green:adsl"; + }; + + led@1 { + reg = <1>; + active-low; + label = "CT6373-1:green:line"; + }; + + led@2 { + reg = <2>; + active-low; + label = "CT6373-1:green:fxs1"; + }; + + led@3 { + reg = <3>; + active-low; + label = "CT6373-1:green:fxs2"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-2650u.dts b/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-2650u.dts new file mode 100644 index 0000000000..c2dad26b12 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-2650u.dts @@ -0,0 +1,68 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "D-Link DSL-2650U"; + compatible = "d-link,dsl-2650u", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + stop_green { + label = "96358VW2:green:stop"; + gpios = <&pinctrl 4 1>; + }; + power_green { + label = "96358VW2:green:power"; + gpios = <&pinctrl 5 1>; + default-state = "on"; + }; + adsl_green { + label = "96358VW2:green:adsl"; + gpios = <&pinctrl 22 1>; + }; + ppp_fail_green { + label = "96358VW2:green:ppp-fail"; + gpios = <&pinctrl 23 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-274xb-c2.dts b/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-274xb-c2.dts new file mode 100644 index 0000000000..6897378fe8 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-d-link-dsl-274xb-c2.dts @@ -0,0 +1,86 @@ +/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"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_green { + label = "dsl-274xb:green:internet"; + gpios = <&pinctrl 2 0>; + }; + power_red { + label = "dsl-274xb:red:power"; + gpios = <&pinctrl 4 1>; + }; + power_green { + label = "dsl-274xb:green:power"; + gpios = <&pinctrl 5 1>; + default-state = "on"; + }; + dsl_green { + label = "dsl-274xb:green:adsl"; + gpios = <&pinctrl 9 1>; + }; + inet_red { + label = "dsl-274xb:red:internet"; + gpios = <&pinctrl 10 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-d-link-dva-g3810bn-tl.dts b/target/linux/bcm63xx/dts/bcm6358-d-link-dva-g3810bn-tl.dts new file mode 100644 index 0000000000..fcf112a7e0 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-d-link-dva-g3810bn-tl.dts @@ -0,0 +1,86 @@ +/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"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + voip { + label = "DVAG3810BN::voip"; + gpios = <&pinctrl 1 0>; + }; + power { + label = "DVAG3810BN::power"; + gpios = <&pinctrl 4 0>; + default-state = "on"; + }; + stop { + label = "DVAG3810BN::stop"; + gpios = <&pinctrl 5 0>; + }; + dsl { + label = "DVAG3810BN::dsl"; + gpios = <&pinctrl 22 1>; + }; + inet { + label = "DVAG3810BN::internet"; + gpios = <&pinctrl 23 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg553.dts b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg553.dts new file mode 100644 index 0000000000..d23066866e --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg553.dts @@ -0,0 +1,109 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG553"; + compatible = "huawei,echolife-hg553", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + rfkill { + label = "rfkill"; + gpios = <&pinctrl 9 1>; + linux,code = <KEY_RFKILL>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "HW553:blue:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "HW553:red:power"; + gpios = <&pinctrl 5 1>; + }; + hspa_red { + label = "HW553:red:hspa"; + gpios = <&pinctrl 12 1>; + }; + hspa_blue { + label = "HW553:blue:hspa"; + gpios = <&pinctrl 13 1>; + }; + lan_red { + label = "HW553:red:lan"; + gpios = <&pinctrl 22 1>; + }; + lan_blue { + label = "HW553:blue:lan"; + gpios = <&pinctrl 23 1>; + }; + wifi_red { + label = "HW553:red:wifi"; + gpios = <&pinctrl 25 1>; + }; + dsl_red { + label = "HW553:red:adsl"; + gpios = <&pinctrl 34 1>; + }; + dsl_blue { + label = "HW553:blue:adsl"; + gpios = <&pinctrl 35 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-a.dts b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-a.dts new file mode 100644 index 0000000000..1827e8e235 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-a.dts @@ -0,0 +1,146 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version A)"; + compatible = "huawei,echolife-hg556a-a", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + help { + label = "help"; + gpios = <&pinctrl 8 1>; + linux,code = <KEY_HELP>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 9 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + restart { + label = "restart"; + gpios = <&pinctrl 10 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 11 1>; + linux,code = <KEY_CONFIG>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + message_red { + label = "HW556:red:message"; + gpios = <&pinctrl 0 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&pinctrl 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&pinctrl 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&pinctrl 3 1>; + default-state = "on"; + }; + all_red { + label = "HW556:red:all"; + gpios = <&pinctrl 6 1>; + default-state = "on"; + }; + lan1_green { + label = "HW556:green:lan1"; + gpios = <&pinctrl 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&pinctrl 13 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&pinctrl 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&pinctrl 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&pinctrl 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&pinctrl 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&pinctrl 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&pinctrl 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-b.dts b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-b.dts new file mode 100644 index 0000000000..fa804bef9e --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-b.dts @@ -0,0 +1,146 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version B)"; + compatible = "huawei,echolife-hg556a-b", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + help { + label = "help"; + gpios = <&pinctrl 8 1>; + linux,code = <KEY_HELP>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 9 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + restart { + label = "restart"; + gpios = <&pinctrl 10 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 11 1>; + linux,code = <KEY_CONFIG>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + message_red { + label = "HW556:red:message"; + gpios = <&pinctrl 0 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&pinctrl 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&pinctrl 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&pinctrl 3 1>; + default-state = "on"; + }; + all_red { + label = "HW556:red:all"; + gpios = <&pinctrl 6 1>; + default-state = "on"; + }; + lan1_green { + label = "HW556:green:lan1"; + gpios = <&pinctrl 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&pinctrl 13 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&pinctrl 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&pinctrl 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&pinctrl 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&pinctrl 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&pinctrl 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&pinctrl 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-c.dts b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-c.dts new file mode 100644 index 0000000000..5ed847baab --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-huawei-echolife-hg556a-c.dts @@ -0,0 +1,141 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG556a (version C)"; + compatible = "huawei,echolife-hg556a-c", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + help { + label = "help"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_HELP>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 9 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + restart { + label = "restart"; + gpios = <&pinctrl 10 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 11 1>; + linux,code = <KEY_CONFIG>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + lan1_green { + label = "HW556:green:lan1"; + gpios = <&pinctrl 0 1>; + }; + lan2_green { + label = "HW556:green:lan2"; + gpios = <&pinctrl 1 1>; + }; + dsl_red { + label = "HW556:red:dsl"; + gpios = <&pinctrl 2 1>; + }; + power_red { + label = "HW556:red:power"; + gpios = <&pinctrl 3 1>; + default-state = "on"; + }; + message_red { + label = "HW556:red:message"; + gpios = <&pinctrl 12 1>; + }; + lan1_red { + label = "HW556:red:lan1"; + gpios = <&pinctrl 13 1>; + }; + hspa_red { + label = "HW556:red:hspa"; + gpios = <&pinctrl 15 1>; + }; + lan2_red { + label = "HW556:red:lan2"; + gpios = <&pinctrl 22 1>; + }; + lan3_green { + label = "HW556:green:lan3"; + gpios = <&pinctrl 23 1>; + }; + lan3_red { + label = "HW556:red:lan3"; + gpios = <&pinctrl 26 1>; + }; + lan4_green { + label = "HW556:green:lan4"; + gpios = <&pinctrl 27 1>; + }; + lan4_red { + label = "HW556:red:lan4"; + gpios = <&pinctrl 28 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xec0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + cal_data@ee0000 { + label = "cal_data"; + reg = <0xee0000 0x100000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226g.dts b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226g.dts new file mode 100644 index 0000000000..44e297c08a --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226g.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226G"; + compatible = "pirelli,a226g", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&pinctrl 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&pinctrl 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&pinctrl 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&pinctrl 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&pinctrl 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&pinctrl 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&pinctrl 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&pinctrl 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&pinctrl 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&pinctrl 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&pinctrl 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts new file mode 100644 index 0000000000..bb1cd29359 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m-fwb.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226M-FWB"; + compatible = "pirelli,a226m-fwb", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&pinctrl 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&pinctrl 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&pinctrl 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&pinctrl 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&pinctrl 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&pinctrl 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&pinctrl 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&pinctrl 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&pinctrl 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&pinctrl 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&pinctrl 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m.dts b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m.dts new file mode 100644 index 0000000000..e0a6b07697 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-a226m.dts @@ -0,0 +1,125 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli A226M"; + compatible = "pirelli,a226m", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + voip_red { + label = "DWV-S0:red:VoIP"; + gpios = <&pinctrl 0 1>; + }; + eth_red { + label = "DWV-S0:red:ethernet"; + gpios = <&pinctrl 1 1>; + }; + dsl_green { + label = "DWV-S0:green:ADSL"; + gpios = <&pinctrl 2 1>; + }; + usb_green { + label = "DWV-S0:green:USB"; + gpios = <&pinctrl 3 1>; + }; + power_green { + label = "DWV-S0:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "DWV-S0:red:power"; + gpios = <&pinctrl 5 1>; + }; + inet_red { + label = "DWV-S0:red:internet"; + gpios = <&pinctrl 6 1>; + }; + inet_green { + label = "DWV-S0:green:internet"; + gpios = <&pinctrl 7 1>; + }; + eth_green { + label = "DWV-S0:green:ethernet"; + gpios = <&pinctrl 8 1>; + }; + voip_green { + label = "DWV-S0:green:VoIP"; + gpios = <&pinctrl 9 1>; + }; + wifi_red { + label = "DWV-S0:red:wifi"; + gpios = <&pinctrl 10 1>; + }; + usb_red { + label = "DWV-S0:red:USB"; + gpios = <&pinctrl 11 1>; + }; + dsl_red { + label = "DWV-S0:red:ADSL"; + gpios = <&pinctrl 12 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-pirelli-agpf-s0.dts b/target/linux/bcm63xx/dts/bcm6358-pirelli-agpf-s0.dts new file mode 100644 index 0000000000..0b9c397719 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-pirelli-agpf-s0.dts @@ -0,0 +1,129 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Pirelli Alice Gate AGPF-S0"; + compatible = "pirelli,agpf-s0", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "AGPF-S0:green:power"; + gpios = <&pinctrl 4 1>; + default-state = "on"; + }; + power_red { + label = "AGPF-S0:red:power"; + gpios = <&pinctrl 5 1>; + }; + service_green { + label = "AGPF-S0:green:service"; + gpios = <&pinctrl 6 1>; + }; + service_red { + label = "AGPF-S0:red:service"; + gpios = <&pinctrl 7 1>; + }; + dsl_green { + label = "AGPF-S0:green:adsl"; + gpios = <&pinctrl 9 1>; + }; + dsl_red { + label = "AGPF-S0:red:adsl"; + gpios = <&pinctrl 10 1>; + }; + wifi_green { + label = "AGPF-S0:green:wifi"; + gpios = <&pinctrl 22 1>; + }; + wifi_red { + label = "AGPF-S0:red:wifi"; + gpios = <&pinctrl 23 1>; + }; + inet_red { + label = "AGPF-S0:red:internet"; + gpios = <&pinctrl 24 1>; + }; + inet_green { + label = "AGPF-S0:green:internet"; + gpios = <&pinctrl 25 1>; + }; + usr1_green { + label = "AGPF-S0:green:usr1"; + gpios = <&pinctrl 26 1>; + }; + usr1_red { + label = "AGPF-S0:red:usr1"; + gpios = <&pinctrl 27 1>; + }; + usr2_green { + label = "AGPF-S0:green:usr2"; + gpios = <&pinctrl 29 1>; + }; + usr2_red { + label = "AGPF-S0:red:usr2"; + gpios = <&pinctrl 30 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts b/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts new file mode 100644 index 0000000000..de22658843 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-foxconn-r1.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR Neufbox 4 (Foxconn)"; + compatible = "sfr,neufbox-4-foxconn-r1", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + service { + label = "service"; + gpios = <&pinctrl 27 1>; + linux,code = <BTN_0>; + debounce-interval = <60>; + }; + + clip { + label = "clip"; + gpios = <&pinctrl 31 1>; + linux,code = <BTN_1>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + traffic_white { + label = "NB4-FXC-r1:white:traffic"; + gpios = <&pinctrl 2 0>; + }; + service_blue { + label = "NB4-FXC-r1:blue:service"; + gpios = <&pinctrl 4 0>; + }; + wifi_white { + label = "NB4-FXC-r1:white:wifi"; + gpios = <&pinctrl 15 0>; + }; + service_red { + label = "NB4-FXC-r1:red:service"; + gpios = <&pinctrl 29 0>; + }; + service_green { + label = "NB4-FXC-r1:green:service"; + gpios = <&pinctrl 30 0>; + }; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + led@0 { + reg = <0>; + active-low; + label = "NB4-FXC-r1:white:alarm"; + }; + + led@2 { + reg = <2>; + active-low; + label = "NB4-FXC-r1:white:tv"; + }; + + led@3 { + reg = <3>; + active-low; + label = "NB4-FXC-r1:white:tel"; + }; + + led@4 { + reg = <4>; + active-low; + label = "NB4-FXC-r1:white:adsl"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts b/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts new file mode 100644 index 0000000000..db6c5f3306 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-sfr-neufbox-4-sercomm-r0.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR Neufbox 4 (Sercomm)"; + compatible = "sfr,neufbox-4-sercomm-r0", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + service { + label = "service"; + gpios = <&pinctrl 27 1>; + linux,code = <BTN_0>; + debounce-interval = <60>; + }; + + clip { + label = "clip"; + gpios = <&pinctrl 31 1>; + linux,code = <BTN_1>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + traffic_white { + label = "NB4-SER-r0:white:traffic"; + gpios = <&pinctrl 2 1>; + }; + service_blue { + label = "NB4-SER-r0:blue:service"; + gpios = <&pinctrl 4 1>; + }; + wifi_white { + label = "NB4-SER-r0:white:wifi"; + gpios = <&pinctrl 15 1>; + }; + service_red { + label = "NB4-SER-r0:red:service"; + gpios = <&pinctrl 29 1>; + }; + service_green { + label = "NB4-SER-r0:green:service"; + gpios = <&pinctrl 30 1>; + }; + }; +}; + +&leds { + status = "ok"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_serial_led>; + + led@0 { + reg = <0>; + active-low; + label = "NB4-SER-r0:white:alarm"; + }; + + led@2 { + reg = <2>; + active-low; + label = "NB4-SER-r0:white:tv"; + }; + + led@3 { + reg = <3>; + active-low; + label = "NB4-SER-r0:white:tel"; + }; + + led@4 { + reg = <4>; + active-low; + label = "NB4-SER-r0:white:adsl"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-t-com-speedport-w-303v.dts b/target/linux/bcm63xx/dts/bcm6358-t-com-speedport-w-303v.dts new file mode 100644 index 0000000000..4aed5f0eb6 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-t-com-speedport-w-303v.dts @@ -0,0 +1,97 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "T-Com Speedport W 303V"; + compatible = "t-com,speedport-w-303v", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 11 0>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + ses { + label = "ses"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + ses_green { + label = "spw303v:green:ses"; + gpios = <&pinctrl 0 1>; + }; + power_adsl_red { + label = "spw303v:red:power+adsl"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "spw303v:green:ppp"; + gpios = <&pinctrl 5 1>; + }; + power_adsl_green { + label = "spw303v:green:power+adsl"; + gpios = <&pinctrl 22 1>; + default-state = "on"; + }; + voip_green { + label = "spw303v:green:voip"; + gpios = <&pinctrl 27 1>; + }; + pots_green { + label = "spw303v:green:pots"; + gpios = <&pinctrl 31 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358-telsey-cpva642.dts b/target/linux/bcm63xx/dts/bcm6358-telsey-cpva642.dts new file mode 100644 index 0000000000..e422912297 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358-telsey-cpva642.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Telsey CPVA642-type (CPA-ZNTE60T)"; + compatible = "telsey,cpva642", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 37 0>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + eth_green { + label = "CPVA642:green:ether"; + gpios = <&pinctrl 1 1>; + }; + phone2_green { + label = "CPVA642:green:phone2"; + gpios = <&pinctrl 2 1>; + }; + usb_green { + label = "CPVA642:green:usb"; + gpios = <&pinctrl 3 1>; + }; + phone1_green { + label = "CPVA642:green:phone1"; + gpios = <&pinctrl 4 1>; + }; + wifi_red { + label = "CPVA642:red:wifi"; + gpios = <&pinctrl 6 1>; + }; + link_red { + label = "CPVA642:red:link"; + gpios = <&pinctrl 9 1>; + }; + link_green { + label = "CPVA642:green:link"; + gpios = <&pinctrl 10 1>; + }; + power_green { + label = "CPVA642:green:power"; + gpios = <&pinctrl 11 1>; + default-state = "on"; + }; + power_red { + label = "CPVA642:red:power"; + gpios = <&pinctrl 14 1>; + }; + wifi_green { + label = "CPVA642:green:wifi"; + gpios = <&pinctrl 28 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6358.dtsi b/target/linux/bcm63xx/dts/bcm6358.dtsi new file mode 100644 index 0000000000..a78cdef373 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6358.dtsi @@ -0,0 +1,203 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6358"; + + aliases { + pflash = &pflash; + pinctrl = &pinctrl; + serial0 = &uart0; + serial1 = &uart1; + spi0 = &lsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + periph_intc: interrupt-controller@fffe000c { + compatible = "brcm,bcm6345-l1-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>; + + interrupts = <25>, <26>, <27>, <28>; + }; + + ext_intc1: interrupt-controller@fffe001c { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0xfffe001c 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <20>, <21>; + }; + + pinctrl: pin-controller@fffe0080 { + compatible = "brcm,bcm6358-pinctrl"; + reg = <0xfffe0080 0x8>, + <0xfffe0088 0x8>; + reg-names = "dirout", "dat", "mode"; + brcm,gpiomode = <&gpiomode>; + + gpio-controller; + #gpio-cells = <2>; + + interrupts-extended = <&ext_intc1 0 0>, + <&ext_intc1 1 0>, + <&ext_intc0 0 0>, + <&ext_intc0 1 0>, + <&ext_intc0 2 0>, + <&ext_intc0 3 0>; + interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35", + "gpio36", "gpio37"; + + pinctrl_ebi_cs: ebi_cs { + function = "ebi_cs"; + groups = "ebi_cs_grp"; + }; + + pinctrl_uart1: uart1 { + function = "uart1"; + groups = "uart1_grp"; + }; + + pinctrl_serial_led: serial_led { + function = "serial_led"; + groups = "serial_led_grp"; + }; + + pinctrl_legacy_led: legacy_led { + function = "legacy_led"; + groups = "legacy_led_grp"; + }; + + pinctrl_led: led { + function = "led"; + groups = "led_grp"; + }; + + pinctrl_spi_cs_23: spi_cs { + function = "spi_cs"; + groups = "spi_cs_grp"; + }; + + pinctrl_utopia: utopia { + function = "utopia"; + groups = "utopia_grp"; + }; + + pinctrl_pwm_syn_clk: pwm_syn_clk { + function = "pwm_syn_clk"; + groups = "pwm_syn_clk_grp"; + }; + + pinctrl_sys_irq: sys_irq { + function = "sys_irq"; + groups = "sys_irq_grp"; + }; + }; + + gpiomode: gpiomode@fffe0098 { + compatible = "brcm,bcm6358-gpiomode", "syscon"; + reg = <0xfffe0098 0x4>; + }; + + leds: led-controller@fffe00d0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-leds"; + reg = <0xfffe00d0 0x8>; + status = "disabled"; + }; + + uart0: serial@fffe0100 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfffe0100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@fffe0120 { + compatible = "brcm,bcm6345-uart"; + reg = <0xfffe0120 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <3>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@fffe0800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-spi"; + reg = <0xfffe0800 0x70c>; + interrupts = <1>; + /* clocks = <&clkctl 9>; */ + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm6359-huawei-echolife-hg520v.dts b/target/linux/bcm63xx/dts/bcm6359-huawei-echolife-hg520v.dts new file mode 100644 index 0000000000..5809b6da4e --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6359-huawei-echolife-hg520v.dts @@ -0,0 +1,69 @@ +/dts-v1/; + +#include "bcm6358.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG520v"; + compatible = "huawei,echolife-hg520v", "brcm,bcm6359", "brcm,bcm6358"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 37 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_green { + label = "HW520:green:net"; + gpios = <&pinctrl 32 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6361-sfr-neufbox-6-sercomm-r0.dts b/target/linux/bcm63xx/dts/bcm6361-sfr-neufbox-6-sercomm-r0.dts new file mode 100644 index 0000000000..4498272887 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6361-sfr-neufbox-6-sercomm-r0.dts @@ -0,0 +1,100 @@ +/dts-v1/; + +#include "bcm6362.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "SFR Neufbox 6 (Sercomm)"; + compatible = "sfr,neufbox-6-sercomm-r0", "brcm,bcm6361", "brcm,bcm6362"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + service { + label = "service"; + gpios = <&pinctrl 10 1>; + linux,code = <BTN_0>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 12 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 25 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + switch { + compatible = "realtek,rtl8367"; + gpio-sda = <&pinctrl 18 0>; + gpio-sck = <&pinctrl 20 0>; + + realtek,extif0 = <1 5 1 1 1 1 1 1 2>; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0xfe0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@ff0000 { + reg = <0xff0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6362-sagem-fast-2504n.dts b/target/linux/bcm63xx/dts/bcm6362-sagem-fast-2504n.dts new file mode 100644 index 0000000000..db8ce7318f --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6362-sagem-fast-2504n.dts @@ -0,0 +1,108 @@ +/dts-v1/; + +#include "bcm6362.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Sagem F@st 2504N"; + compatible = "sagem,fast-2504n", "brcm,bcm6362"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 24 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 25 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_orange { + label = "fast2504n:orange:power"; + gpios = <&pinctrl 2 1>; + }; + power_green { + label = "fast2504n:green:power"; + gpios = <&pinctrl 10 1>; + default-state = "on"; + }; + inet_red { + label = "fast2504n:red:internet"; + gpios = <&pinctrl 26 1>; + }; + ok_green { + label = "fast2504n:green:ok"; + gpios = <&pinctrl 28 1>; + }; + ok_orange { + label = "fast2504n:orange:ok"; + gpios = <&pinctrl 29 1>; + }; + wlan_orangee { + label = "fast2504n:orange:wlan"; + gpios = <&pinctrl 30 1>; + }; + }; +}; + +&hsspi { + status = "ok"; + + flash@0 { + compatible = "jedec,spi-nor"; + spi-max-frequency = <20000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + reg = <0>; + + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + reg = <0x000000 0x010000>; + label = "cfe"; + read-only; + }; + + linux@10000 { + reg = <0x010000 0x7e0000>; + label = "linux"; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + reg = <0x7f0000 0x010000>; + label = "nvram"; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6362.dtsi b/target/linux/bcm63xx/dts/bcm6362.dtsi new file mode 100644 index 0000000000..2ff5c52ad7 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6362.dtsi @@ -0,0 +1,294 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6362"; + + aliases { + pinctrl = &pinctrl; + serial0 = &uart0; + serial1 = &uart1; + spi0 = &lsspi; + spi1 = &hsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + ext_intc: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <40>, <41>, <42>, <43>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0x10000020 0x10>, + <0x10000030 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + pinctrl: pin-controller@10000080 { + compatible = "brcm,bcm6362-pinctrl"; + reg = <0x10000080 0x8>, + <0x10000088 0x8>, + <0x10000090 0x4>, + <0x10000098 0x4>, + <0x1000009c 0x4>, + <0x100000b8 0x4>; + reg-names = "dirout", "dat", "led", + "mode", "ctrl", "basemode"; + + gpio-controller; + #gpio-cells = <2>; + + interrupt-parent = <&ext_intc>; + interrupts = <0 0>, <1 0>, <2 0>, <3 0>; + interrupt-names = "gpio24", "gpio25", + "gpio26", "gpio27"; + + pinctrl_usb_device_led: usb_device_led { + function = "usb_device_led"; + pins = "gpio0"; + }; + + pinctrl_sys_irq: sys_irq { + function = "sys_irq"; + pins = "gpio1"; + }; + + pinctrl_serial_led: serial_led { + pinctrl_serial_led_clk: serial_led_clk { + function = "serial_led_clk"; + pins = "gpio2"; + }; + + pinctrl_serial_led_data: serial_led_data { + function = "serial_led_data"; + pins = "gpio3"; + }; + }; + + pinctrl_robosw_led_data: robosw_led_data { + function = "robosw_led_data"; + pins = "gpio4"; + }; + + pinctrl_robosw_led_clk: robosw_led_clk { + function = "robosw_led_clk"; + pins = "gpio5"; + }; + + pinctrl_robosw_led0: robosw_led0 { + function = "robosw_led0"; + pins = "gpio6"; + }; + + pinctrl_robosw_led1: robosw_led1 { + function = "robosw_led1"; + pins = "gpio7"; + }; + + pinctrl_inet_led: inet_led { + function = "inet_led"; + pins = "gpio8"; + }; + + pinctrl_spi_cs2: spi_cs2 { + function = "spi_cs2"; + pins = "gpio9"; + }; + + pinctrl_spi_cs3: spi_cs3 { + function = "spi_cs3"; + pins = "gpio10"; + }; + + pinctrl_ntr_pulse: ntr_pulse { + function = "ntr_pulse"; + pins = "gpio11"; + }; + + pinctrl_uart1_scts: uart1_scts { + function = "uart1_scts"; + pins = "gpio12"; + }; + + pinctrl_uart1_srts: uart1_srts { + function = "uart1_srts"; + pins = "gpio13"; + }; + + + pinctrl_uart1: uart1 { + pinctrl_uart1_sdin: uart1_sdin { + function = "uart1_sdin"; + pins = "gpio14"; + }; + + pinctrl_uart1_sdout: uart1_sdout { + function = "uart1_sdout"; + pins = "gpio15"; + }; + }; + + pinctrl_adsl_spi: adsl_spi { + pinctrl_adsl_spi_miso: adsl_spi_miso { + function = "adsl_spi_miso"; + pins = "gpio16"; + }; + + pinctrl_adsl_spi_mosi: adsl_spi_mosi { + function = "adsl_spi_mosi"; + pins = "gpio17"; + }; + + pinctrl_adsl_spi_clk: adsl_spi_clk { + function = "adsl_spi_clk"; + pins = "gpio18"; + }; + + pinctrl_adsl_spi_cs: adsl_spi_cs { + function = "adsl_spi_cs"; + pins = "gpio19"; + }; + }; + + pinctrl_ephy0_led: ephy0_led { + function = "ephy0_led"; + pins = "gpio20"; + }; + + pinctrl_ephy1_led: ephy1_led { + function = "ephy1_led"; + pins = "gpio21"; + }; + + pinctrl_ephy2_led: ephy2_led { + function = "ephy2_led"; + pins = "gpio22"; + }; + + pinctrl_ephy3_led: ephy3_led { + function = "ephy3_led"; + pins = "gpio23"; + }; + + pinctrl_ext_irq0: ext_irq0 { + function = "ext_irq0"; + pins = "gpio24"; + }; + + pinctrl_ext_irq1: ext_irq1 { + function = "ext_irq1"; + pins = "gpio25"; + }; + + pinctrl_ext_irq2: ext_irq2 { + function = "ext_irq2"; + pins = "gpio26"; + }; + + pinctrl_ext_irq3: ext_irq3 { + function = "ext_irq3"; + pins = "gpio27"; + }; + + pinctrl_nand: nand { + function = "nand"; + group = "nand_grp"; + }; + }; + + uart0: serial@10000100 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <3>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@10000120 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000120 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <4>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@10000800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-spi"; + reg = <0x10000800 0x70c>; + interrupts = <2>; + /* clocks = <&clkctl 15>; */ + }; + + hsspi: spi@10001000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-hsspi"; + reg = <0x10001000 0x600>; + interrupts = <5>; + /* clocks = <&clkctl 16>; */ + }; + + leds: led-controller@10001900 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6328-leds"; + reg = <0x10001900 0x24>; + status = "disabled"; + }; + }; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-actiontec-r1000h.dts b/target/linux/bcm63xx/dts/bcm6368-actiontec-r1000h.dts new file mode 100644 index 0000000000..05198a1c9a --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-actiontec-r1000h.dts @@ -0,0 +1,108 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Actiontec R1000H"; + compatible = "actiontec,r1000h", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_green { + label = "R1000H:green:inet"; + gpios = <&pinctrl 5 0>; + }; + + usb_green { + label = "R1000H:green:usb"; + gpios = <&pinctrl 21 1>; + }; + + power_green { + label = "R1000H:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + + wps_green { + label = "R1000H:green:wps"; + gpios = <&pinctrl 23 1>; + }; + + power_red { + label = "R1000H:red:power"; + gpios = <&pinctrl 24 0>; + }; + + wps_red { + label = "R1000H:red:wps"; + gpios = <&pinctrl 30 1>; + }; + + inet_red { + label = "R1000H:red:inet"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + CFE@0 { + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + reg = <0x020000 0x1fc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@1fe0000 { + reg = <0x1fe0000 0x20000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; + +&uart1 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts b/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts new file mode 100644 index 0000000000..df9dc718e1 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-adb-av4202n.dts @@ -0,0 +1,102 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + model = "ADB P.DG AV4202N"; + compatible = "adb,av4202n", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 37 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_white { + label = "AV4202N:white:power"; + gpios = <&pinctrl 10 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + power_red { + label = "AV4202N:red:power"; + gpios = <&pinctrl 11 GPIO_ACTIVE_LOW>; + }; + wan_white { + label = "AV4202N:white:wan"; + gpios = <&pinctrl 26 GPIO_ACTIVE_LOW>; + }; + wan_red { + label = "AV4202N:red:wan"; + gpios = <&pinctrl 27 GPIO_ACTIVE_LOW>; + }; + phone_white { + label = "AV4202N:white:phone"; + gpios = <&pinctrl 24 GPIO_ACTIVE_LOW>; + }; + phone_red { + label = "AV4202N:red:phone"; + gpios = <&pinctrl 25 GPIO_ACTIVE_LOW>; + }; + wifi { + label = "AV4202N:blue:wifi"; + gpios = <&pinctrl 22 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xfc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvngr.dts b/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvngr.dts new file mode 100644 index 0000000000..3df15144e4 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvngr.dts @@ -0,0 +1,58 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96368MVNgr reference board"; + compatible = "brcm,bcm96368mvngr", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "96368MVNgr:green:adsl"; + gpios = <&pinctrl 2 1>; + }; + inet_fail_green { + label = "96368MVNgr:green:inet-fail"; + gpios = <&pinctrl 3 0>; + }; + inet_green { + label = "96368MVNgr:green:inet"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "96368MVNgr:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + wps_green { + label = "96368MVNgr:green:wps"; + gpios = <&pinctrl 23 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvwg.dts b/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvwg.dts new file mode 100644 index 0000000000..1004f88396 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-brcm-bcm96368mvwg.dts @@ -0,0 +1,58 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Broadcom BCM96368MVWG reference board"; + compatible = "brcm,bcm96368mvwg", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "96368MVWG:green:adsl"; + gpios = <&pinctrl 2 1>; + }; + ppp_green { + label = "96368MVWG:green:ppp"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "96368MVWG:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + wps_green { + label = "96368MVWG:green:wps"; + gpios = <&pinctrl 23 1>; + }; + ppp_fail_red { + label = "96368MVWG:red:ppp-fail"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "brcm,bcm963xx-cfe-nor-partitions"; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025u.dts b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025u.dts new file mode 100644 index 0000000000..248ec1d73d --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025u.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3025u"; + compatible = "comtrend,vr-3025u", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3025u:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "VR-3025u:green:inet"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "VR-3025u:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3025u:red:power"; + gpios = <&pinctrl 24 0>; + }; + inet_red { + label = "VR-3025u:red:inet"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x0020000 0x1fc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@1fe0000 { + label = "nvram"; + reg = <0x1fe0000 0x020000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025un.dts b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025un.dts new file mode 100644 index 0000000000..ac1f896434 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3025un.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3025un"; + compatible = "comtrend,vr-3025un", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3025un:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "VR-3025un:green:inet"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "VR-3025un:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3025un:red:power"; + gpios = <&pinctrl 24 0>; + }; + inet_red { + label = "VR-3025un:red:inet"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3026e.dts b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3026e.dts new file mode 100644 index 0000000000..8048d131a2 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-comtrend-vr-3026e.dts @@ -0,0 +1,92 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend VR-3026e"; + compatible = "comtrend,vr-3026e", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "VR-3026e:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "VR-3026e:green:inet"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "VR-3026e:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + power_red { + label = "VR-3026e:red:power"; + gpios = <&pinctrl 24 0>; + }; + inet_red { + label = "VR-3026e:red:inet"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts new file mode 100644 index 0000000000..77ecc62abd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg622.dts @@ -0,0 +1,96 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG622"; + compatible = "huawei,echolife-hg622", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "HG622:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "HG622:green:inet"; + gpios = <&pinctrl 5 1>; + }; + usb_green { + label = "HG622:green:usb"; + gpios = <&pinctrl 11 1>; + }; + power_green { + label = "HG622:green:power"; + gpios = <&pinctrl 22 1>; + default-state = "on"; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0xf80000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + cal_data@fa0000 { + label = "cal_data"; + reg = <0xfa0000 0x020000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0xfe0000 0x020000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci_gnt0 &pinctrl_pci_req0 + &pinctrl_pci_intb &pinctrl_pci_gnt1 + &pinctrl_pci_req1>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg655b.dts b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg655b.dts new file mode 100644 index 0000000000..3f855bf0c9 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-huawei-echolife-hg655b.dts @@ -0,0 +1,121 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Huawei EchoLife HG655b"; + compatible = "huawei,echolife-hg655b", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&pinctrl 12 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 23 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "HW65x:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + internet_green { + label = "HW65x:green:internet"; + gpios = <&pinctrl 5 1>; + }; + + usb_green { + label = "HW65x:green:usb"; + gpios = <&pinctrl 14 1>; + }; + power_green { + label = "HW65x:green:power"; + gpios = <&pinctrl 22 1>; + default-state = "on"; + }; + voip_green { + label = "HW65x:green:voip"; + gpios = <&pinctrl 25 1>; + }; + wps_green { + label = "HW65x:green:wps"; + gpios = <&pinctrl 27 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x770000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + 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>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-netgear-dgnd3700-v1.dts b/target/linux/bcm63xx/dts/bcm6368-netgear-dgnd3700-v1.dts new file mode 100644 index 0000000000..0354d8eddd --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-netgear-dgnd3700-v1.dts @@ -0,0 +1,185 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear DGND3700v1/DGND3800B"; + compatible = "netgear,dgnd3700-v1", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wlan { + label = "wlan"; + gpios = <&pinctrl 10 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 12 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_green { + label = "DGND3700v1_3800B:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_red { + label = "DGND3700v1_3800B:red:inet"; + gpios = <&pinctrl 4 1>; + }; + inet_green { + label = "DGND3700v1_3800B:green:inet"; + gpios = <&pinctrl 5 1>; + }; + wps_green { + label = "DGND3700v1_3800B:green:wps"; + gpios = <&pinctrl 11 1>; + }; + usbfront_green { + label = "DGND3700v1_3800B:green:usb-front"; + gpios = <&pinctrl 13 1>; + }; + usbback_green { + label = "DGND3700v1_3800B:green:usb-back"; + gpios = <&pinctrl 14 1>; + }; + power_red { + label = "DGND3700v1_3800B:red:power"; + gpios = <&pinctrl 22 1>; + }; + lan_green { + label = "DGND3700v1_3800B:green:lan"; + gpios = <&pinctrl 23 1>; + }; + power_green { + label = "DGND3700v1_3800B:green:power"; + gpios = <&pinctrl 24 1>; + default-state = "on"; + }; + wifi2g_green { + label = "DGND3700v1_3800B:green:wifi2g"; + gpios = <&pinctrl 26 1>; + }; + wifi5g_blue { + label = "DGND3700v1_3800B:blue:wifi5g"; + gpios = <&pinctrl 27 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x020000 0x1e20000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + board_data@1e40000 { + label = "board_data"; + reg = <0x1e40000 0x1a0000>; + read-only; + }; + + nvram@1fe0000 { + label = "nvram"; + reg = <0x1fe0000 0x20000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&lsspi { + switch@1 { + compatible = "brcm,bcm53115"; + reg = <1>; + spi-max-frequency = <781000>; + + lede,alias = "eth0"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + wan@0 { + reg = <0>; + label = "wan"; + }; + + lan@1 { + reg = <1>; + label = "lan1"; + }; + + lan@2 { + reg = <2>; + label = "lan2"; + }; + + lan@3 { + reg = <3>; + label = "lan3"; + }; + + lan@4 { + reg = <4>; + label = "lan4"; + }; + + cpu@8 { + reg = <8>; + label = "cpu"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-observa-vh4032n.dts b/target/linux/bcm63xx/dts/bcm6368-observa-vh4032n.dts new file mode 100644 index 0000000000..48f35b16e7 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-observa-vh4032n.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Observa VH4032N"; + compatible = "observa,vh4032n", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wlan { + label = "wlan"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl_blue { + label = "VH4032N:blue:dsl"; + gpios = <&pinctrl 2 1>; + }; + dsl_red { + label = "VH4032N:red:dsl"; + gpios = <&pinctrl 5 1>; + }; + hspa_blue { + label = "VH4032N:blue:hspa"; + gpios = <&pinctrl 11 1>; + }; + hspa_red { + label = "VH4032N:red:hspa"; + gpios = <&pinctrl 12 1>; + }; + power_blue { + label = "VH4032N:blue:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + power_red { + label = "VH4032N:red:power"; + gpios = <&pinctrl 24 0>; + }; + voice_blue { + label = "VH4032N:blue:voice"; + gpios = <&pinctrl 25 1>; + }; + voice_red { + label = "VH4032N:red:voice"; + gpios = <&pinctrl 26 1>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci &pinctrl_ephy0_led &pinctrl_ephy1_led + &pinctrl_ephy2_led &pinctrl_ephy3_led>; + + usb_hub_reset { + gpio-hog; + gpios = <27 0>; + output-high; + line-name = "usb-hub-reset-gpio"; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x0000000 0x0020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x0020000 0x1fc0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@1fe0000 { + label = "nvram"; + reg = <0x1fe0000 0x020000>; + }; + }; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368-zyxel-p870hw-51a-v2.dts b/target/linux/bcm63xx/dts/bcm6368-zyxel-p870hw-51a-v2.dts new file mode 100644 index 0000000000..c123832803 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368-zyxel-p870hw-51a-v2.dts @@ -0,0 +1,98 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Zyxel P870HW-51a v2"; + compatible = "zyxel,p870hw-51a-v2", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 36 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green { + label = "P870HW-51a:green:power"; + gpios = <&pinctrl 0 0>; + default-state = "on"; + }; + dsl_green { + label = "P870HW-51a:green:dsl"; + gpios = <&pinctrl 2 1>; + }; + inet_green { + label = "P870HW-51a:green:inet"; + gpios = <&pinctrl 22 1>; + }; + wps_orange { + label = "P870HW-51a:orange:wps"; + gpios = <&pinctrl 24 1>; + }; + inet_red { + label = "P870HW-51a:red:inet"; + gpios = <&pinctrl 33 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x3e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@3f0000 { + label = "nvram"; + reg = <0x3f0000 0x010000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6368.dtsi b/target/linux/bcm63xx/dts/bcm6368.dtsi new file mode 100644 index 0000000000..b834f9ef0f --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6368.dtsi @@ -0,0 +1,319 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "brcm,bcm6368"; + + aliases { + pflash = &pflash; + pinctrl = &pinctrl; + serial0 = &uart0; + serial1 = &uart1; + spi0 = &lsspi; + }; + + 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"; + interrupt-parent = <&periph_intc>; + + ext_intc0: interrupt-controller@10000018 { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x10000018 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <20>, <21>, <22>, <23>; + }; + + ext_intc1: interrupt-controller@1000001c { + compatible = "brcm,bcm6345-ext-intc"; + reg = <0x1000001c 0x4>; + + interrupt-controller; + #interrupt-cells = <2>; + + interrupts = <24>, <25>; + }; + + periph_intc: interrupt-controller@10000020 { + compatible = "brcm,bcm6345-l1-intc"; + reg = <0x10000020 0x10>, + <0x10000030 0x10>; + + interrupt-controller; + #interrupt-cells = <1>; + + interrupt-parent = <&cpu_intc>; + interrupts = <2>, <3>; + }; + + pinctrl: pin-controller@10000080 { + compatible = "brcm,bcm6368-pinctrl"; + reg = <0x10000080 0x8>, + <0x10000088 0x8>, + <0x10000098 0x4>; + reg-names = "dirout", "dat", "mode"; + brcm,gpiobasemode = <&gpiobasemode>; + + gpio-controller; + #gpio-cells = <2>; + + interrupts-extended = <&ext_intc1 0 0>, + <&ext_intc1 1 0>, + <&ext_intc0 0 0>, + <&ext_intc0 1 0>, + <&ext_intc0 2 0>, + <&ext_intc0 3 0>; + interrupt-names = "gpio32", "gpio33", "gpio34", "gpio35", + "gpio36", "gpio37"; + + pinctrl_analog_afe_0: analog_afe_0 { + function = "analog_afe_0"; + pins = "gpio0"; + }; + + pinctrl_analog_afe_1: analog_afe_1 { + function = "analog_afe_1"; + pins = "gpio1"; + }; + + pinctrl_sys_irq: sys_irq { + function = "sys_irq"; + pins = "gpio2"; + }; + + pinctrl_serial_led: serial_led { + pinctrl_serial_led_data: serial_led_data { + function = "serial_led_data"; + pins = "gpio3"; + }; + + pinctrl_serial_led_clk: serial_led_clk { + function = "serial_led_clk"; + pins = "gpio4"; + }; + }; + + pinctrl_inet_led: inet_led { + function = "inet_led"; + pins = "gpio5"; + }; + + pinctrl_ephy0_led: ephy0_led { + function = "ephy0_led"; + pins = "gpio6"; + }; + + pinctrl_ephy1_led: ephy1_led { + function = "ephy1_led"; + pins = "gpio7"; + }; + + pinctrl_ephy2_led: ephy2_led { + function = "ephy2_led"; + pins = "gpio8"; + }; + + pinctrl_ephy3_led: ephy3_led { + function = "ephy3_led"; + pins = "gpio9"; + }; + + pinctrl_robosw_led_data: robosw_led_data { + function = "robosw_led_data"; + pins = "gpio10"; + }; + + pinctrl_robosw_led_clk: robosw_led_clk { + function = "robosw_led_clk"; + pins = "gpio11"; + }; + + pinctrl_robosw_led0: robosw_led0 { + function = "robosw_led0"; + pins = "gpio12"; + }; + + pinctrl_robosw_led1: robosw_led1 { + function = "robosw_led1"; + pins = "gpio13"; + }; + + pinctrl_usb_device_led: usb_device_led { + function = "usb_device_led"; + pins = "gpio14"; + }; + + pinctrl_pci: pci { + pinctrl_pci_req1: pci_req1 { + function = "pci_req1"; + pins = "gpio16"; + }; + + pinctrl_pci_gnt1: pci_gnt1 { + function = "pci_gnt1"; + pins = "gpio17"; + }; + + pinctrl_pci_intb: pci_intb { + function = "pci_intb"; + pins = "gpio18"; + }; + + pinctrl_pci_req0: pci_req0 { + function = "pci_req0"; + pins = "gpio19"; + }; + + pinctrl_pci_gnt0: pci_gnt0 { + function = "pci_gnt0"; + pins = "gpio20"; + }; + }; + + pinctrl_pcmcia: pcmcia { + pinctrl_pcmcia_cd1: pcmcia_cd1 { + function = "pcmcia_cd1"; + pins = "gpio22"; + }; + + pinctrl_pcmcia_cd2: pcmcia_cd2 { + function = "pcmcia_cd2"; + pins = "gpio23"; + }; + + pinctrl_pcmcia_vs1: pcmcia_vs1 { + function = "pcmcia_vs1"; + pins = "gpio24"; + }; + + pinctrl_pcmcia_vs2: pcmcia_vs2 { + function = "pcmcia_vs2"; + pins = "gpio25"; + }; + }; + + pinctrl_ebi_cs2: ebi_cs2 { + function = "ebi_cs2"; + pins = "gpio26"; + }; + + pinctrl_ebi_cs3: ebi_cs3 { + function = "ebi_cs2"; + pins = "gpio27"; + }; + + pinctrl_spi_cs2: spi_cs2 { + function = "spi_cs2"; + pins = "gpio28"; + }; + + pinctrl_spi_cs3: spi_cs3 { + function = "spi_cs3"; + pins = "gpio29"; + }; + + pinctrl_spi_cs4: spi_cs4 { + function = "spi_cs4"; + pins = "gpio30"; + }; + + pinctrl_spi_cs5: spi_cs5 { + function = "spi_cs5"; + pins = "gpio31"; + }; + + pinctrl_uart1: uart1 { + function = "uart1"; + group = "uart1_grp"; + }; + }; + + gpiobasemode: gpiobasemode@100000b8 { + compatible = "brcm,bcm6368-gpiobasemode", "syscon"; + reg = <0x100000b8 0x4>; + }; + + leds: led-controller@100000d0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-leds"; + reg = <0x100000d0 0x8>; + status = "disabled"; + }; + + uart0: serial@10000100 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000100 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <2>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + uart1: serial@10000120 { + compatible = "brcm,bcm6345-uart"; + reg = <0x10000120 0x18>; + + interrupt-parent = <&periph_intc>; + interrupts = <3>; + + /* clocks = <&periph_clk>; */ + /* clock-names = "refclk"; */ + + status = "disabled"; + }; + + lsspi: spi@10000800 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "brcm,bcm6358-spi"; + reg = <0x10000800 0x70c>; + interrupts = <1>; + /* clocks = <&clkctl 9>; */ + }; + }; + + 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/bcm63xx/dts/bcm6369-comtrend-wap-5813n.dts b/target/linux/bcm63xx/dts/bcm6369-comtrend-wap-5813n.dts new file mode 100644 index 0000000000..c6db2721de --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6369-comtrend-wap-5813n.dts @@ -0,0 +1,157 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Comtrend WAP-5813n"; + compatible = "comtrend,wap-5813n", "brcm,bcm6369", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wlan { + label = "wlan"; + gpios = <&pinctrl 32 1>; + linux,code = <KEY_WLAN>; + debounce-interval = <60>; + }; + + reset { + label = "reset"; + gpios = <&pinctrl 34 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 35 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + inet_green { + label = "WAP-5813n:green:inet"; + gpios = <&pinctrl 5 0>; + }; + power_green { + label = "WAP-5813n:green:power"; + gpios = <&pinctrl 22 0>; + default-state = "on"; + }; + wps_green { + label = "WAP-5813n:green:wps"; + gpios = <&pinctrl 23 1>; + }; + power_red { + label = "WAP-5813n:red:power"; + gpios = <&pinctrl 24 0>; + }; + inet_red { + label = "WAP-5813n:red:inet"; + gpios = <&pinctrl 31 0>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x000000 0x010000>; + read-only; + }; + + linux@10000 { + label = "linux"; + reg = <0x010000 0x7e0000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + nvram@7f0000 { + label = "nvram"; + reg = <0x7f0000 0x010000>; + }; + }; +}; + +&lsspi { + switch@0 { + compatible = "brcm,bcm53115"; + reg = <0>; + spi-max-frequency = <781000>; + + lede,alias = "eth0"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + lan@0 { + reg = <0>; + label = "lan4"; + }; + + lan@1 { + reg = <1>; + label = "lan3"; + }; + + lan@2 { + reg = <2>; + label = "lan2"; + }; + + lan@3 { + reg = <3>; + label = "lan1"; + }; + + wan@4 { + reg = <4>; + label = "wan"; + }; + + cpu@5 { + reg = <5>; + label = "cpu"; + + fixed-link { + speed = <1000>; + full-duplex; + asym-pause; + pause; + }; + }; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; diff --git a/target/linux/bcm63xx/dts/bcm6369-netgear-evg2000.dts b/target/linux/bcm63xx/dts/bcm6369-netgear-evg2000.dts new file mode 100644 index 0000000000..93d4792740 --- /dev/null +++ b/target/linux/bcm63xx/dts/bcm6369-netgear-evg2000.dts @@ -0,0 +1,124 @@ +/dts-v1/; + +#include "bcm6368.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + model = "Netgear EVG2000"; + compatible = "netgear,evg2000", "brcm,bcm6369", "brcm,bcm6368"; + + chosen { + bootargs = "rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200"; + stdout-path = "serial0:115200n8"; + }; + + keys { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&pinctrl 25 1>; + linux,code = <KEY_RESTART>; + debounce-interval = <60>; + }; + + wps { + label = "wps"; + gpios = <&pinctrl 26 1>; + linux,code = <KEY_WPS_BUTTON>; + debounce-interval = <60>; + }; + }; + + leds { + compatible = "gpio-leds"; + + voip1_green { + label = "EVG2000:green:voip1"; + gpios = <&pinctrl 14 1>; + }; + voip2_green { + label = "EVG2000:green:voip2"; + gpios = <&pinctrl 2 1>; + }; + inet_red { + label = "EVG2000:red:inet"; + gpios = <&pinctrl 4 1>; + }; + inet_green { + label = "EVG2000:green:inet"; + gpios = <&pinctrl 5 1>; + }; + usb_green { + label = "EVG2000:green:usb"; + gpios = <&pinctrl 15 1>; + }; + power_green { + label = "EVG2000:green:power"; + gpios = <&pinctrl 22 1>; + default-state = "on"; + }; + power_red { + label = "EVG2000:red:power"; + gpios = <&pinctrl 23 1>; + }; + lan_green { + label = "EVG2000:green:lan"; + gpios = <&pinctrl 24 1>; + }; + wireless_green { + label = "EVG2000:green:wireless"; + gpios = <&pinctrl 26 1>; + }; + wan_green { + label = "EVG2000:green:wan"; + gpios = <&pinctrl 27 1>; + }; + }; +}; + +&pflash { + status = "ok"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + cfe@0 { + label = "CFE"; + reg = <0x00000000 0x00020000>; + read-only; + }; + + linux@20000 { + label = "linux"; + reg = <0x00020000 0x00f40000>; + compatible = "brcm,bcm963xx-imagetag"; + }; + + board_data@f60000 { + label = "board_data"; + reg = <0x00f60000 0x00080000>; + read-only; + }; + + nvram@fe0000 { + label = "nvram"; + reg = <0x00fe0000 0x00020000>; + }; + }; +}; + +&pinctrl { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pci>; +}; + +&uart0 { + status = "ok"; +}; |