diff options
author | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-10-19 15:57:40 +0200 |
---|---|---|
committer | Adrian Schmutzler <freifunk@adrianschmutzler.de> | 2020-10-19 15:57:40 +0200 |
commit | 21cf17bb4ce5cb0cacb15d3659a544c215590001 (patch) | |
tree | 83e0149d930001faa1bc984f143417a314b1a77f /target/linux/lantiq/files | |
parent | f47cb405cafd57a25fceb7630af969e08b2f671c (diff) | |
download | upstream-21cf17bb4ce5cb0cacb15d3659a544c215590001.tar.gz upstream-21cf17bb4ce5cb0cacb15d3659a544c215590001.tar.bz2 upstream-21cf17bb4ce5cb0cacb15d3659a544c215590001.zip |
lantiq: remove support for kernel 4.19
The target uses 5.4 as default kernel since 06/2020.
Kernel 4.19 support is not really maintained anymore, it does not
seem to be needed and upcoming changes (mainly DSA) will break
backward-compatibility anyway.
Thus, make maintaining of old stuff and reviewing of new stuff
easier by removing support for kernel 4.19.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Diffstat (limited to 'target/linux/lantiq/files')
82 files changed, 12121 insertions, 0 deletions
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse.dtsi new file mode 100644 index 0000000000..c477473a06 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse.dtsi @@ -0,0 +1,245 @@ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,ase"; + + aliases { + serial0 = &asc1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "mips,mips4Kc"; + reg = <0>; + }; + }; + + reboot { + compatible = "syscon-reboot"; + + regmap = <&rcu0>; + offset = <0x10>; + mask = <0x40000000>; + }; + + biu@1f800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,biu", "simple-bus"; + reg = <0x1f800000 0x800000>; + ranges = <0x0 0x1f800000 0x7fffff>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + reg = <0x80200 0xc8>; + }; + + watchdog@803f0 { + compatible = "lantiq,wdt"; + reg = <0x803f0 0x10>; + }; + }; + + sram@1f000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sram", "simple-bus"; + reg = <0x1f000000 0x800000>; + ranges = <0x0 0x1f000000 0x7fffff>; + + eiu0: eiu@101000 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,eiu-xway"; + reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + lantiq,eiu-irqs = <29 30 31>; + }; + + pmu0: pmu@102000 { + compatible = "lantiq,pmu-xway"; + reg = <0x102000 0x1000>; + }; + + cgu0: cgu@103000 { + compatible = "lantiq,cgu-xway"; + reg = <0x103000 0x1000>; + #clock-cells = <1>; + }; + + rcu0: rcu@203000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,ase-rcu", "simple-mfd", "syscon"; + reg = <0x203000 0x1000>; + ranges = <0x0 0x203000 0x100>; + big-endian; + + reset: reset-controller@10 { + compatible = "lantiq,danube-reset"; + reg = <0x10 4>, <0x14 4>; + + #reset-cells = <2>; + }; + + usb_phy: usb2-phy@18 { + compatible = "lantiq,ase-usb2-phy"; + reg = <0x18 4>; + status = "disabled"; + + resets = <&reset 4 4>; + reset-names = "ctrl"; + #phy-cells = <0>; + }; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xeefffff>; + reg = <0x10000000 0xef00000>; + + localbus: localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + }; + + spi: spi@e100800 { + compatible = "lantiq,ase-spi"; + reg = <0xe100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <24 25 26>; + interrupt-names = "spi_rx", "spi_tx", "spi_err", + "spi_frm"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>; + status = "disabled"; + }; + + gptu@e100a00 { + compatible = "lantiq,gptu-xway"; + reg = <0xe100a00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <33 34 35 36 37 38>; + }; + + gpio: pinmux@e100b10 { + compatible = "lantiq,ase-pinctrl"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xe100b10 0xa0>; + + asc_pins: asc-pins { + mux { + lantiq,groups = "asc"; + lantiq,function = "asc"; + }; + }; + + mdio_pins: mdio { + mux { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + }; + + spi_pins: spi { + mux-0 { + lantiq,groups = "spi_di"; + lantiq,function = "spi"; + }; + mux-1 { + lantiq,groups = "spi_do", "spi_clk"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + + spi_cs4_pins: spi-cs4 { + mux { + lantiq,groups = "spi_cs4"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + }; + + asc1: serial@e100c00 { + compatible = "lantiq,asc"; + reg = <0xe100c00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <72 74 75>; + pinctrl-0 = <&asc_pins>; + pinctrl-names = "default"; + }; + + mei@e116000 { + compatible = "lantiq,mei-xway"; + reg = <0xe116000 0x400>; + interrupt-parent = <&icu0>; + interrupts = <81>; + }; + + usb: usb@e101000 { + compatible = "lantiq,ase-usb"; + reg = <0xe101000 0x1000 + 0xe120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <39>; + dr_mode = "host"; + phys = <&usb_phy>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + dma0: dma@e104100 { + compatible = "lantiq,dma-xway"; + reg = <0xe104100 0x800>; + }; + + ebu0: ebu@e105300 { + compatible = "lantiq,ebu-xway"; + reg = <0xe105300 0x100>; + }; + + ppe@e234000 { + compatible = "lantiq,ppe-ase"; + reg = <0xe234000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <85>; + }; + + gsw: etop@e180000 { + compatible = "lantiq,etop-xway"; + reg = <0xe180000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <105 109>; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + }; + + adsl { + compatible = "lantiq,adsl-ase"; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts new file mode 100644 index 0000000000..67c6e87bcd --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_allnet_all0333cj.dts @@ -0,0 +1,109 @@ +#include "amazonse.dtsi" + +/ { + compatible = "allnet,all0333cj", "lantiq,xway", "lantiq,ase"; + model = "Allnet ALL0333CJ DSL Modem"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &online_green; + }; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1000000>; + }; + + leds { + compatible = "gpio-leds"; + + /* power led: red=off, green=on */ + power: power { + label = "green:power"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + lan: lan { + label = "green:lan"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + + online_green: online { + label = "green:online"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + online_red { + label = "red:online"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + keys_in { + lantiq,pins = "io0",/* "io25", */"io29"; + lantiq,pull = <2>; + lantiq,open-drain = <1>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x400000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "firmware"; + reg = <0x10000 0x3ef200>; + }; + + partition@3ff200 { + label = "u-boot-env"; + reg = <0x3ff200 0xc00>; + read-only; + }; + + partition@3ffe00 { + label = "dummy_bits"; + reg = <0x3ffe00 0x200>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts new file mode 100644 index 0000000000..144667ffb6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/amazonse_netgear_dgn1000b.dts @@ -0,0 +1,151 @@ +#include "amazonse.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "netgear,dgn1000b", "lantiq,xway", "lantiq,ase"; + model = "Netgear DGN1000B"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &online_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + wps { + label = "wps"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + online_green: online { + label = "green:online"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + online2 { + label = "red:online"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + wps { + label = "green:wps"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + power: power { + label = "green:power"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + /* + power red is missing + */ + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + keys_in { + lantiq,pins = "io0",/* "io25", */"io29"; + lantiq,pull = <2>; + lantiq,open-drain = <1>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mac-address = [ 00 11 22 33 44 55 ]; +}; + +&spi { + status = "okay"; + + flash@1 { + compatible = "jedec,spi-nor"; + reg = <1>; + spi-max-frequency = <5000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x20000>; + label = "SPI (RO) U-Boot Image"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "ENV_MAC"; + read-only; + }; + + partition@30000 { + reg = <0x30000 0x10000>; + label = "DPF"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x10000>; + label = "NVRAM"; + read-only; + }; + + partition@50000 { + reg = <0x50000 0x3a0000>; + label = "kernel"; + }; + }; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9.dtsi new file mode 100644 index 0000000000..362ecaa90c --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9.dtsi @@ -0,0 +1,421 @@ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,ar9"; + + aliases { + serial0 = &asc1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "mips,mips34K"; + reg = <0>; + }; + }; + + reboot { + compatible = "syscon-reboot"; + + regmap = <&rcu0>; + offset = <0x10>; + mask = <0x40000000>; + }; + + biu@1f800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,biu", "simple-bus"; + reg = <0x1f800000 0x800000>; + ranges = <0x0 0x1f800000 0x7fffff>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + /* TODO: AR9 should have ICU1 (like VR9) too */ + reg = <0x80200 0xc8>; + }; + + watchdog@803f0 { + compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt"; + reg = <0x803f0 0x10>; + + regmap = <&rcu0>; + }; + }; + + sram@1f000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sram", "simple-bus"; + reg = <0x1f000000 0x800000>; + ranges = <0x0 0x1f000000 0x7fffff>; + + eiu0: eiu@101000 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,eiu-xway"; + reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + lantiq,eiu-irqs = <166 135 66 40 41 42>; + }; + + pmu0: pmu@102000 { + compatible = "lantiq,pmu-xway"; + reg = <0x102000 0x1000>; + }; + + cgu0: cgu@103000 { + compatible = "lantiq,cgu-xway"; + reg = <0x103000 0x1000>; + #clock-cells = <1>; + }; + + rcu0: rcu@203000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xrx100-rcu", "simple-mfd", "syscon"; + reg = <0x203000 0x1000>; + ranges = <0x0 0x203000 0x100>; + big-endian; + + reset: reset-controller@10 { + compatible = "lantiq,xrx100-reset", "lantiq,danube-reset"; + reg = <0x10 4>, <0x14 4>; + + #reset-cells = <2>; + }; + + usb_phy0: usb2-phy@18 { + compatible = "lantiq,xrx100-usb2-phy"; + reg = <0x18 4>; + status = "disabled"; + + resets = <&reset 4 4>; + reset-names = "ctrl"; + #phy-cells = <0>; + }; + + usb_phy1: usb2-phy@34 { + compatible = "lantiq,xrx100-usb2-phy"; + reg = <0x34 4>; + status = "disabled"; + + resets = <&reset 28 28>; + reset-names = "ctrl"; + #phy-cells = <0>; + }; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xeefffff>; + reg = <0x10000000 0xef00000>; + + localbus: localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + }; + + gptu@e100a00 { + compatible = "lantiq,gptu-xway"; + reg = <0xe100a00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <126 127 128 129 130 131>; + }; + + asc0: serial@e100400 { + compatible = "lantiq,asc"; + reg = <0xe100400 0x400>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + status = "disabled"; + }; + + spi: spi@e100800 { + compatible = "lantiq,xrx100-spi"; + reg = <0xe100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; + interrupt-names = "spi_rx", "spi_tx", "spi_err", + "spi_frm"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>; + status = "disabled"; + }; + + gpio: pinmux@e100b10 { + compatible = "lantiq,xrx100-pinctrl"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xe100b10 0xa0>; + + mdio_pins: mdio { + mux { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + }; + + nand_pins: nand { + mux-0 { + lantiq,groups = "nand cle", "nand ale", + "nand rd"; + lantiq,function = "ebu"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + mux-1 { + lantiq,groups = "nand rdy"; + lantiq,function = "ebu"; + lantiq,output = <0>; + lantiq,pull = <2>; + }; + }; + + nand_cs1_pins: nand-cs1 { + mux { + lantiq,groups = "nand cs1"; + lantiq,function = "ebu"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt1_pins: pci-gnt1 { + mux { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt2_pins: pci-gnt2 { + mux { + lantiq,groups = "gnt2"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt3_pins: pci-gnt3 { + mux { + lantiq,groups = "gnt3"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt4_pins: pci-gnt4 { + mux { + lantiq,groups = "gnt4"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_req1_pins: pci-req1 { + mux { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + pci_req2_pins: pci-req2 { + mux { + lantiq,groups = "req2"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + pci_req3_pins: pci-req3 { + mux { + lantiq,groups = "req3"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + pci_req4_pins: pci-req4 { + mux { + lantiq,groups = "req4"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + spi_pins: spi { + mux-0 { + lantiq,groups = "spi_di"; + lantiq,function = "spi"; + }; + mux-1 { + lantiq,groups = "spi_do", "spi_clk"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + + spi_cs4_pins: spi-cs4 { + mux { + lantiq,groups = "spi_cs4"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + + stp_pins: stp { + mux { + lantiq,groups = "stp"; + lantiq,function = "stp"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + }; + }; + + stp: stp@e100bb0 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-stp-xway"; + gpio-controller; + reg = <0xe100bb0 0x40>; + + pinctrl-0 = <&stp_pins>; + pinctrl-names = "default"; + + status = "disabled"; + }; + + asc1: serial@e100c00 { + compatible = "lantiq,asc"; + reg = <0xe100c00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + }; + + usb0: usb@e101000 { + compatible = "lantiq,arx100-usb"; + reg = <0xe101000 0x1000 + 0xe120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62 91>; + dr_mode = "host"; + phys = <&usb_phy0>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + usb1: usb@e106000 { + compatible = "lantiq,arx100-usb"; + reg = <0xe106000 0x1000 + 0xe1e0000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <91>; + dr_mode = "host"; + phys = <&usb_phy1>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + deu@e103100 { + compatible = "lantiq,deu-arx100"; + reg = <0xe103100 0xf00>; + }; + + dma0: dma@e104100 { + compatible = "lantiq,dma-xway"; + reg = <0xe104100 0x800>; + }; + + ebu0: ebu@e105300 { + compatible = "lantiq,ebu-xway"; + reg = <0xe105300 0x100>; + }; + + mei@e116000 { + compatible = "lantiq,mei-xway"; + reg = <0xe116000 0x9c>; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + gsw: etop@e180000 { + compatible = "lantiq,etop-xway"; + reg = <0xe180000 0x40000 + 0xe108000 0x200>; + interrupt-parent = <&icu0>; + interrupts = <73 72>; + mac-address = [ 00 11 22 33 44 55 ]; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + ppe@e234000 { + compatible = "lantiq,ppe-arx100"; + reg = <0xe234000 0x3ffd>; + interrupt-parent = <&icu0>; + interrupts = <96>; + }; + + pci0: pci@e105400 { + status = "disabled"; + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + compatible = "lantiq,pci-xway"; + bus-range = <0x0 0x0>; + ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */ + 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */ + reg = <0x7000000 0x8000 /* config space */ + 0xe105400 0x400>; /* pci bridge */ + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = <0x7000 0 0 1 &icu0 30 1>; + req-mask = <0x1>; + }; + }; + + adsl { + compatible = "lantiq,adsl-arx100"; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts new file mode 100644 index 0000000000..4a4a06514f --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7312.dts @@ -0,0 +1,168 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "avm,fritz7312", "lantiq,xway", "lantiq,ar9"; + model = "AVM FRITZ!Box 7312"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &info_green; + led-wifi = &wlan; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wlan { + label = "wlan"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + dect { + label = "dect"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power: power { + label = "green:power"; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + voice { + label = "green:fon"; + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; + }; + dect { + label = "green:dect"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + }; + wlan: wlan { + label = "green:wlan"; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + }; + info_green: info_green { + label = "green:info"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ar8030-intr { + lantiq,groups = "exin3"; + lantiq,function = "exin"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + ar8030-clk { + lantiq,groups = "clkout2"; + lantiq,output = <1>; + lantiq,open-drain; + }; + ar8030-rst { + lantiq,pins = "io34"; + lantiq,output = <1>; + lantiq,pull = <2>; + lantiq,open-drain; + }; + }; +}; + +&gsw { + phy-mode = "rmii"; + phy-handle = <&phy0>; + mtd-mac-address = <&ath9k_cal 0xa91>; + mtd-mac-address-increment = <(-2)>; + + mdio-bus { + #address-cells = <1>; + #size-cells = <0>; + + phy0: ethernet-phy@0 { + reg = <0>; + reset-gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + max-speed = <100>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + ath9k_cal: partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0xf60000>; + }; + + partition@f80000 { + label = "tffs (1)"; + reg = <0xf80000 0x40000>; + read-only; + }; + + partition@fc0000 { + label = "tffs (2)"; + reg = <0xfc0000 0x40000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>, + <&pci_gnt3_pins>, <&pci_gnt4_pins>, + <&pci_req1_pins>, <&pci_req2_pins>, + <&pci_req4_pins>; + pinctrl-names = "default"; + + req-mask = <0xf>; + gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts new file mode 100644 index 0000000000..9fbac6fa12 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_avm_fritz7320.dts @@ -0,0 +1,149 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "avm,fritz7320", "lantiq,xway", "lantiq,ar9"; + model = "AVM FRITZ!Box 7320"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &info_green; + led-wifi = &wlan; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + dect { + label = "dect"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + power: power { + label = "green:power"; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + voice { + label = "green:fon"; + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; + }; + dect { + label = "green:dect"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + }; + wlan: wlan { + label = "green:wlan"; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + }; + info_green: info_green { + label = "green:info"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + }; + info_red { + label = "red:info"; + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&ath9k_cal 0xa91>; + mtd-mac-address-increment = <(-2)>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + ath9k_cal: partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0xf60000>; + }; + + partition@f80000 { + label = "tffs (1)"; + reg = <0xf80000 0x40000>; + read-only; + }; + + partition@fc0000 { + label = "tffs (2)"; + reg = <0xfc0000 0x40000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>, + <&pci_gnt3_pins>, <&pci_gnt4_pins>, + <&pci_req1_pins>, <&pci_req2_pins>, + <&pci_req3_pins>, <&pci_req4_pins>; + + req-mask = <0xf>; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts new file mode 100644 index 0000000000..61a39f9955 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_bt_homehub-v3a.dts @@ -0,0 +1,189 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "bt,homehub-v3a", "lantiq,xway", "lantiq,ar9"; + model = "BT Home Hub 3A"; /* SoC: Lantiq ar9 @ 333MHz */ + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_orange; + led-failsafe = &power_red; + led-running = &power_blue; + led-upgrade = &power_blue; + + led-dsl = &broadband_blue; + led-wifi = &wireless_blue; + }; + + memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */ + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 54 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + restart { + label = "restart"; + gpios = <&gpio 52 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + }; + wps { + label = "wps"; + gpios = <&gpio 53 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + wireless-red { + label = "red:wireless"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + wireless-orange { + label = "orange:wireless"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + wireless_blue: wireless-blue { + label = "blue:wireless"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + + broadband-red { + label = "red:broadband"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + broadband-orange { + label = "orange:broadband"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + broadband_blue: broadband-blue { + label = "blue:broadband"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + power_red: power-red { + label = "red:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + power_orange: power-orange { + label = "orange:power"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_blue: power-blue { + label = "blue:power"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + }; + }; +}; + +&gsw { + phy-mode = "rgmii"; +}; + +&localbus { + flash@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */ + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <1 0x0 0x2000000 >; + req-mask = <0x1>; /* PCI request lines to mask during NAND access */ + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "preboot"; + reg = <0x00000 0x8000>; + read-only; + }; + partition@8000 { + label = "u-boot"; + reg = <0x8000 0x05c000>; + read-only; + }; + partition@64000 { + label = "u-boot-env"; + reg = <0x64000 0x004000>; + }; + ath9k_cal: partition@68000 { + label = "art-copy"; + reg = <0x68000 0x004000>; + }; + partition@6c000 { + label = "kernel"; + reg = <0x6c000 0x200000>; + }; + partition@26c000 { + label = "ubi"; + reg = <0x26c000 0x1d94000>; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@7000 { + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts new file mode 100644 index 0000000000..e240f0c576 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_buffalo_wbmr-hp-g300h.dts @@ -0,0 +1,195 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "buffalo,wbmr-hp-g300h", "lantiq,xway", "lantiq,ar9"; + model = "Buffalo WBMR-HP-G300H"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &online_green; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + eject { + label = "eject"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + linux,code = <KEY_EJECTCD>; + }; + movie { + label = "movie"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + linux,code = <KEY_VIDEO>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power { + label = "green:power"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + security { + label = "yellow:security"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wireless"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + online_green: online { + label = "green:internet"; + gpios = <&gpio 17 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "red:internet"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + }; + movie { + label = "blue:movie"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "green:usb"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + default-state = "on"; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 36 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci-in { + lantiq,groups = "req1"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + pci-out { + lantiq,groups = "gnt1"; + lantiq,output = <1>; + lantiq,pull = <0>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&gsw { + phy-mode = "rgmii"; + mtd-mac-address = <&boardconfig 0x10024>; +}; + +&pci0 { + status = "okay"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x60000 0x1f20000>; + }; + + boardconfig: partition@1fc0000 { + label = "board"; + reg = <0x1fc0000 0x20000>; + read-only; + }; + + partition@1fe0000 { + label = "calibration"; + reg = <0x1fe0000 0x20000>; + read-only; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts new file mode 100644 index 0000000000..b4fc4e4bde --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dts @@ -0,0 +1,6 @@ +#include "ar9_netgear_dgn3500.dtsi" + +/ { + compatible = "netgear,dgn3500", "lantiq,xway", "lantiq,ar9"; + model = "Netgear DGN3500"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi new file mode 100644 index 0000000000..18168230b6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500.dtsi @@ -0,0 +1,185 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + chosen { + bootargs = "root= console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &internet; + led-usb = &led_usb; + led-wifi = &wifi_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + rtl8366rb { + compatible = "realtek,rtl8366rb"; + gpio-sda = <&gpio 35 GPIO_ACTIVE_HIGH>; + gpio-sck = <&gpio 37 GPIO_ACTIVE_HIGH>; + + realtek,initvals = < + 0x0000 0x0830 + 0x0400 0x8130 + 0x000a 0x83ed + 0x0f51 0x0017 + 0x02f5 0x0048 + 0x02fa 0xffdf + 0x02fb 0xffe0 + 0x0450 0x0000 + 0x0401 0x0000 + 0x0431 0x0960 + >; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 36 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + wps { + label = "wps"; + gpios = <&gpio 54 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 53 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + internet: internet { + label = "green:internet"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + internet2 { + label = "red:internet"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "green:usb"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + power_green: power { + label = "green:power"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + }; + wifi_green: wifi { + label = "green:wireless"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + wifi2 { + label = "amber:wireless"; + gpios = <&gpio 51 GPIO_ACTIVE_LOW>; + }; + wps { + label = "green:wps"; + gpios = <&gpio 52 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + }; +}; + +&gsw { + phy-mode = "mii"; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@168c,0029 { + compatible = "pci168c,0029"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + }; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <20000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x10000>; + label = "uboot"; + read-only; + }; + + partition@10000 { + reg = <0x10000 0x10000>; + label = "u-boot-env"; + read-only; + }; + + ath9k_cal: partition@20000 { + reg = <0x20000 0x10000>; + label = "calibration"; + read-only; + }; + + partition@50000 { + reg = <0x50000 0xfa0000>; + label = "firmware"; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts new file mode 100644 index 0000000000..e071f02bc0 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_netgear_dgn3500b.dts @@ -0,0 +1,6 @@ +#include "ar9_netgear_dgn3500.dtsi" + +/ { + compatible = "netgear,dgn3500b", "lantiq,xway", "lantiq,ar9"; + model = "Netgear DGN3500B"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts new file mode 100644 index 0000000000..486261d742 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zte_h201l.dts @@ -0,0 +1,170 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "zte,h201l", "lantiq,xway", "lantiq,ar9"; + model = "ZTE H210L"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_green; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &online; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 53 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + wps { + label = "wps"; + gpios = <&gpio 54 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 55 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power { + label = "green:power"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + online: online { + label = "green:internet"; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + phone { + label = "green:phone"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + }; + wps { + label = "green:wps"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "green:usb"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + switch { + gpio-export,name = "switch"; + gpio-export,output = <1>; + gpios = <&gpio 38 GPIO_ACTIVE_HIGH>; + }; + usb { + gpio-export,name = "usb"; + gpio-export,output = <1>; + gpios = <&gpio 28 GPIO_ACTIVE_HIGH>; + }; + wifi { + gpio-export,name = "wifi"; + gpio-export,output = <1>; + gpios = <&gpio 7 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 36 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + }; +}; + +&gsw { + phy-mode = "rgmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x20000 0x10000>; + read-only; + }; + + partition@30000 { + label = "firmware"; + reg = <0x30000 0x7d0000>; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts new file mode 100644 index 0000000000..2177726d81 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/ar9_zyxel_p-2601hn.dts @@ -0,0 +1,176 @@ +#include "ar9.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "zyxel,p-2601hn", "lantiq,xway", "lantiq,ar9"; + model = "ZyXEL P-2601HN-Fx"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &online; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 53 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 54 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power { + label = "green:power"; + gpios = <&stp 11 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "green:internet"; + gpios = <&stp 13 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "red:internet"; + gpios = <&stp 12 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&stp 14 GPIO_ACTIVE_LOW>; + }; + phone { + label = "green:phone"; + gpios = <&stp 9 GPIO_ACTIVE_LOW>; + }; + phone2 { + label = "orange:phone"; + gpios = <&stp 8 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wireless"; + gpios = <&stp 15 GPIO_ACTIVE_LOW>; + }; + wifi2 { + label = "orange:wireless"; + gpios = <&stp 10 GPIO_ACTIVE_LOW>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + switch { + gpio-export,name = "switch"; + gpio-export,output = <1>; + gpios = <&gpio 50 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 9 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + }; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0xfa0000>; + }; + }; + }; +}; + +&pci0 { + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; +}; + +&stp { + status = "okay"; + lantiq,shadow = <0xfff>; + lantiq,groups = <0x3>; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi new file mode 100644 index 0000000000..ced3e3bcb4 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube.dtsi @@ -0,0 +1,327 @@ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,danube"; + + aliases { + serial0 = &asc1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "mips,mips24Kc"; + reg = <0>; + }; + }; + + reboot { + compatible = "syscon-reboot"; + + regmap = <&rcu0>; + offset = <0x10>; + mask = <0x40000000>; + }; + + biu@1f800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,biu", "simple-bus"; + reg = <0x1f800000 0x800000>; + ranges = <0x0 0x1f800000 0x7fffff>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + /* + * There is a second ICU, but the SoC is not SMP + * capable. + */ + reg = <0x80200 0xc8>; + }; + + watchdog@803f0 { + compatible = "lantiq,wdt"; + reg = <0x803f0 0x10>; + }; + }; + + sram@1f000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sram", "simple-bus"; + reg = <0x1f000000 0x800000>; + ranges = <0x0 0x1f000000 0x7fffff>; + + eiu0: eiu@101000 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,eiu-xway"; + reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + lantiq,eiu-irqs = <166 135 66>; + }; + + pmu0: pmu@102000 { + compatible = "lantiq,pmu-xway"; + reg = <0x102000 0x1000>; + }; + + cgu0: cgu@103000 { + compatible = "lantiq,cgu-xway"; + reg = <0x103000 0x1000>; + #clock-cells = <1>; + }; + + vmmc: vmmc@107000 { + status = "disabled"; + compatible = "lantiq,vmmc-xway"; + reg = <0x107000 0x400>; + interrupt-parent = <&icu0>; + interrupts = <150 151 152 153 154 155>; + }; + + rcu0: rcu@203000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,danube-rcu", "simple-mfd", "syscon"; + reg = <0x203000 0x1000>; + ranges = <0x0 0x203000 0x100>; + big-endian; + + reset: reset-controller@10 { + compatible = "lantiq,danube-reset"; + reg = <0x10 4>, <0x14 4>; + + #reset-cells = <2>; + }; + + usb_phy: usb2-phy@18 { + compatible = "lantiq,danube-usb2-phy"; + reg = <0x18 4>; + status = "disabled"; + + resets = <&reset 4 4>; + reset-names = "ctrl"; + #phy-cells = <0>; + }; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xeefffff>; + reg = <0x10000000 0xef00000>; + + localbus: localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + }; + + gptu@e100a00 { + compatible = "lantiq,gptu-xway"; + reg = <0xe100a00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <126 127 128 129 130 131>; + }; + + gpios: stp@e100bb0 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-stp-xway"; + gpio-controller; + reg = <0xe100bb0 0x40>; + + pinctrl-0 = <&stp_pins>; + pinctrl-names = "default"; + + lantiq,shadow = <0xfff>; + lantiq,groups = <0x3>; + status = "disabled"; + }; + + asc0: serial@e100400 { + compatible = "lantiq,asc"; + reg = <0xe100400 0x400>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + status = "disabled"; + }; + + gpio: pinmux@e100b10 { + compatible = "lantiq,danube-pinctrl"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xe100b10 0xa0>; + + nand_pins: nand { + mux-0 { + lantiq,groups = "nand cle", "nand ale", + "nand rd"; + lantiq,function = "ebu"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + mux-1 { + lantiq,groups = "nand rdy"; + lantiq,function = "ebu"; + lantiq,output = <0>; + lantiq,pull = <2>; + }; + }; + + nand_cs1_pins: nand-cs1 { + mux { + lantiq,groups = "nand cs1"; + lantiq,function = "ebu"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt1_pins: pci-gnt1 { + mux { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt2_pins: pci-gnt2 { + mux { + lantiq,groups = "gnt2"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_req1_pins: pci-req1 { + mux { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + pci_req2_pins: pci-req2 { + mux { + lantiq,groups = "req2"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + stp_pins: stp { + mux { + lantiq,groups = "stp"; + lantiq,function = "stp"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + }; + }; + + asc1: serial@e100c00 { + compatible = "lantiq,asc"; + reg = <0xe100c00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + }; + + usb: usb@e101000 { + compatible = "lantiq,danube-usb"; + reg = <0xe101000 0x1000 + 0xe120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62>; + dr_mode = "host"; + phys = <&usb_phy>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + deu@e103100 { + compatible = "lantiq,deu-danube"; + reg = <0xe103100 0xf00>; + }; + + dma0: dma@e104100 { + compatible = "lantiq,dma-xway"; + reg = <0xe104100 0x800>; + }; + + ebu0: ebu@e105300 { + compatible = "lantiq,ebu-xway"; + reg = <0xe105300 0x100>; + }; + + mei@e116000 { + compatible = "lantiq,mei-xway"; + reg = <0xe116000 0x400>; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + gsw: etop@e180000 { + compatible = "lantiq,etop-xway"; + reg = <0xe180000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <73 78>; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + ppe@e234000 { + compatible = "lantiq,ppe-danube"; + reg = <0xe234000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <96>; + }; + + pci0: pci@e105400 { + status = "disabled"; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + compatible = "lantiq,pci-xway"; + bus-range = <0x0 0x0>; + ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */ + 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */ + reg = <0x7000000 0x8000 /* config space */ + 0xe105400 0x400>; /* pci bridge */ + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */ + req-mask = <0x1>; /* GNT1 */ + }; + }; + + adsl { + compatible = "lantiq,adsl-danube"; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts new file mode 100644 index 0000000000..a6a8b93a24 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4510pw.dts @@ -0,0 +1,212 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv4510pw", "lantiq,xway", "lantiq,danube"; + model = "Wippies, Elisa"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power2; + led-running = &power; + led-upgrade = &power; + + led-dsl = &adsl; + led-internet = &internet; + led-usb = &led_usb; + led-usb2 = &led_usb2; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power: power { + label = "power"; + gpios = <&gpios 21 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + power2: power2 { + label = "power2"; + gpios = <&gpios 20 GPIO_ACTIVE_HIGH>; + }; + lan1 { + label = "lan1"; + gpios = <&gpios 19 GPIO_ACTIVE_HIGH>; + }; + lan2 { + label = "lan2"; + gpios = <&gpios 18 GPIO_ACTIVE_HIGH>; + }; + lan3 { + label = "lan3"; + gpios = <&gpios 17 GPIO_ACTIVE_HIGH>; + }; + lan4 { + label = "lan4"; + gpios = <&gpios 16 GPIO_ACTIVE_HIGH>; + }; + wifi: wifi { + label = "wifi"; + gpios = <&gpios 15 GPIO_ACTIVE_HIGH>; + }; + adsl: adsl { + label = "adsl"; + gpios = <&gpios 14 GPIO_ACTIVE_HIGH>; + }; + internet: internet { + label = "internet"; + gpios = <&gpios 13 GPIO_ACTIVE_HIGH>; + }; + internet2 { + label = "internet2"; + gpios = <&gpios 12 GPIO_ACTIVE_HIGH>; + }; + voip { + label = "voip"; + gpios = <&gpios 11 GPIO_ACTIVE_HIGH>; + }; + phone { + label = "phone"; + gpios = <&gpios 10 GPIO_ACTIVE_HIGH>; + }; + phone2 { + label = "phone2"; + gpios = <&gpios 9 GPIO_ACTIVE_HIGH>; + }; + led_usb: usb { + label = "usb"; + gpios = <&gpios 8 GPIO_ACTIVE_HIGH>; + }; + led_usb2: usb2 { + label = "usb2"; + gpios = <&gpios 7 GPIO_ACTIVE_HIGH>; + }; + usb3 { + label = "usb3"; + gpios = <&gpios 6 GPIO_ACTIVE_HIGH>; + }; + unlabeled { + label = "unlabeled"; + gpios = <&gpios 5 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu a23"; + lantiq,function = "ebu"; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + exin { + lantiq,groups = "exin1", "exin2"; + lantiq,function = "exin"; + lantiq,output = <0>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + buttons { + lantiq,pins = "io3", "io14"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + }; +}; + +&gpios { + status = "okay"; + lantiq,groups = <0x7>; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + lantiq,noxip; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0xfa0000>; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>, + <&pci_req1_pins>, <&pci_req2_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + interrupt-map = < + 0x6000 0 0 1 &icu0 135 + 0x7800 0 0 1 &icu0 66 + 0x7800 0 0 2 &icu0 66 + 0x7800 0 0 3 &icu0 66 + >; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0x7>; +}; + +&vmmc { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts new file mode 100644 index 0000000000..50ae5c791e --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dts @@ -0,0 +1,6 @@ +#include "danube_arcadyan_arv4518pwr01.dtsi" + +/ { + compatible = "arcadyan,arv4518pwr01", "lantiq,xway", "lantiq,danube"; + model = "SMC7908A-ISP"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi new file mode 100644 index 0000000000..48fe88fea8 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01.dtsi @@ -0,0 +1,200 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &online; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + ath,eep-flash = <&boardconfig 0x400>; + ath,mac-offset = <0x16>; + ath,mac-increment = <1>; + ath,eep-swap; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power: power { + label = "power"; + gpios = <&gpio 3 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + dsl: dsl { + label = "dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "online"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "wifi"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "usb"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + boardconfig: partition@3f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_gnt2_pins>, + <&pci_req1_pins>, <&pci_req2_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0xf>; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts new file mode 100644 index 0000000000..866866c3eb --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4518pwr01a.dts @@ -0,0 +1,10 @@ +#include "danube_arcadyan_arv4518pwr01.dtsi" + +/ { + compatible = "arcadyan,arv4518pwr01a", "lantiq,xway", "lantiq,danube"; + model = "SMC7908A-ISP, Airties WAV-221"; +}; + +&pci0 { + lantiq,external-clock; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts new file mode 100644 index 0000000000..18a2bfbe83 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4519pw.dts @@ -0,0 +1,203 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv4519pw", "lantiq,xway", "lantiq,danube"; + model = "Vodafone Netfaster IAD 2, Pirelli P.RG A4201G"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &internet_green; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power { + label = "green:power"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + internet_green: online { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "red:internet"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "green:usb"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + voip { + label = "green:voip"; + gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "green:phone1"; + gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "green:phone2"; + gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "green:line"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "green:wps"; + gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>; + }; + wps { + label = "orange:wps"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + wps3 { + label = "red:wps"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + boardconfig: partition@3f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x400>; + }; +}; + +&pci0 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0xf>; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts new file mode 100644 index 0000000000..4c76350bdc --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4520pw.dts @@ -0,0 +1,220 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv4520pw", "lantiq,xway", "lantiq,danube"; + model = "Easybox 800, WAV-281"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_blue; + led-failsafe = &power_red; + led-running = &power_blue; + led-upgrade = &power_blue; + + led-dsl = &dsl; + led-internet = &internet_blue; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "wps"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_blue: power { + label = "blue:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + dsl: dsl { + label = "blue:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + internet_blue: internet { + label = "blue:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + wps { + label = "yellow:wps"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "red:wps"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + /* + wps green is missing + */ + fxs1 { + label = "blue:telefon1"; + gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "blue:telefon2"; + gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>; + }; + isdn { + label = "blue:isdn"; + gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "blue:line"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + voice { + label = "blue:sprache"; + gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "blue:usb"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "blue:wifi"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + internet2 { + label = "red:internet"; + gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>; + }; + /* + info is missing + */ + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 28 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; +}; + +&gsw { + /* gpiomm 10 - switch */ + phy-mode = "rmii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x20000 0x10000>; + read-only; + }; + + partition@30000 { + label = "firmware"; + reg = <0x30000 0x3c0000>; + }; + + boardconfig: partition@7f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x400>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH + &gpiomm 7 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts new file mode 100644 index 0000000000..df44abf92f --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv4525pw.dts @@ -0,0 +1,149 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv4525pw", "lantiq,xway", "lantiq,danube"; + model = "Speedport W501V Typ A"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + /* we dont have a power led, lets use the online led */ + led-boot = &online; + led-failsafe = &online; + + led-dsl = &dsl; + led-internet = &online; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + ath,eep-flash = <&boardconfig 0x400>; + ath,mac-offset = <0x0>; + ath,eep-swap; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + fxo { + label = "green:festnetz"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + fxs { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:t-dsl"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "green:online"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + relay { + lantiq,pins = "io31"; + lantiq,output = <1>; + }; + }; +}; + +/* #define ARV4525PW_PHYRESET 13 */ +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + boardconfig: partition@3f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +/* #define ARV4525PW_RELAY 31 */ +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts new file mode 100644 index 0000000000..bc04677d46 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv452cqw.dts @@ -0,0 +1,238 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv452cqw", "lantiq,xway", "lantiq,danube"; + model = "Arcor 801"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_blue; + led-failsafe = &power_red; + led-running = &power_blue; + led-upgrade = &power_blue; + + led-dsl = &dsl_blue; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + ath,eep-flash = <&boardconfig 0x400>; + ath,mac-offset = <0x0>; + ath,eep-swap; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + wps { + label = "wps"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power_blue: power0 { + label = "blue:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + dsl_blue: dsl { + label = "blue:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + isdn { + label = "blue:isdn"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + power_red: power1 { + label = "red:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + wps { + label = "blue:wps"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + wps1 { + label = "yellow:wps"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "blue:telefon1"; + gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "blue:telefon2"; + gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "red:wps"; + gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "blue:line"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + voice { + label = "blue:sprache"; + gpios = <&gpiomm 4 1>; + }; + led_usb: usb { + label = "blue:usb"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "blue:wlan"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + /* + internet blue and internet red are missing + dsl2 and dsl3 are not referenced in manual + */ + dsl2 { + label = "yellow:dsl"; + gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>; + }; + dsl3 { + label = "red:dsl"; + gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 28 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io3", "io5", "io6", "io7", "io9"; + lantiq,output = <1>; + }; + }; +}; + +/* +#define ARV452CPW_SWITCH_RESET 110 +*/ +&gsw { + phy-mode = "rmii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x400000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + boardconfig: partition@3f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x77f>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH + &gpiomm 7 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts new file mode 100644 index 0000000000..87954fef02 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7506pw11.dts @@ -0,0 +1,160 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7506pw11", "lantiq,xway", "lantiq,danube"; + model = "Alice/O2 IAD 4421"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power_red; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &internet; + led-wifi = &wlan; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + wlan: wlan { + label = "green:wlan"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + power: power { + label = "green:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + internet: internet { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + power_red: power_red { + label = "red:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + internet_red { + label = "red:internet"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + info { + label = "green:info"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + telefon { + label = "green:telefon"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + info_red { + label = "red:info"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; +}; + +/* GPIO 19: switch reset */ +&gsw { + phy-mode = "rmii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7a0000>; + }; + + boardconfig: partition@7f0000 { + label = "board_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts new file mode 100644 index 0000000000..120dca1834 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7510pw22.dts @@ -0,0 +1,196 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7510pw22", "lantiq,xway", "lantiq,danube"; + model = "Astoria Networks ARV7510PW22"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-dsl = &internet; + led-usb = &umts; + led-wifi = &wlan; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + restart { + label = "restart"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power: power { + label = "power"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + internet: internet { + label = "internet"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + wlan: wlan { + label = "wlan"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + umts: 3g { + label = "3g"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + message { + label = "message"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 8 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + pins_out { + lantiq,pins = "io2", "io4", "io8", "io9", "io10", "io15", "io20"; + lantiq,output = <1>; + }; + pins_in { + lantiq,pins = "io11", "io12", "io28"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + }; +}; + +&gsw { + /* Switch reset 19 */ + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0xf80000>; + }; + + boardconfig: partition@fe0000 { + label = "board_config"; + reg = <0xfe0000 0x20000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>, <&pci_req2_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + interrupt-map = < + 0x7000 0 0 1 &icu0 30 + 0x7800 0 0 1 &icu0 135 + 0x7800 0 0 2 &icu0 135 + 0x7800 0 0 3 &icu0 135 + >; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0x3>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts new file mode 100644 index 0000000000..f2592961cb --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7518pw.dts @@ -0,0 +1,231 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7518pw", "lantiq,xway", "lantiq,danube"; + model = "Astoria Networks ARV7518PW"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &online_green; + led-usb = &led_usb; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power_green: power { + label = "green:power"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + online_green: online { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + power_red: power2 { + label = "red:power"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "red:internet"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + led_usb: usb { + label = "green:usb"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + voice { + label = "green:voip"; + gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "green:phone1"; + gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "green:phone2"; + gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>; + }; + unlabeled { + label = "amber:unlabeled"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + wps { + label = "amber:wps"; + gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "green:wps"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + wps3 { + label = "red:wps"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io2", "io4", "io5", "io6", "io7", "io8", "io19"; + lantiq,output = <1>; + }; + keys { + lantiq,pins = "io28", "io30"; + lantiq,output = <0>; + lantiq,pull = <2>; + lantiq,open-drain = <1>; + }; + }; +}; + +/* +#define SWITCH_RESET 13 +*/ +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x7d0000>; + }; + + boardconfig: partition@7f0000 { + label = "boardconfig"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + lantiq,external-clock; + req-mask = <0xf>; + + wifi@168c,0029 { + compatible = "pci168c,0029"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts new file mode 100644 index 0000000000..839af43773 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7519pw.dts @@ -0,0 +1,215 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7519pw", "lantiq,xway", "lantiq,danube"; + model = "Astoria Networks ARV7519PW"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power2; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &online; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power: power { + label = "power"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power2: power2 { + label = "power2"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "online"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "online2"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "wifi"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + wifi2 { + label = "wifi2"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + wifi3 { + label = "wifi3"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + voice { + label = "voice"; + gpios = <&gpio 31 GPIO_ACTIVE_LOW>; + }; + wps { + label = "wps"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "wps2"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + wps3 { + label = "wps3"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + lan { + label = "lan"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + tv { + label = "tv"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + upgrade { + label = "upgrade"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + }; + + /* is there another way to "reserve" the GPIO? */ + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + switch { + gpio-export,name = "switch"; + gpio-export,output = <1>; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + switch_rst { + lantiq,pins = "io19"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0xf80000>; + }; + + boardconfig: partition@fe0000 { + label = "board_config"; + reg = <0xfe0000 0x20000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0xf>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; + +&usb_phy { + status = "okay"; +}; + +/* warning: passive port only works with active devices */ +&usb { + status = "okay"; +}; + +&vmmc { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts new file mode 100644 index 0000000000..1f1adc4738 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv7525pw.dts @@ -0,0 +1,147 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7525pw", "lantiq,xway", "lantiq,danube"; + model = "Speedport W303V Typ A"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &power_green; + led-internet = &online; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power_green: power { + label = "green:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power1 { + label = "red:power"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "green:online"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + voice { + label = "green:telefonie"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + voice2 { + label = "red:telefonie"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + boardconfig: partition@3f0000 { + label = "board_config"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + interrupt-map = <0x7000 0 0 1 &icu0 135 1>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + }; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts new file mode 100644 index 0000000000..d0f5c38b39 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw.dts @@ -0,0 +1,241 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv752dpw", "lantiq,xway", "lantiq,danube"; + model = "Arcor 802"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_red; + led-failsafe = &power_blue; + led-running = &power_red; + led-upgrade = &power_red; + + led-dsl = &internet_red; + led-usb = &umts; + led-wifi = &wifi; + + label-mac-device = &wifi0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + restart { + label = "restart"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power_blue: power1 { + label = "blue:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + internet_red: internet { + label = "red:internet"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + message { + label = "red:message"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + power_red: power { + label = "red:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + voice1 { + label = "red:voice"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + umts: umts { + label = "red:umts"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "red:wifi"; + gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "green:tae-n"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "green:tae-u"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "green:isdn"; + gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>; + }; + internet2 { + label = "blue:internet"; + gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>; + }; + voice2 { + label = "blue:voice"; + gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io3", "io5", "io6", "io8"; + lantiq,output = <1>; + lantiq,pull = <0>; + }; + keys { + lantiq,pins = "io11", "io12", "io13", "io28"; + lantiq,output = <0>; + lantiq,pull = <2>; + lantiq,open-drain = <1>; + }; + }; +}; + +&gsw { + phy-mode = "rmii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x7d0000>; + }; + + boardconfig: partition@7f0000 { + label = "board_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x3>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>, <&pci_req2_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + interrupt-map = <0x7000 0 0 1 &icu0 135>; + req-mask = <0x3>; + + wifi0: wifi@1814,0601 { + compatible = "pci1814,0601"; + reg = <0x7000 0 0 0 0>; + mtd-mac-address = <&boardconfig 0x16>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts new file mode 100644 index 0000000000..72483e4749 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv752dpw22.dts @@ -0,0 +1,259 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv752dpw22", "lantiq,xway", "lantiq,danube"; + model = "Arcor 803"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_red; + led-failsafe = &power_blue; + led-running = &power_red; + led-upgrade = &power_red; + + led-dsl = &internet_red; + led-usb = &umts; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + restart { + label = "restart"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + power_blue: power1 { + label = "blue:power"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + internet_red: internet { + label = "red:internet"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + message { + label = "red:message"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + power_red: power { + label = "red:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + voice1 { + label = "red:voice"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + umts: umts { + label = "red:umts"; + gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "red:wifi"; + gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>; + }; + fxs1 { + label = "green:tae-n"; + gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>; + }; + fxs2 { + label = "green:tae-u"; + gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>; + }; + fxo { + label = "green:isdn"; + gpios = <&gpiomm 7 GPIO_ACTIVE_LOW>; + }; + internet2 { + label = "blue:internet"; + gpios = <&gpiomm 8 GPIO_ACTIVE_LOW>; + }; + voice2 { + label = "blue:voice"; + gpios = <&gpiomm 9 GPIO_ACTIVE_LOW>; + }; + eth1 { + label = "green:lan1"; + gpios = <&gpiomm 11 GPIO_ACTIVE_LOW>; + }; + eth2 { + label = "green:lan2"; + gpios = <&gpiomm 12 GPIO_ACTIVE_LOW>; + }; + eth3 { + label = "green:lan3"; + gpios = <&gpiomm 13 GPIO_ACTIVE_LOW>; + }; + eth4 { + label = "green:lan4"; + gpios = <&gpiomm 14 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpiomm 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,open-drain = <1>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io3", "io5", "io6", "io8"; + lantiq,open-drain = <1>; + lantiq,output = <1>; + }; + buttons { + lantiq,pins = "io11", "io12", "io13", "io28"; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x30000>; + read-only; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x40000 0x7b0000>; + }; + + boardconfig: partition@7f0000 { + label = "board_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <3>; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + lantiq,external-clock; + interrupt-map = < + 0x7000 0 0 1 &icu0 30 + 0x7800 0 0 1 &icu0 135 + 0x7800 0 0 2 &icu0 135 + 0x7800 0 0 3 &icu0 135 + >; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0x3>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts new file mode 100644 index 0000000000..5986279e6e --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_arcadyan_arv8539pw22.dts @@ -0,0 +1,179 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv8539pw22", "lantiq,xway", "lantiq,danube"; + model = "Speedport W 504V Typ A"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl_green; + led-internet = &online_green; + led-wifi = &wireless_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wlan { + label = "wlan"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + /* key DECT is missing */ + }; + + leds { + compatible = "gpio-leds"; + + power_green: power-green { + label = "green:power"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power-red { + label = "red:power"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + dsl_green: dsl-green { + label = "green:dsl"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + online_green: online-green { + label = "green:online"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + + wireless_green: wireless-green { + label = "green:wlan"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + /* + telefonie green is missing + */ + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + relay { + lantiq,pins = "io31"; + lantiq,output = <1>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&art 0x16>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x30000>; /* 192 KiB */ + read-only; + }; + + partition@30000 { + label = "uboot"; + reg = <0x30000 0x10000>; /* 64 KiB */ + read-only; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x7b0000>; /* 7872 KiB */ + }; + + art: partition@7f0000 { + label = "art"; + reg = <0x7f0000 0x10000>; /* 64 KiB*/ + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@168c,0029 { + compatible = "pci168c,0029"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + mtd-mac-address = <&art 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts new file mode 100644 index 0000000000..624f815148 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_audiocodes_mp-252.dts @@ -0,0 +1,110 @@ +#include "danube.dtsi" + +/ { + compatible = "audiocodes,mp-252", "lantiq,xway", "lantiq,danube"; + model = "AudioCodes MediaPack MP-252"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 3 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + }; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "u-boot-env"; + reg = <0x20000 0x20000>; + }; + + partition@40000 { + label = "boardconfig"; + reg = <0x40000 0x60000>; + read-only; + }; + + partition@a0000 { + label = "firmware"; + reg = <0xa0000 0xf20000>; + }; + + partition@fc0000 { + label = "sysconfig"; + reg = <0xfc0000 0x40000>; + }; + + partition@1000000 { + label = "rootfs_data"; + reg = <0x1000000 0x1000000>; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts new file mode 100644 index 0000000000..0147b3ffd1 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_bt_homehub-v2b.dts @@ -0,0 +1,236 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "bt,homehub-v2b", "lantiq,xway", "lantiq,danube"; + model = "BT Home Hub 2B"; /* SoC: Lantiq Danube-S PSB 50712 @ 333MHz V1.3/1.5 */ + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_orange; + led-failsafe = &power_red; + led-running = &power_blue; + led-upgrade = &power_blue; + + led-dsl = &broadband_blue; + led-wifi = &wireless_blue; + }; + + memory@0 { /* RAM: Samsung K4H511638F-LC 64MB */ + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + findhandset { + label = "findhandset"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + wps { + label = "wps"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + upgrading-orange { + label = "orange:upgrading"; + gpios = <&gpios 5 GPIO_ACTIVE_HIGH>; + }; + + phone-orange { + label = "orange:phone"; + gpios = <&gpios 6 GPIO_ACTIVE_HIGH>; + }; + phone-blue { + label = "blue:phone"; + gpios = <&gpios 7 GPIO_ACTIVE_HIGH>; + }; + + wireless-orange { + label = "orange:wireless"; + gpios = <&gpios 8 GPIO_ACTIVE_HIGH>; + }; + wireless_blue: wireless-blue { + label = "blue:wireless"; + gpios = <&gpios 9 GPIO_ACTIVE_HIGH>; + }; + + broadband-red { + label = "red:broadband"; + gpios = <&gpios 10 GPIO_ACTIVE_HIGH>; + }; + broadband-orange { + label = "orange:broadband"; + gpios = <&gpios 11 GPIO_ACTIVE_HIGH>; + }; + broadband_blue: broadband-blue { + label = "blue:broadband"; + gpios = <&gpios 12 GPIO_ACTIVE_HIGH>; + }; + + power_red: power-red { + label = "red:power"; + gpios = <&gpios 13 GPIO_ACTIVE_HIGH>; + }; + power_orange: power-orange { + label = "orange:power"; + gpios = <&gpios 14 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + power_blue: power-blue { + label = "blue:power"; + gpios = <&gpios 15 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + + pci_rst { + lantiq,pins = "io21"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + }; + + btn_in { + lantiq,pins = "io2", "io15", "io22"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; +}; + +&gpios { + status = "okay"; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { /* NOR Flash: Spansion S29AL004D 512KB */ + compatible = "lantiq,nor"; /* "AMD AM29LV400BB" compatible on 3.3.8 */ + lantiq,cs = <0>; + bank-width = <2>; + reg = <0 0x0 0x80000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; /* 256KB */ + }; + + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x10000>; /* 64KB */ + }; + + partition@50000 { + label = "rg_conf_1"; + reg = <0x50000 0x10000>; + }; + + partition@60000 { + label = "rg_conf_2"; + reg = <0x60000 0x10000>; + }; + + partition@70000 { + label = "rg_conf_factory"; + reg = <0x70000 0x10000>; + }; + }; + }; + + flash@1 { /* NAND Flash: Samsung K9F5608U0D-JIB0 32MB */ + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <1 0x0 0x2000000 >; + req-mask = <0x1>; /* PCI request lines to mask during NAND access */ + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + ath9k_cal: partition@0 { + label = "art"; /* Atheros 9160 wifi b/g/n radio EEPROM */ + reg = <0x00000 0x4000>; + read-only; + }; + + partition@4000 { + label = "kernel"; + reg = <0x4000 0x200000>; + }; + + partition@164000 { + label = "ubi"; + reg = <0x204000 0x1dfc000>; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@168c,0027 { + compatible = "pci168c,0027"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + }; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 31 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts new file mode 100644 index 0000000000..92091507c0 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_lantiq_easy50712.dts @@ -0,0 +1,70 @@ +#include "danube.dtsi" + +/ { + compatible = "lantiq,easy50712", "lantiq,xway", "lantiq,danube"; + model = "Intel EASY50712 Nand"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + }; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; /* 64 KB */ + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "rootfs"; + reg = <0x400000 0x400000>; + }; + }; + }; +}; + +&pci0 { + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts new file mode 100644 index 0000000000..b2585cf5a7 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/danube_siemens_gigaset-sx76x.dts @@ -0,0 +1,117 @@ +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "siemens,gigaset-sx76x", "lantiq,xway", "lantiq,danube"; + model = "Gigaset SX761,SX762,SX763"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 14 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + switch { + gpio-export,name = "switch"; + gpio-export,output = <1>; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 29 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +&gpios { + status = "okay"; +}; + +&gsw { + phy-mode = "rmii"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x7c0000>; + }; + }; + }; + + gpiomm: gpio@1 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x3>; + }; +}; + +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&usb_phy { + status = "okay"; +}; + +&usb { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpiomm 1 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon.dtsi new file mode 100644 index 0000000000..2f5557c0c7 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon.dtsi @@ -0,0 +1,365 @@ +/dts-v1/; + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,falcon"; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "mips,mips34kc"; + reg = <0>; + }; + }; + + aliases { + serial0 = &serial0; + serial1 = &serial1; + gpio0 = &gpio0; + gpio1 = &gpio1; + gpio2 = &gpio2; + gpio3 = &gpio3; + gpio4 = &gpio4; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + ebu_cs0: localbus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,localbus", "simple-bus"; + reg = <0x10000000 0x4000000>; + ranges = <0x0 0x10000000 0x4000000>; + }; + ebu_cs1: localbus@14000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,localbus", "simple-bus"; + reg = <0x14000000 0x4000000>; + ranges = <0x0 0x14000000 0x4000000>; + }; + + ebu@18000000 { + compatible = "lantiq,ebu-falcon"; + reg = <0x18000000 0x100>; + }; + + sbs2@1d000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sysb2", "simple-bus"; + reg = <0x1d000000 0x1000000>; + ranges = <0x0 0x1d000000 0x1000000>; + + clock_sysgpe: clock-controller@700000 { + compatible = "lantiq,sysgpe-falcon"; + reg = <0x700000 0x100>; + #clock-cells = <1>; + }; + + mps@4000 { + compatible = "lantiq,mps-falcon", "lantiq,mps-xrx100"; + reg = <0x4000 0x1000>; + interrupt-parent = <&icu0>; + interrupts = <154 155>; + lantiq,mbx = <&mpsmbx>; + }; + + gpio0: gpio@810000 { + compatible = "lantiq,falcon-gpio"; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&icu0>; + interrupts = <44>; + reg = <0x810000 0x80>; + clocks = <&clock_syseth 16>; + }; + + gpio2: gpio@810100 { + compatible = "lantiq,falcon-gpio"; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&icu0>; + interrupts = <46>; + reg = <0x810100 0x80>; + clocks = <&clock_syseth 17>; + }; + + clock_syseth: clock-controller@b00000 { + compatible = "lantiq,syseth-falcon"; + reg = <0xb00000 0x100>; + #clock-cells = <1>; + }; + + pad@b01000 { + compatible = "lantiq,pad-falcon"; + reg = <0xb01000 0x100>; + lantiq,bank = <0>; + clocks = <&clock_syseth 20>; + }; + + pad@b02000 { + compatible = "lantiq,pad-falcon"; + reg = <0xb02000 0x100>; + lantiq,bank = <2>; + clocks = <&clock_syseth 21>; + }; + }; + + fpi@1e000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + reg = <0x1e000000 0x1000000>; + ranges = <0x0 0x1e000000 0x1000000>; + + serial1: serial@100b00 { + status = "disabled"; + compatible = "lantiq,asc"; + reg = <0x100b00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + line = <1>; + pinctrl-names = "default"; + pinctrl-0 = <&asc1_pins>; + clocks = <&clock_sys1 11>; + }; + + serial0: serial@100c00 { + compatible = "lantiq,asc"; + reg = <0x100c00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + line = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&asc0_pins>; + clocks = <&clock_sys1 12>; + }; + + spi: spi@100d00 { + status = "disabled"; + compatible = "lantiq,falcon-spi", "lantiq,xrx100-spi", "lantiq,spi-lantiq-ssc"; + interrupts = <22 23 24 25>; + interrupt-names = "spi_tx", "spi_rx", "spi_err", "spi_frm"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x100d00 0x100>; + interrupt-parent = <&icu0>; + clocks = <&clock_sys1 13>; + base_cs = <1>; + num_cs = <2>; + }; + + gptc@100e00 { + compatible = "lantiq,gptc-falcon"; + reg = <0x100e00 0x100>; + }; + + i2c: i2c@200000 { + status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,lantiq-i2c"; + reg = <0x200000 0x10000>; + interrupt-parent = <&icu0>; + interrupts = <18 19 20 21>; + gpios = <&gpio1 7 0 &gpio1 8 0>; + pinctrl-names = "default"; + pinctrl-0 = <&i2c_pins>; + clocks = <&clock_sys1 14>; + }; + + gpio1: gpio@800100 { + compatible = "lantiq,falcon-gpio"; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&icu0>; + interrupts = <45>; + reg = <0x800100 0x100>; + clocks = <&clock_sys1 16>; + }; + + gpio3: gpio@800200 { + compatible = "lantiq,falcon-gpio"; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&icu0>; + interrupts = <47>; + reg = <0x800200 0x100>; + clocks = <&clock_sys1 17>; + }; + + gpio4: gpio@800300 { + compatible = "lantiq,falcon-gpio"; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + interrupt-parent = <&icu0>; + interrupts = <48>; + reg = <0x800300 0x100>; + clocks = <&clock_sys1 18>; + }; + + pad@800400 { + compatible = "lantiq,pad-falcon"; + reg = <0x800400 0x100>; + lantiq,bank = <1>; + clocks = <&clock_sys1 20>; + }; + + pad@800500 { + compatible = "lantiq,pad-falcon"; + reg = <0x800500 0x100>; + lantiq,bank = <3>; + clocks = <&clock_sys1 21>; + }; + + pad@800600 { + compatible = "lantiq,pad-falcon"; + reg = <0x800600 0x100>; + lantiq,bank = <4>; + clocks = <&clock_sys1 22>; + }; + + status@802000 { + compatible = "lantiq,status-falcon"; + reg = <0x802000 0x80>; + }; + + clock_sys1: clock-controller@f00000 { + compatible = "lantiq,sys1-falcon"; + reg = <0xf00000 0x100>; + #clock-cells = <1>; + }; + }; + + sbs0@1f000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + reg = <0x1f000000 0x400000>; + ranges = <0x0 0x1f000000 0x400000>; + + mpsmbx: mpsmbx@200000 { + reg = <0x200000 0x200>; + }; + }; + + biu@1f800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,biu", "simple-bus"; + reg = <0x1f800000 0x800000>; + ranges = <0x0 0x1f800000 0x800000>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + /* TODO: Number of ICUs isn't known */ + reg = <0x80200 0xc8>; + }; + + watchdog@803f0 { + compatible = "lantiq,wdt"; + reg = <0x803f0 0x10>; + }; + }; + + pinctrl { + compatible = "lantiq,pinctrl-falcon"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinctrl0 { + /*ntr { + lantiq,groups = "ntr8k"; + lantiq,function = "ntr"; + };*/ + hrst { + lantiq,groups = "hrst"; + lantiq,function = "rst"; + }; + }; + + asc0_pins: asc0 { + asc0 { + lantiq,groups = "asc0"; + lantiq,function = "asc"; + }; + }; + asc1_pins: asc1 { + asc1 { + lantiq,groups = "asc1"; + lantiq,function = "asc"; + }; + }; + i2c_pins: i2c_pins { + i2c_pins { + lantiq,groups = "i2c"; + lantiq,function = "i2c"; + }; + }; + bootled_pins: bootled { + bootled { + lantiq,groups = "bootled"; + lantiq,function = "led"; + }; + }; + ntr_ntr8k: ntr8k { + ntr8k { + lantiq,groups = "ntr8k"; + lantiq,function = "ntr"; + }; + }; + ntr_pps: pps { + pps { + lantiq,groups = "pps"; + lantiq,function = "ntr"; + }; + }; + ntr_gpio: gpio { + gpio { + lantiq,pins = "io5"; + lantiq,mux = <1>; + lantiq,output = <0>; + }; + }; + slic_pins: slic { + slic { + lantiq,groups = "slic"; + lantiq,function = "slic"; + }; + }; + }; + + pinselect-ntr { + compatible = "lantiq,onu-ntr","lantiq,pinselect-ntr"; + pinctrl-names = "ntr8k", "pps", "gpio"; + pinctrl-0 = <&ntr_ntr8k>; + pinctrl-1 = <&ntr_pps>; + pinctrl-2 = <&ntr_gpio>; + }; + + pinselect-asc1 { + compatible = "lantiq,onu-asc1","lantiq,pinselect-asc1"; + pinctrl-names = "default", "asc1"; + pinctrl-0 = <&slic_pins>; + pinctrl-1 = <&asc1_pins>; + }; + +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts new file mode 100644 index 0000000000..fa46dc30fd --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88388.dts @@ -0,0 +1,92 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon FTTDP8 Reference Board"; + compatible = "lantiq,easy88388", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <0x198>; + }; + }; + + pinctrl { + led_pins: led-pins { + lantiq,pins = "io34", "io35", "io36", "io37", "io38", + "io39", "io40", "io41"; + lantiq,function = "gpio"; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins &bootled_pins>; + + GPON { + label = "green:gpon"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + }; + TEST { + label = "green:test"; + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; + }; + STATUS { + label = "green:status"; + gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; + }; + ERROR { + label = "red:error"; + gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + }; + + DSL1 { + label = "dsl:1"; + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + }; + DSL2 { + label = "dsl:2"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + }; + DSL3 { + label = "dsl:3"; + gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; + }; + DSL4 { + label = "dsl:4"; + gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; + }; + DSL5 { + label = "dsl:5"; + gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + }; + DSL6 { + label = "dsl:6"; + gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; + }; + DSL7 { + label = "dsl:7"; + gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; + }; + DSL8 { + label = "dsl:8"; + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + }; + }; +}; + diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts new file mode 100644 index 0000000000..d6591aa10e --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy88444.dts @@ -0,0 +1,71 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon FTTdp G.FAST Reference Board"; + compatible = "lantiq,easy88444", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <0x198>; + }; + }; + + pinctrl { + led_pins: led-pins { + lantiq,pins = "io34", "io35", "io37"; + lantiq,function = "gpio"; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins &bootled_pins>; + + GPON { + label = "green:gpon"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + }; + TEST { + label = "green:test"; + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; + }; + STATUS { + label = "green:status"; + gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; + }; + + GFAST1 { + label = "gfast:1"; + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + }; + GFAST2 { + label = "gfast:2"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + }; + GFAST3 { + label = "gfast:3"; + gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>; + }; + GFAST4 { + label = "gfast:4"; + gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; + }; + }; +}; + diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts new file mode 100644 index 0000000000..adb3394dbd --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nand.dts @@ -0,0 +1,36 @@ +#include "falcon_lantiq_easy98000.dtsi" + +/ { + model = "Lantiq Falcon (NAND)"; + compatible = "lantiq,easy98000-nand", "lantiq,easy98000", "lantiq,falcon"; + + aliases { + spi0 = &spi; + }; +}; + +&ebu_cs0 { + flash@0 { + compatible = "gen_nand", "lantiq,nand-falcon"; + bank-width = <1>; + reg = <0x0 0x40000>; + #address-cells = <1>; + #size-cells = <1>; + bbt-use-flash; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x40000 0x40000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x80000 0x3d0000>; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts new file mode 100644 index 0000000000..3c8f6a99f7 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-nor.dts @@ -0,0 +1,39 @@ +#include "falcon_lantiq_easy98000.dtsi" + +/ { + model = "Lantiq Falcon (NOR)"; + compatible = "lantiq,easy98000-nor", "lantiq,easy98000", "lantiq,falcon"; + + aliases { + spi0 = &spi; + }; +}; + +&ebu_cs0 { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0x0 0x4000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x40000 0x40000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x80000 0x3d0000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts new file mode 100644 index 0000000000..c55559177b --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000-sflash.dts @@ -0,0 +1,12 @@ +#include "falcon_lantiq_easy98000.dtsi" +#include "falcon_sflash-16m.dtsi" + +/ { + model = "Lantiq Falcon (SFLASH)"; + compatible = "lantiq,easy98000-sflash", "lantiq,easy98000", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + spi1 = &spi; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi new file mode 100644 index 0000000000..e25145d869 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98000.dtsi @@ -0,0 +1,110 @@ +#include "falcon.dtsi" + +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/gpio/gpio.h> + +/ { + compatible = "lantiq,easy98000", "lantiq,falcon"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&bootled_pins>; + + LED_0 { + label = "green:gpon"; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_1 { + label = "red:gpon"; + gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_2 { + label = "green:gpon_tx"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_3 { + label = "green:gpon_rx"; + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_4 { + label = "green:voice"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_5 { + label = "green:status"; + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + }; +}; + +&ebu_cs1 { + eth0: ethernet@3 { + compatible = "davicom,dm9000"; + device_type = "network"; + reg = <0x0000003 0x1>, <0x0000001 0x1>; + reg-names = "addr", "data"; + interrupt-parent = <&gpio1>; + #interrupt-cells = <2>; + interrupts = <10 IRQ_TYPE_LEVEL_LOW>; + local-mac-address = [ 00 00 00 00 00 00 ]; + }; + + cpld@3c00000 { + compatible = "lantiq,easy98000_addon"; + reg = <0x3c00000 0x2>; + }; + + cpld@3c0000c { + compatible = "lantiq,easy98000_cpld_led"; + reg = <0x3c0000c 0x2>, <0x3c00012 0x2>; + }; +}; + +/* // enable this for second uart: +&serial1 { + status = "okay"; +};*/ + +&spi { + status = "okay"; + + eeprom@2 { + compatible = "atmel,at25", "atmel,at25160n"; + reg = <2>; + spi-max-frequency = <1000000>; + spi-cpha; + spi-cpol; + + pagesize = <32>; + size = <2048>; + address-width = <16>; + }; +}; + +&i2c { + status = "okay"; + + clock-frequency = <100000>; + + /* eeprom-emulation by OMU */ + eeprom@50 { + compatible = "at,24c02"; + reg = <0x50>; + }; + eeprom@51 { + compatible = "at,24c02"; + reg = <0x51>; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts new file mode 100644 index 0000000000..bad808e9bf --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020-v18.dts @@ -0,0 +1,66 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon Reference Board V1.8"; + compatible = "lantiq,easy98020-v18", "lantiq,easy98020", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <0x198>; + }; + }; + + pinctrl { + led_pins: led-pins { + lantiq,pins = "io11", "io14", "io36", "io37", "io38"; + lantiq,function = "gpio"; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins &bootled_pins>; + + GPON { + label = "green:gpon"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + TEST { + label = "green:test"; + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + ETH { + label = "green:status"; + gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + VOICE { + label = "green:voice"; + gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + VIDEO { + label = "green:video"; + gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts new file mode 100644 index 0000000000..2c0a51aa7b --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98020.dts @@ -0,0 +1,83 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon Reference Board"; + compatible = "lantiq,easy98020", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <0x198>; + }; + }; + + pinctrl { + led_pins: phy-led-pins { + lantiq,pins = "io42", "io41", "io38", "io37"; + lantiq,function = "gpio"; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&bootled_pins>, <&led_pins>; + + GPON { + label = "green:gpon"; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + TEST { + label = "green:test"; + gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + ETH { + label = "green:status"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + VOICE { + label = "green:voice"; + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + VIDEO { + label = "green:video"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + + GE0_ACT { + label = "ge0_act"; + gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + }; + GE0_LINK { + label = "ge0_link"; + gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; + }; + GE1_ACT { + label = "ge1_act"; + gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + }; + GE1_LINK { + label = "ge1_link"; + gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts new file mode 100644 index 0000000000..2cc70e6e40 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98021.dts @@ -0,0 +1,79 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon HGU Reference Board"; + compatible = "lantiq,easy98021", "lantiq,easy98020", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + keys { + compatible = "gpio-keys"; + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <0x198>; + }; + }; + + gpio-mmc { + /* Place-holder for SIM-Card connector, + to list the used GPIOs, no official binding */ + compatible = "gpio-mmc"; + gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>, + <&gpio0 3 GPIO_ACTIVE_HIGH>, + <&gpio0 2 GPIO_ACTIVE_HIGH>, + <0>; /* no CS */ + gpio-names = "di", "do", "clk", "cs"; + reset-gpio = <&gpio3 24 GPIO_ACTIVE_HIGH>; + }; + + pinctrl { + led_pins: led-pins { + lantiq,pins = "io11", "io14", "io36", "io37", "io38"; + lantiq,function = "gpio"; + }; + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins &bootled_pins>; + + GPON { + label = "green:gpon"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + TEST { + label = "red:test"; + gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + ETH { + label = "green:status"; + gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + VOICE { + label = "green:voice"; + gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + SIMCARD { + label = "green:simcard"; + gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + }; +}; + diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts new file mode 100644 index 0000000000..1efc06c037 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce.dts @@ -0,0 +1,74 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +/ { + model = "Lantiq Falcon SFP Stick with SyncE"; + compatible = "lantiq,easy98035synce", "lantiq,falcon-sfp", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + pinctrl { + compatible = "lantiq,pinctrl-falcon"; + + asc0_func1: func1 { + func1_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + func1_rx { + lantiq,pins = "io33"; + lantiq,mux = <0>; + }; + }; + asc0_func2: func2 { + func2_tx { + lantiq,pins = "io32"; + lantiq,mux = <0>; + }; + func2_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + asc0_func3: func3 { + func3_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + func3_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + }; + + pinselect-asc0 { + compatible = "lantiq,pinselect-asc0"; + pinctrl-names = "asc0", "func1", "func2", "func3"; + pinctrl-0 = <&asc0_pins>; + pinctrl-1 = <&asc0_func1>; + pinctrl-2 = <&asc0_func2>; + pinctrl-3 = <&asc0_func3>; + }; +}; + +&serial0 { + pinctrl-names = "default"; + /* use "empty" pinctrl to leave setting from u-boot enabled */ + pinctrl-0 = < >; +}; + +&i2c { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts new file mode 100644 index 0000000000..a320acd2e6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_easy98035synce1588.dts @@ -0,0 +1,74 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +/ { + model = "Lantiq Falcon SFP Stick with SyncE/1588"; + compatible = "lantiq,easy98035synce1588", "lantiq,falcon-sfp", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + pinctrl { + compatible = "lantiq,pinctrl-falcon"; + + asc0_func1: func1 { + func1_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + func1_rx { + lantiq,pins = "io33"; + lantiq,mux = <0>; + }; + }; + asc0_func2: func2 { + func2_tx { + lantiq,pins = "io32"; + lantiq,mux = <0>; + }; + func2_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + asc0_func3: func3 { + func3_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + func3_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + }; + + pinselect-asc0 { + compatible = "lantiq,pinselect-asc0"; + pinctrl-names = "asc0", "func1", "func2", "func3"; + pinctrl-0 = <&asc0_pins>; + pinctrl-1 = <&asc0_func1>; + pinctrl-2 = <&asc0_func2>; + pinctrl-3 = <&asc0_func3>; + }; +}; + +&serial0 { + pinctrl-names = "default"; + /* use "empty" pinctrl to leave setting from u-boot enabled */ + pinctrl-0 = < >; +}; + +&i2c { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts new file mode 100644 index 0000000000..611b02f8b3 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-mdu.dts @@ -0,0 +1,51 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +#include <dt-bindings/gpio/gpio.h> + +/ { + model = "Lantiq Falcon / Vinax MDU Board"; + compatible = "lantiq,falcon-mdu", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&bootled_pins>; + + LED_0 { + label = "green:gpon"; + gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_1 { + label = "green:status"; + gpios = <&gpio0 10 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_2 { + label = "green:2"; + gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_3 { + label = "green:3"; + gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + LED_4 { + label = "green:4"; + gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + }; +}; + diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts new file mode 100644 index 0000000000..c08fd746bf --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_lantiq_falcon-sfp.dts @@ -0,0 +1,74 @@ +#include "falcon.dtsi" +#include "falcon_sflash-16m.dtsi" + +/ { + model = "Lantiq Falcon SFP Stick"; + compatible = "lantiq,falcon-sfp", "lantiq,falcon"; + + aliases { + spi0 = &ebu_cs0; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; // 64M at 0x0 + }; + + pinctrl { + compatible = "lantiq,pinctrl-falcon"; + + asc0_func1: func1 { + func1_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,output = <0>; + }; + func1_rx { + lantiq,pins = "io33"; + lantiq,mux = <0>; + }; + }; + asc0_func2: func2 { + func2_tx { + lantiq,pins = "io32"; + lantiq,mux = <0>; + }; + func2_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + asc0_func3: func3 { + func3_tx { + lantiq,pins = "io32"; + lantiq,mux = <1>; + lantiq,output = <0>; + }; + func3_rx { + lantiq,pins = "io33"; + lantiq,mux = <1>; + lantiq,input = <0>; + }; + }; + }; + + pinselect-asc0 { + compatible = "lantiq,pinselect-asc0"; + pinctrl-names = "asc0", "func1", "func2", "func3"; + pinctrl-0 = <&asc0_pins>; + pinctrl-1 = <&asc0_func1>; + pinctrl-2 = <&asc0_func2>; + pinctrl-3 = <&asc0_func3>; + }; +}; + +&serial0 { + pinctrl-names = "default"; + /* use "empty" pinctrl to leave setting from u-boot enabled */ + pinctrl-0 = < >; +}; + +&i2c { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi new file mode 100644 index 0000000000..2ed15a8dd2 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/falcon_sflash-16m.dtsi @@ -0,0 +1,40 @@ + +&ebu_cs0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sflash-falcon", "simple-bus"; + + flash@0 { + compatible = "spansion,s25fl129p0", "spansion,s25fl129p1"; + reg = <0 0>; + spi-max-frequency = <80000000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x40000>; + label = "uboot"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x80000>; + label = "u-boot-env"; + }; + + partition@c0000 { + reg = <0xc0000 0x740000>; + label = "image0"; + }; + + partition@800000 { + reg = <0x800000 0x800000>; + label = "image1"; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9.dtsi new file mode 100644 index 0000000000..60f7f7a4c0 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9.dtsi @@ -0,0 +1,514 @@ +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/phy/phy-lantiq-vrx200-pcie.h> + +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,vr9"; + + aliases { + serial0 = &asc1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + cpus { + #address-cells = <1>; + #size-cells = <0>; + + cpu@0 { + compatible = "mips,mips34Kc"; + reg = <0>; + }; + }; + + cputemp { + compatible = "lantiq,cputemp"; + }; + + reboot { + compatible = "syscon-reboot"; + + regmap = <&rcu0>; + offset = <0x10>; + mask = <0xe0000000>; + }; + + biu@1f800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,biu", "simple-bus"; + reg = <0x1f800000 0x800000>; + ranges = <0x0 0x1f800000 0x7fffff>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + reg = <0x80200 0xc8 /* icu0 */ + 0x80300 0xc8>; /* icu1 */ + }; + + watchdog@803f0 { + compatible = "lantiq,xrx100-wdt", "lantiq,xrx100-wdt"; + reg = <0x803f0 0x10>; + + regmap = <&rcu0>; + }; + }; + + sram@1f000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sram", "simple-bus"; + reg = <0x1f000000 0x800000>; + ranges = <0x0 0x1f000000 0x7fffff>; + + eiu0: eiu@101000 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,eiu-xway"; + reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + lantiq,eiu-irqs = <166 135 66 40 41 42>; + }; + + pmu0: pmu@102000 { + compatible = "lantiq,pmu-xway"; + reg = <0x102000 0x1000>; + }; + + cgu0: cgu@103000 { + compatible = "lantiq,cgu-xway"; + reg = <0x103000 0x1000>; + }; + + dcdc@106a00 { + compatible = "lantiq,dcdc-xrx200"; + reg = <0x106a00 0x200>; + }; + + vmmc: vmmc@107000 { + status = "disabled"; + compatible = "lantiq,vmmc-xway"; + reg = <0x107000 0x300>; + interrupt-parent = <&icu0>; + interrupts = <150 151 152 153 154 155>; + }; + + pcie0_phy: phy@106800 { + compatible = "lantiq,vrx200-pcie-phy"; + reg = <0x106800 0x100>; + lantiq,rcu = <&rcu0>; + lantiq,rcu-endian-offset = <0x4c>; + lantiq,rcu-big-endian-mask = <0x80>; /* bit 7 */ + big-endian; + resets = <&reset0 12 24>, <&reset0 22 22>; + reset-names = "phy", "pcie"; + #phy-cells = <1>; + }; + + rcu0: rcu@203000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xrx200-rcu", "simple-mfd", "syscon"; + reg = <0x203000 0x100>; + ranges = <0x0 0x203000 0x100>; + big-endian; + + gphy0: gphy@20 { + compatible = "lantiq,xrx200-gphy"; + reg = <0x20 0x4>; + + resets = <&reset0 31 30>, <&reset1 7 7>; + reset-names = "gphy", "gphy2"; + }; + + gphy1: gphy@68 { + compatible = "lantiq,xrx200-gphy"; + reg = <0x68 0x4>; + + resets = <&reset0 29 28>, <&reset1 6 6>; + reset-names = "gphy", "gphy2"; + }; + + reset0: reset-controller@10 { + compatible = "lantiq,xrx200-reset"; + reg = <0x10 4>, <0x14 4>; + + #reset-cells = <2>; + }; + + reset1: reset-controller@48 { + compatible = "lantiq,xrx200-reset"; + reg = <0x48 4>, <0x24 4>; + + #reset-cells = <2>; + }; + + usb_phy0: usb2-phy@18 { + compatible = "lantiq,xrx200-usb2-phy"; + reg = <0x18 4>, <0x38 4>; + status = "disabled"; + + resets = <&reset1 4 4>, <&reset0 4 4>; + reset-names = "phy", "ctrl"; + #phy-cells = <0>; + }; + + usb_phy1: usb2-phy@34 { + compatible = "lantiq,xrx200-usb2-phy"; + reg = <0x34 4>, <0x3c 4>; + status = "disabled"; + + resets = <&reset1 5 5>, <&reset0 4 4>; + reset-names = "phy", "ctrl"; + #phy-cells = <0>; + }; + }; + }; + + fpi@10000000 { + compatible = "lantiq,xrx200-fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xf000000>; + reg = <0x1f400000 0x1000>, + <0x10000000 0xf000000>; + regmap = <&rcu0>; + offset-endianness = <0x4c>; + #address-cells = <1>; + #size-cells = <1>; + + localbus: localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + }; + + gptu@e100a00 { + compatible = "lantiq,gptu-xway"; + reg = <0xe100a00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <126 127 128 129 130 131>; + }; + + usif: usif@da00000 { + compatible = "lantiq,usif"; + reg = <0xda00000 0x1000000>; + interrupt-parent = <&icu0>; + interrupts = <29 125 107 108 109 110>; + status = "disabled"; + }; + + spi: spi@e100800 { + compatible = "lantiq,xrx200-spi", "lantiq,xrx100-spi"; + reg = <0xe100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; + interrupt-names = "spi_rx", "spi_tx", "spi_err", + "spi_frm"; + #address-cells = <1>; + #size-cells = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>, <&spi_cs4_pins>; + status = "disabled"; + }; + + gpio: pinmux@e100b10 { + compatible = "lantiq,xrx200-pinctrl"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xe100b10 0xa0>; + + gphy0_led0_pins: gphy0-led0 { + mux { + lantiq,groups = "gphy0 led0"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + gphy0_led1_pins: gphy0-led1 { + mux { + lantiq,groups = "gphy0 led1"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + gphy0_led2_pins: gphy0-led2 { + mux { + lantiq,groups = "gphy0 led2"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + gphy1_led0_pins: gphy1-led0 { + mux { + lantiq,groups = "gphy1 led0"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + gphy1_led1_pins: gphy1-led1 { + mux { + lantiq,groups = "gphy1 led1"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + gphy1_led2_pins: gphy1-led2 { + mux { + lantiq,groups = "gphy1 led2"; + lantiq,function = "gphy"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + + mdio_pins: mdio { + mux { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + }; + + nand_pins: nand { + mux-0 { + lantiq,groups = "nand cle", "nand ale", + "nand rd"; + lantiq,function = "ebu"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + mux-1 { + lantiq,groups = "nand rdy"; + lantiq,function = "ebu"; + lantiq,output = <0>; + lantiq,pull = <2>; + }; + }; + + nand_cs1_pins: nand-cs1 { + mux { + lantiq,groups = "nand cs1"; + lantiq,function = "ebu"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_gnt1_pins: pci-gnt1 { + mux { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + + pci_req1_pins: pci-req1 { + mux { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + }; + + spi_pins: spi { + mux-0 { + lantiq,groups = "spi_di"; + lantiq,function = "spi"; + }; + mux-1 { + lantiq,groups = "spi_do", "spi_clk"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + + spi_cs4_pins: spi-cs4 { + mux { + lantiq,groups = "spi_cs4"; + lantiq,function = "spi"; + lantiq,output = <1>; + }; + }; + + stp_pins: stp { + mux { + lantiq,groups = "stp"; + lantiq,function = "stp"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + }; + }; + + stp: stp@e100bb0 { + status = "disabled"; + compatible = "lantiq,gpio-stp-xway"; + reg = <0xe100bb0 0x40>; + #gpio-cells = <2>; + gpio-controller; + + pinctrl-0 = <&stp_pins>; + pinctrl-names = "default"; + + lantiq,shadow = <0xffffff>; + lantiq,groups = <0x7>; + lantiq,dsl = <0x0>; + lantiq,phy1 = <0x0>; + lantiq,phy2 = <0x0>; + }; + + asc1: serial@e100c00 { + compatible = "lantiq,asc"; + reg = <0xe100c00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + }; + + deu@e103100 { + compatible = "lantiq,deu-xrx200"; + reg = <0xe103100 0xf00>; + }; + + dma0: dma@e104100 { + compatible = "lantiq,dma-xway"; + reg = <0xe104100 0x800>; + }; + + ebu0: ebu@e105300 { + compatible = "lantiq,ebu-xway"; + reg = <0xe105300 0x100>; + }; + + usb0: usb@e101000 { + status = "disabled"; + compatible = "lantiq,xrx200-usb"; + reg = <0xe101000 0x1000 + 0xe120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62 91>; + dr_mode = "host"; + phys = <&usb_phy0>; + phy-names = "usb2-phy"; + }; + + usb1: usb@e106000 { + status = "disabled"; + compatible = "lantiq,xrx200-usb"; + reg = <0xe106000 0x1000>; + interrupt-parent = <&icu0>; + interrupts = <91>; + dr_mode = "host"; + phys = <&usb_phy1>; + phy-names = "usb2-phy"; + }; + + eth0: eth@e108000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-net"; + reg = < 0xe108000 0x3000 /* switch */ + 0xe10b100 0x70 /* mdio */ + 0xe10b1d8 0x30 /* mii */ + 0xe10b308 0x30 /* pmac */ + >; + interrupt-parent = <&icu0>; + interrupts = <75 73 72>; + resets = <&reset0 21 16>, <&reset0 8 8>; + reset-names = "switch", "ppe"; + lantiq,phys = <&gphy0>, <&gphy1>; + pinctrl-0 = <&mdio_pins>; + pinctrl-names = "default"; + }; + + mei@e116000 { + compatible = "lantiq,mei-xrx200"; + reg = <0xe116000 0x9c>; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + ppe@e234000 { + compatible = "lantiq,ppe-xrx200"; + reg = <0xe234000 0x3ffd>; + interrupt-parent = <&icu0>; + interrupts = <96>; + resets = <&reset0 3 3>, <&reset0 11 11>, <&reset0 23 23>; + reset-names = "dsp", "dfe", "tc"; + }; + + pcie0: pcie@d900000 { + compatible = "lantiq,pcie-xrx200"; + + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + + reg = <0xd900000 0x1000>; + + interrupt-parent = <&icu0>; + interrupts = <161 144>; + + phys = <&pcie0_phy LANTIQ_PCIE_PHY_MODE_36MHZ>; + phy-names = "pcie"; + + resets = <&reset0 22 22>; + + lantiq,rcu = <&rcu0>; + + device_type = "pci"; + + gpio-reset = <&gpio 38 GPIO_ACTIVE_HIGH>; + }; + + pci0: pci@e105400 { + status = "disabled"; + + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + compatible = "lantiq,pci-xway"; + bus-range = <0x0 0x0>; + ranges = <0x2000000 0 0x8000000 0x8000000 0 0x2000000 /* pci memory */ + 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */ + reg = <0x7000000 0x8000 /* config space */ + 0xe105400 0x400>; /* pci bridge */ + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = <0x7000 0 0 1 &icu0 30 1>; /* slot 14, irq 30 */ + req-mask = <0x1>; /* GNT1 */ + }; + }; + + vdsl { + compatible = "lantiq,vdsl-vrx200"; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts new file mode 100644 index 0000000000..a95f3faa00 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_alphanetworks_asl56026.dts @@ -0,0 +1,153 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "alphanetworks,asl56026", "lantiq,xway", "lantiq,vr9"; + model = "BT OpenReach VDSL Modem"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + + /* power-* is a bicolour led */ + power_green: power_green { + label = "green:power"; + gpios = <&gpio 17 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + + power_red: power_red { + label = "red:power"; + gpios = <&gpio 18 GPIO_ACTIVE_HIGH>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + power_led_blink { + gpio-export,name = "power_led_blink"; + gpio-export,output = <0>; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lantiq,switch; + + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "mii"; + phy-handle = <&phy11>; + }; + + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <3>; + phy-mode = "mii"; + phy-handle = <&phy14>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + + phy14: ethernet-phy@14 { + reg = <0x14>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x0800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x30000>; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + }; + + partition@40000 { + label = "firmware"; + reg = <0x40000 0x750000>; + }; + + partition@790000 { + label = "ddrconfig"; + reg = <0x790000 0x70000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts new file mode 100644 index 0000000000..9da2649833 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_arv7519rw22.dts @@ -0,0 +1,244 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "arcadyan,arv7519rw22", "lantiq,xway", "lantiq,vr9"; + model = "Orange Livebox 2.1"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_green; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &internet_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 33 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + wps { + label = "wps"; + gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + lan_green { + label = "green:lan"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + internet_red { + label = "red:internet"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + power_green: power_green { + label = "green:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + alarm_blue { + label = "blue:alarm"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + internet_orange { + label = "orange:internet"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + internet_green: internet_green { + label = "green:internet"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + }; + voice_green { + label = "green:voice"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 32 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&boardconfig 0x16>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "mii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <3>; + phy-mode = "mii"; + phy-handle = <&phy12>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "mii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "mii"; + phy-handle = <&phy14>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy12: ethernet-phy@12 { + reg = <0x12>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy14: ethernet-phy@14 { + reg = <0x14>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pcie-rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x60000>; + read-only; + }; + + partition@60000 { + label = "u-boot-env"; + reg = <0x60000 0x20000>; + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x80000 0x1f00000>; + }; + + boardconfig: partition@1f80000 { + label = "boardconfig"; + reg = <0x1f80000 0x80000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts new file mode 100644 index 0000000000..e7c5532145 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vg3503j.dts @@ -0,0 +1,142 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "arcadyan,vg3503j", "lantiq,xway", "lantiq,vr9"; + model = "BT OpenReach VDSL Modem"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x2000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_red: power2 { + label = "red:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + power_green: power { + label = "green:power"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, + <&gphy0_led0_pins>, <&gphy0_led1_pins>, <&gphy0_led2_pins>, + <&gphy1_led0_pins>, <&gphy1_led1_pins>, <&gphy1_led2_pins>; + + interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + lantiq,switch; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "mii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "mii"; + phy-handle = <&phy13>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,led1h = <0x70>; + lantiq,led1l = <0x00>; + lantiq,led2h = <0x00>; + lantiq,led2l = <0x03>; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,led1h = <0x70>; + lantiq,led1l = <0x00>; + lantiq,led2h = <0x00>; + lantiq,led2l = <0x03>; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x7d0000>; + }; + + partition@7f0000 { + label = "u-boot-env"; + reg = <0x7f0000 0x10000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts new file mode 100644 index 0000000000..df0c8ea5da --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-brn.dts @@ -0,0 +1,63 @@ +#include "vr9_arcadyan_vgv7510kw22.dtsi" + +/ { + compatible = "arcadyan,vgv7510kw22-brn", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9"; + model = "o2 Box 6431"; + + sram@1f000000 { + cgu@103000 { + lantiq,phy-clk-src = <0x2>; + }; + }; +}; + +&localbus { + flash@0 { + partitions { + partition@0 { + label = "Boot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "Configuration"; + reg = <0x40000 0x40000>; + read-only; + }; + + partition@80000 { + label = "Certificate"; + reg = <0x80000 0x20000>; + read-only; + }; + + partition@a0000 { + label = "Special_Area"; + reg = <0xa0000 0x20000>; + read-only; + }; + + partition@c0000 { + compatible = "brnboot,root-selector"; + label = "Primary_Setting"; + reg = <0xc0000 0x20000>; + read-only; + }; + + partition@e0000 { + label = "Code_Image_0"; + reg = <0xe0000 0x780000>; + brnboot,root-id = <0x00>; + read-only; + }; + + partition@860000 { + label = "Code_Image_1"; + reg = <0x860000 0x780000>; + brnboot,root-id = <0x01>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts new file mode 100644 index 0000000000..732ffd48a2 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22-nor.dts @@ -0,0 +1,29 @@ +#include "vr9_arcadyan_vgv7510kw22.dtsi" + +/ { + compatible = "arcadyan,vgv7510kw22-nor", "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9"; + model = "o2 Box 6431"; +}; + +&localbus { + flash@0 { + partitions { + partition@0 { + label = "uboot"; + reg = <0x0 0x60000>; /* 384 KiB */ + read-only; + }; + + partition@60000 { + label = "u-boot-env"; + reg = <0x60000 0x20000>; /* 128 KiB */ + read-only; + }; + + partition@80000 { + label = "firmware"; + reg = <0x80000 0xf60000>; /* 15744 KiB */ + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi new file mode 100644 index 0000000000..a6206f4a87 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7510kw22.dtsi @@ -0,0 +1,258 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "arcadyan,vgv7510kw22", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl; + led-internet = &internet_green; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + }; + + internet_red { + label = "red:internet"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + + info_red { + label = "red:info"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + power_green: power { + label = "green:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + info_green { + label = "green:info"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + internet_green: internet_green { + label = "green:internet"; + gpios = <&gpio 19 GPIO_ACTIVE_LOW>; + }; + + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + + power_red: power2 { + label = "red:power"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + }; + + phone { + label = "green:telefon"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 47 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, + <&gphy0_led0_pins>, + <&gphy1_led0_pins>, <&gphy1_led1_pins>; + pinctrl-names = "default"; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&boardconfig 0x16>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "mii"; + phy-handle = <&phy1>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "mii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <3>; + phy-mode = "mii"; + phy-handle = <&phy12>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "mii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "mii"; + phy-handle = <&phy14>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "ethernet-phy-ieee802.3-c22"; + }; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy12: ethernet-phy@12 { + reg = <0x12>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy14: ethernet-phy@14 { + reg = <0x14>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>, <&gphy0_led1_pins>; + + state_default: pinmux { + pci-rst { + lantiq,pins = "io21"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + boardconfig: partition@fe0000 { + label = "board_config"; + reg = <0xfe0000 0x20000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3592 { + compatible = "pci1814,3592"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + +&pcie0 { + status = "disabled"; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay + &gpio 31 GPIO_ACTIVE_HIGH //still unknown + &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic? +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts new file mode 100644 index 0000000000..3e2e771840 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-brn.dts @@ -0,0 +1,68 @@ +#include "vr9_arcadyan_vgv7519.dtsi" + +/ { + compatible = "arcadyan,vgv7519-brn", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9"; + model = "KPN Experiabox V8"; +}; + +&localbus { + flash@0 { + partitions { + partition@0 { + label = "Boot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@50000 { + label = "Certificate"; + reg = <0x50000 0x10000>; + read-only; + }; + partition@60000 { + label = "Special_Area"; + reg = <0x60000 0x10000>; + read-only; + }; + + partition@70000 { + label = " Reserve_0"; + reg = <0x70000 0x10000>; + read-only; + }; + + partition@80000 { + label = "Code_Image_0"; + reg = <0x80000 0x780000>; + brnboot,root-id = <0x00>; + read-only; + }; + + partition@4000000 { + compatible = "brnboot,root-selector"; + label = "Primary_Setting"; + reg = <0x4000000 0x10000>; + read-only; + }; + + partition@4010000 { + label = "Configuration"; + reg = <0x4010000 0x60000>; + read-only; + }; + + partition@4070000 { + label = " Reserve_1"; + reg = <0x4070000 0x10000>; + read-only; + }; + + partition@4080000 { + label = "Code_Image_1"; + reg = <0x4080000 0x780000>; + brnboot,root-id = <0x01>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts new file mode 100644 index 0000000000..de5ea97d23 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519-nor.dts @@ -0,0 +1,27 @@ +#include "vr9_arcadyan_vgv7519.dtsi" + +/ { + compatible = "arcadyan,vgv7519-nor", "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9"; + model = "KPN Experiabox V8"; +}; + +&localbus { + flash@0 { + partitions { + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + partition@60000 { + label = "u-boot-env"; + reg = <0x60000 0x10000>; + read-only; + }; + partition@80000 { + label = "firmware"; + reg = <0x80000 0xf80000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi new file mode 100644 index 0000000000..0cb5244dbc --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_arcadyan_vgv7519.dtsi @@ -0,0 +1,295 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "arcadyan,vgv7519", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200 mem=62M vpe1_load_addr=0x83e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &broadband_green; + led-internet = &internet_green; + led-wifi = &wireless_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + eco { + label = "eco"; + gpios = <&gpio 41 GPIO_ACTIVE_LOW>; + linux,code = <BTN_0>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 45 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + wps { + label = "wps"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds { + compatible = "gpio-leds"; + + eco { + label = "blue:eco"; + gpios = <&stp 2 GPIO_ACTIVE_LOW>; + }; + wps_red { + label = "red:wps"; + gpios = <&stp 3 GPIO_ACTIVE_LOW>; + }; + wps_green { + label = "green:wps"; + gpios = <&stp 4 GPIO_ACTIVE_LOW>; + }; + upgrade { + label = "blue:upgrade"; + gpios = <&stp 5 GPIO_ACTIVE_LOW>; + }; + tv { + label = "green:tv"; + gpios = <&stp 6 GPIO_ACTIVE_LOW>; + }; + internet_green: internet_green { + label = "green:internet"; + gpios = <&stp 7 GPIO_ACTIVE_LOW>; + }; + internet_red { + label = "red:internet"; + gpios = <&stp 8 GPIO_ACTIVE_LOW>; + }; + broadband_red { + label = "red:broadband"; + gpios = <&stp 9 GPIO_ACTIVE_LOW>; + }; + broadband_green: broadband_green { + label = "green:broadband"; + gpios = <&stp 10 GPIO_ACTIVE_LOW>; + }; + voice { + label = "green:voice"; + gpios = <&stp 11 GPIO_ACTIVE_LOW>; + }; + wireless_red { + label = "red:wireless"; + gpios = <&stp 12 GPIO_ACTIVE_LOW>; + }; + wireless_green: wireless_green { + label = "green:wireless"; + gpios = <&stp 13 GPIO_ACTIVE_LOW>; + }; + power_green: power2 { + label = "green:power"; + gpios = <&stp 14 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_red: power { + label = "red:power"; + gpios = <&stp 15 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 32 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led0_pins>; + pinctrl-names = "default"; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci-rst { + lantiq,pins = "io21"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>, <1 0x800000 0x800000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + boardconfig: partition@40000 { + label = "board_config"; + reg = <0x40000 0x10000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@1814,3091 { + compatible = "pci1814,3091"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + mtd-mac-address = <&boardconfig 0x16>; + mtd-mac-address-increment = <1>; + }; +}; + +&pcie0 { + status = "disabled"; +}; + +&stp { + status = "okay"; + lantiq,shadow = <0xffff>; + lantiq,groups = <0x3>; + lantiq,dsl = <0x0>; + lantiq,phy1 = <0x0>; + lantiq,phy2 = <0x0>; + /* lantiq,rising; */ +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay + &gpio 31 GPIO_ACTIVE_HIGH //still unknown + &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic? +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts new file mode 100644 index 0000000000..e1d0851dab --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-hynix.dts @@ -0,0 +1,37 @@ +#include "vr9_avm_fritz3370-rev2.dtsi" + +/ { + compatible = "avm,fritz3370-rev2-hynix", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 3370 Rev. 2 (Hynix NAND)"; +}; + +&localbus { + flash@1 { + compatible = "lantiq,nand-xway"; + bank-width = <2>; + reg = <1 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + nand-ecc-mode = "soft"; + nand-ecc-strength = <3>; + nand-ecc-step-size = <256>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + partition@400000 { + label = "ubi"; + reg = <0x400000 0x7c00000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts new file mode 100644 index 0000000000..2a98a12acb --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2-micron.dts @@ -0,0 +1,35 @@ +#include "vr9_avm_fritz3370-rev2.dtsi" + +/ { + compatible = "avm,fritz3370-rev2-micron", "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 3370 Rev. 2 (Micron NAND)"; +}; + +&localbus { + flash@1 { + compatible = "lantiq,nand-xway"; + bank-width = <2>; + reg = <1 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + nand-ecc-mode = "on-die"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + partition@400000 { + label = "ubi"; + reg = <0x400000 0x7c00000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi new file mode 100644 index 0000000000..b25d11e1c6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz3370-rev2.dtsi @@ -0,0 +1,279 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "avm,fritz3370-rev2", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 3370 Rev. 2"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_red; + + led-dsl = &dsl; + led-internet = &info_green; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + gpio-poweroff { + compatible = "gpio-poweroff"; + gpios = <&gpio 45 GPIO_ACTIVE_HIGH>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + power { + label = "power"; + gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_POWER>; + }; + + wifi { + label = "wlan"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power { + label = "green:power"; + gpios = <&gpio 32 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + power_red: power2 { + label = "red:power"; + gpios = <&gpio 33 GPIO_ACTIVE_LOW>; + }; + + info_red { + label = "red:info"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + }; + + wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + }; + + dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 36 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "green:lan"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + }; + + info_green: info_green { + label = "green:info"; + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; + }; + }; + + usb0_vbus: regulator-usb0-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB0_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 14 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + usb1_vbus: regulator-usb1-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB1_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 5 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + gpios = <&gpio 37 GPIO_ACTIVE_HIGH>; + }; + + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + gpios = <&gpio 44 GPIO_ACTIVE_HIGH>; + }; + + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + phy-rst { + lantiq,pins = "io37", "io44"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + + pcie-rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&pcie0 { + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + pcie@0 { + reg = <0 0 0 0 0>; + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + device_type = "pci"; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */ + }; + }; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + urlader: partition@0 { + reg = <0x0 0x20000>; + label = "urlader"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "tffs (1)"; + read-only; + }; + + partition@30000 { + reg = <0x30000 0x10000>; + label = "tffs (2)"; + read-only; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb0_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb1_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360-v2.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360-v2.dts new file mode 100644 index 0000000000..3bd6ff0ee7 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360-v2.dts @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "vr9_avm_fritz736x.dtsi" + +/ { + compatible = "avm,fritz7360-v2", "avm,fritz736x", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 7360 V2"; +}; + +&state_default { + pcie-rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fixed-partitions"; + + urlader: partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x1f60000>; + }; + + partition@1f80000 { + label = "tffs (1)"; + reg = <0x1f80000 0x40000>; + read-only; + }; + + partition@1fc0000 { + label = "tffs (2)"; + reg = <0x1fc0000 0x40000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts new file mode 100644 index 0000000000..898ca00c34 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7360sl.dts @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "vr9_avm_fritz736x.dtsi" + +/ { + compatible = "avm,fritz7360sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 7360 SL"; +}; + +&state_default { + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fixed-partitions"; + + urlader: partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0xf60000>; + }; + + partition@f80000 { + label = "tffs (1)"; + reg = <0xf80000 0x40000>; + read-only; + }; + + partition@fc0000 { + label = "tffs (2)"; + reg = <0xfc0000 0x40000>; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts new file mode 100644 index 0000000000..c26908642c --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7362sl.dts @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "vr9_avm_fritz736x.dtsi" + +/ { + compatible = "avm,fritz7362sl", "avm,fritz736x", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 7362 SL"; +}; + +&state_default { + pcie-rst { + lantiq,pins = "io21"; + lantiq,open-drain = <1>; + lantiq,output = <1>; + }; +}; + +&spi { + status = "okay"; + + flash@4 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <4 0>; + spi-max-frequency = <1000000>; + + urlader: partition@0 { + reg = <0x0 0x40000>; + label = "urlader"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x60000>; + label = "tffs (1)"; + read-only; + }; + + partition@A0000 { + reg = <0xA0000 0x60000>; + label = "tffs (2)"; + read-only; + }; + }; +}; + +&localbus { + flash@1 { + compatible = "lantiq,nand-xway"; + lantiq,cs1 = <1>; + bank-width = <1>; + reg = <1 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + nand-ecc-mode = "on-die"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x400000>; + }; + + partition@400000 { + label = "ubi"; + reg = <0x400000 0x7c00000>; + }; + }; + }; +}; + +&pcie0 { + gpio-reset = <&gpio 21 GPIO_ACTIVE_LOW>; + + pcie@0 { + #size-cells = <1>; + #address-cells = <2>; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi new file mode 100644 index 0000000000..5c41d3c505 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz736x.dtsi @@ -0,0 +1,206 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "avm,fritz736x", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &led_power_green; + led-failsafe = &led_power_red; + led-running = &led_power_green; + led-upgrade = &led_power_red; + + led-dsl = &led_info_green; + led-wifi = &led_wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + dect { + label = "dect"; + gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_PHONE>; + }; + + wifi { + label = "wifi"; + gpios = <&gpio 29 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_RFKILL>; + }; + }; + + leds: leds { + compatible = "gpio-leds"; + + led_power_green: power_green { + label = "green:power"; + gpios = <&gpio 32 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + led_power_red: power_red { + label = "red:power"; + gpios = <&gpio 33 GPIO_ACTIVE_LOW>; + }; + + led_info_green: info_green { + label = "green:info"; + gpios = <&gpio 47 GPIO_ACTIVE_LOW>; + }; + + led_wifi: wifi { + label = "green:wlan"; + gpios = <&gpio 36 GPIO_ACTIVE_LOW>; + }; + + info_red { + label = "red:info"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + }; + + dect { + label = "green:dect"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + }; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&urlader 0xa91>; + mtd-mac-address-increment = <(-2)>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rmii"; + phy-handle = <&phy0>; + }; + + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rmii"; + phy-handle = <&phy1>; + }; + + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x00>; + compatible = "ethernet-phy-ieee802.3-c22"; + reset-gpios = <&gpio 37 GPIO_ACTIVE_LOW>; + }; + + phy1: ethernet-phy@1 { + reg = <0x01>; + compatible = "ethernet-phy-ieee802.3-c22"; + reset-gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + }; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + phy-rst { + lantiq,pins = "io37", "io44"; + lantiq,pull = <0>; + lantiq,open-drain; + lantiq,output = <1>; + }; + }; + +}; + +&pcie0 { + status = "okay"; + + pcie@0 { + reg = <0 0 0 0 0>; + #interrupt-cells = <1>; + #size-cells = <1>; + #address-cells = <2>; + device_type = "pci"; + + wifi@168c,002e { + compatible = "pci168c,002e"; + reg = <0 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */ + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; +}; + +&usb1 { + status = "okay"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts new file mode 100644 index 0000000000..eed30c2f0f --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_avm_fritz7412.dts @@ -0,0 +1,213 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "avm,fritz7412", "lantiq,xway", "lantiq,vr9"; + model = "AVM FRITZ!Box 7412"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_red; + + led-dsl = &info; + led-wifi = &wifi; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + dect { + label = "dect"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_green: power_green { + label = "green:power"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + power_red: power_red { + label = "red:power"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + fon { + label = "green:fon"; + gpios = <&gpio 34 GPIO_ACTIVE_LOW>; + }; + + dect { + label = "green:dect"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + wifi: wifi { + label = "green:wifi"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + + info: info { + label = "green:info"; + gpios = <&gpio 35 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nand-xway"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + lantiq,cs = <1>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "urlader"; + reg = <0x0 0x40000>; + read-only; + }; + + partition@40000 { + label = "nand-tffs"; + reg = <0x40000 0x400000>; + read-only; + }; + + partition@440000 { + label = "kernel"; + reg = <0x440000 0x400000>; + }; + + partition@840000 { + label = "ubi"; + reg = <0x840000 0x3000000>; + }; + + partition@3840000 { + label = "reserved-kernel"; + reg = <0x3840000 0x400000>; + read-only; + }; + + partition@3c40000 { + label = "reserved-filesystem"; + reg = <0x3c40000 0x3000000>; + read-only; + }; + + partition@6c40000 { + label = "config"; + reg = <0x6c40000 0x400000>; + read-only; + }; + + partition@6e40000 { + label = "nand-filesystem"; + reg = <0x6e40000 0x400000>; + read-only; + }; + }; + }; +}; + +&pcie0 { + status = "okay"; + gpio-reset = <&gpio 11 GPIO_ACTIVE_HIGH>; + + pcie@0 { + reg = <0 0 0 0 0>; + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + device_type = "pci"; + + wifi@168c,002e { + compatible = "pci168c,002e"; + reg = <0 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:01:00.0.bin */ + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pcie-rst { + lantiq,pins = "io11"; + lantiq,open-drain = <1>; + lantiq,output = <1>; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +ð0 { + lantiq,phys = <&gphy0>; + + interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + lantiq,switch; + + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts new file mode 100644 index 0000000000..51af5469fd --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_bt_homehub-v5a.dts @@ -0,0 +1,281 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "bt,homehub-v5a", "lantiq,xway", "lantiq,vr9"; + model = "BT Home Hub 5A"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_blue; + led-upgrade = &power_blue; + + led-dsl = &broadband_blue; + led-wifi = &wireless_blue; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + restart { + label = "restart"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER2>; + }; + }; + + leds { + compatible = "gpio-leds"; + + /* broadband-* is a single RGB led */ + broadband-red { + label = "red:broadband"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + }; + broadband-green { + label = "green:broadband"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + broadband_blue: broadband-blue { + label = "blue:broadband"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + + /* wireless-* is a single RGB led */ + wireless-red { + label = "red:wireless"; + gpios = <&gpio 9 GPIO_ACTIVE_LOW>; + }; + wireless-green { + label = "green:wireless"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + wireless_blue: wireless-blue { + label = "blue:wireless"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + + /* power-* is a single RGB led */ + power_red: power-red { + label = "red:power"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + power_green: power-green { + label = "green:power"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power_blue: power-blue { + label = "blue:power"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + dimmed { + label = "dimmed"; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,output = <1>; + lantiq,open-drain; + }; + pcie_rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + lantiq,open-drain; + }; + usb_vbus { + lantiq,pins = "io33"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + }; +}; + +&localbus { + flash@1 { + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <0x1 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + nand-on-flash-bbt; + nand-ecc-strength = <3>; + nand-ecc-step-size = <256>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0xa0000>; + read-only; + }; + partition@a0000 { + label = "u-boot-env"; + reg = <0xa0000 0x20000>; + read-only; + }; + partition@c0000 { + label = "unused"; + reg = <0xc0000 0x40000>; + }; + partition@100000 { + label = "ubi"; + reg = <0x100000 0x7e80000>; + }; + /* + * last 512 KiB are for the bad block table, not writable + */ + }; + }; +}; + +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + + wifi@168c,002d { + compatible = "pci168c,002d"; + reg = <0x7000 0 0 0 0>; + qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */ + qca,disable-5ghz; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts new file mode 100644 index 0000000000..2802663051 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_buffalo_wbmr-300hpd.dts @@ -0,0 +1,310 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "buffalo,wbmr-300hpd", "lantiq,xway", "lantiq,vr9"; + model = "Buffalo WBMR-300HPD"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_g; + led-failsafe = &diag_r; + led-running = &power_g; + led-upgrade = &power_g; + + led-dsl = &dsl; + led-internet = &router_g; + led-wifi = &wifi_g; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + gpio_poweroff { + compatible = "gpio-poweroff"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + power { + label = "power"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + linux,code = <KEY_POWER>; + }; + + reset { + label = "reset"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wps { + label = "wps"; + gpios = <&gpio 31 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + auto { + label = "auto"; + gpios = <&gpio 48 GPIO_ACTIVE_HIGH>; + linux,code = <BTN_0>; + linux,input-type = <EV_SW>; + }; + + router { + label = "router"; + gpios = <&gpio 2 GPIO_ACTIVE_HIGH>; + linux,code = <BTN_1>; + linux,input-type = <EV_SW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + diag_r: diag_r { + label = "red:diag"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + default_state = "off"; + }; + + wifi_g: wifi_g { + label = "green:wifi"; + gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + }; + + dsl: dsl { + label = "dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; + }; + + router_y: router_y { + label = "yellow:router"; + gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; + }; + + wifi_y: wifi_y { + label = "yellow:wifi"; + gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; + }; + + lan1: lan1 { + label = "green:lan1"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + }; + + wan: wan { + label = "green:wan"; + gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; + }; + + lan3: lan3 { + label = "green:lan3"; + gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; + }; + + lan2: lan2 { + label = "green:lan2"; + gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; + }; + + internet_g: internet_g { + label = "green:internet"; + gpios = <&gpio 34 GPIO_ACTIVE_HIGH>; + }; + + internet_y: internet_y { + label = "yellow:internet"; + gpios = <&gpio 35 GPIO_ACTIVE_HIGH>; + }; + + router_g: router_g { + label = "green:router"; + gpios = <&gpio 36 GPIO_ACTIVE_HIGH>; + }; + + power_g: power_g { + label = "green:power"; + gpios = <&gpio 49 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lantiq,switch; + + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "mii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <3>; + phy-mode = "mii"; + phy-handle = <&phy12>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "mii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "mii"; + phy-handle = <&phy14>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy12: ethernet-phy@12 { + reg = <0x12>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + phy14: ethernet-phy@14 { + reg = <0x14>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + phy-rst { + lantiq,pins = "io42"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <20000000>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x10000>; + label = "u-boot"; + read-only; + }; + + partition@10000 { + reg = <0x10000 0x10000>; + label = "gphyfirmware"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x80000>; + label = "dsl_fw"; + }; + + partition@de0000 { + reg = <0xa0000 0xf40000>; + label = "firmware"; + }; + + partition@fe0000 { + reg = <0xfe0000 0x10000>; + label = "sysconfig"; + read-only; + }; + + partition@ff0000 { + reg = <0xff0000 0x2000>; + label = "u-boot-env"; + }; + + partition@ff3000 { + reg = <0xff3000 0x2000>; + label = "board_config"; + read-only; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts new file mode 100644 index 0000000000..475d5a59d7 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nand.dts @@ -0,0 +1,63 @@ +#include "vr9_lantiq_easy80920.dtsi" + +/ { + compatible = "lantiq,easy80920-nand", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9"; + model = "Intel EASY80920 Nand"; + + chosen { + bootargs = "ubi.mtd=ubi ubi.block=0,rootfsA root=/dev/ubiblock0_1"; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x100000>; /* 1024 KB */ + }; + + partition@100000 { + label = "u-boot-env"; + reg = <0x100000 0x40000>; /* 256 KB */ + }; + + partition@140000 { + label = "ubootconfigB"; + reg = <0x140000 0x40000>; /* 256 KB */ + }; + + partition@180000 { + label = "gphyfirmware"; + reg = <0x180000 0x40000>; /* 256 KB */ + }; + + partition@1c0000 { + label = "ubi"; + reg = <0x1c0000 0xc800000>; + }; + + partition@c9c0000 { + label = "calibration"; + reg = <0xc9c0000 0x100000>; + }; + + partition@cac0000 { + label = "res"; + reg = <0xcac0000 0x13540000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts new file mode 100644 index 0000000000..b0977b35c5 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920-nor.dts @@ -0,0 +1,35 @@ +#include "vr9_lantiq_easy80920.dtsi" + +/ { + compatible = "lantiq,easy80920-nor", "lantiq,easy80920", "lantiq,xway", "lantiq,vr9"; + model = "Intel EASY80920 Nor"; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + }; + + partition@10000 { + label = "u-boot-env"; + reg = <0x10000 0x10000>; + }; + + partition@20000 { + label = "firmware"; + reg = <0x20000 0x7e0000>; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi new file mode 100644 index 0000000000..ea7fddbe0f --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_lantiq_easy80920.dtsi @@ -0,0 +1,279 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "lantiq,easy80920", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power; + led-running = &power; + led-upgrade = &power; + + led-usb = &led_usb1; + led-usb2 = &led_usb2; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; +/* reset { + label = "reset"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + };*/ + paging { + label = "paging"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power: power { + label = "green:power"; + gpios = <&stp 9 GPIO_ACTIVE_HIGH>; + default-state = "keep"; + }; + warning { + label = "green:warning"; + gpios = <&stp 22 GPIO_ACTIVE_HIGH>; + }; + fxs1 { + label = "green:fxs1"; + gpios = <&stp 21 GPIO_ACTIVE_HIGH>; + }; + fxs2 { + label = "green:fxs2"; + gpios = <&stp 20 GPIO_ACTIVE_HIGH>; + }; + fxo { + label = "green:fxo"; + gpios = <&stp 19 GPIO_ACTIVE_HIGH>; + }; + led_usb1: usb1 { + label = "green:usb1"; + gpios = <&stp 18 GPIO_ACTIVE_HIGH>; + }; + led_usb2: usb2 { + label = "green:usb2"; + gpios = <&stp 15 GPIO_ACTIVE_HIGH>; + }; + sd { + label = "green:sd"; + gpios = <&stp 14 GPIO_ACTIVE_HIGH>; + }; + wps { + label = "green:wps"; + gpios = <&stp 12 GPIO_ACTIVE_HIGH>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + }; + + wan: interface@1 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + lantiq,wan; + + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin3 { + lantiq,groups = "exin3"; + lantiq,function = "exin"; + }; + conf_out { + lantiq,pins = "io21", + "io33"; + lantiq,open-drain; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + conf_in { + lantiq,pins = "io39"; /* exin3 */ + lantiq,pull = <2>; + }; + }; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <1000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x20000>; + label = "SPI (RO) U-Boot Image"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "ENV_MAC"; + read-only; + }; + + partition@30000 { + reg = <0x30000 0x10000>; + label = "DPF"; + read-only; + }; + + partition@40000 { + reg = <0x40000 0x10000>; + label = "NVRAM"; + read-only; + }; + + partition@50000 { + reg = <0x50000 0x3a0000>; + label = "kernel"; + }; + }; + }; +}; + +&pci0 { + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; +}; + +&stp { + status = "okay"; + + lantiq,shadow = <0xffff>; + lantiq,groups = <0x7>; + lantiq,dsl = <0x3>; + lantiq,phy1 = <0x7>; + lantiq,phy2 = <0x7>; + /* lantiq,rising; */ +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts new file mode 100644 index 0000000000..9dc6d767a6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_netgear_dm200.dts @@ -0,0 +1,184 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "netgear,dm200", "lantiq,xway", "lantiq,vr9"; + model = "Netgear DM200"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_amber; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + annexa { + gpio-export,name = "annexa"; + gpio-export,output = <0>; + gpios = <&gpio 12 GPIO_ACTIVE_HIGH>; + }; + annexb { + gpio-export,name = "annexb"; + gpio-export,output = <0>; + gpios = <&gpio 15 GPIO_ACTIVE_HIGH>; + }; + }; + + leds { + compatible = "gpio-leds"; + + power_amber: power_amber { + label = "amber:power"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + }; + power_green: power_green { + label = "green:power"; + gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; + }; + + lan_amber { + label = "amber:lan"; + gpios = <&gpio 33 GPIO_ACTIVE_HIGH>; + }; + lan_green { + label = "green:lan"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + }; + + dsl_amber { + label = "amber:dsl"; + gpios = <&gpio 8 GPIO_ACTIVE_HIGH>; + }; + dsl_green: dsl_green { + label = "green:dsl"; + gpios = <&gpio 36 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +ð0 { + lantiq,phys = <&gphy1>; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "mii"; + phy-handle = <&phy13>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy22f", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_FE>; +}; + +&pcie0 { + status = "disabled"; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <10000000>; + + partitions { + #address-cells = <1>; + #size-cells = <1>; + compatible = "fixed-partitions"; + + partition@0 { + reg = <0x0 0x20000>; + label = "uboot"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "gphyfirmware"; + read-only; + }; + + partition@30000 { + reg = <0x30000 0x7b0000>; + label = "firmware"; + }; + + partition@7e0000 { + reg = <0x7e0000 0x10000>; + label = "sysconfig"; + read-only; + }; + + partition@7f0000 { + reg = <0x7f0000 0x2000>; + label = "u-boot-env"; + read-only; + }; + + partition@7f2000 { + reg = <0x7f2000 0x1000>; + label = "ART"; + read-only; + }; + + partition@7f3000 { + reg = <0x7f3000 0x1000>; + label = "pot"; + read-only; + }; + + partition@7f4000 { + reg = <0x7f4000 0xc000>; + label = "ret"; + read-only; + }; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts new file mode 100644 index 0000000000..1ac6440744 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts @@ -0,0 +1,6 @@ +#include "vr9_tplink_tdw89x0.dtsi" + +/ { + compatible = "tplink,tdw8970", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9"; + model = "TP-LINK TD-W8970"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts new file mode 100644 index 0000000000..f4a7b8d3c9 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts @@ -0,0 +1,31 @@ +#include "vr9_tplink_tdw89x0.dtsi" + +/ { + compatible = "tplink,tdw8980", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9"; + model = "TP-LINK TD-W8980"; +}; + +&leds { + wifi2 { + label = "green:wlan5ghz"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + }; +}; + +&gpio { + state_default: pinmux { + pci_rst { + lantiq,pins = "io21"; + lantiq,output = <1>; + lantiq,open-drain; + }; + }; +}; + +&pci0 { + status = "okay"; + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = <0x7000 0 0 1 &icu0 30 1>; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi new file mode 100644 index 0000000000..f10e3a8567 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi @@ -0,0 +1,277 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + /* the power led can't be controlled, use the wps led instead */ + led-boot = &led_wps; + led-failsafe = &led_wps; + + led-dsl = &led_dsl; + led-internet = &led_internet; + led-wifi = &led_wifi; + led-usb = &led_usb0; + led-usb2 = &led_usb2; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 0 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wifi { + label = "wifi"; + gpios = <&gpio 9 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_RFKILL>; + linux,input-type = <EV_SW>; + }; + + wps { + label = "wps"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds: leds { + compatible = "gpio-leds"; + + /* + power is not controllable via gpio + */ + + led_dsl: dsl { + label = "green:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; + }; + + led_internet: internet { + label = "green:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_HIGH>; + }; + + led_usb0: usb0 { + label = "green:usb"; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + + led_usb2: usb2 { + label = "green:usb2"; + gpios = <&gpio 20 GPIO_ACTIVE_HIGH>; + }; + + led_wps: wps { + label = "green:wps"; + gpios = <&gpio 37 GPIO_ACTIVE_HIGH>; + }; + }; + + ath9k-leds { + compatible = "gpio-leds"; + + led_wifi: wifi { + label = "green:wifi"; + gpios = <&ath9k 0 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "phy0tpt"; + }; + }; + + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led1_pins>; + pinctrl-names = "default"; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&ath9k_cal 0xf100>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + // gpios = <&gpio 42 GPIO_ACTIVE_LOW>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + phy-rst { + lantiq,pins = "io42"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&pcie0 { + pcie@0 { + reg = <0 0 0 0 0>; + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + device_type = "pci"; + + ath9k: wifi@168c,002e { + compatible = "pci168c,002e"; + reg = <0 0 0 0 0>; + #gpio-cells = <2>; + gpio-controller; + qca,no-eeprom; + qca,disable-5ghz; + mtd-mac-address = <&ath9k_cal 0xf100>; + mtd-mac-address-increment = <2>; + }; + }; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <33250000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x20000>; + label = "u-boot"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x7a0000>; + label = "firmware"; + }; + + partition@7c0000 { + reg = <0x7c0000 0x10000>; + label = "config"; + read-only; + }; + + ath9k_cal: partition@7d0000 { + reg = <0x7d0000 0x30000>; + label = "boardconfig"; + read-only; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts new file mode 100644 index 0000000000..4ad7a484e6 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dts @@ -0,0 +1,25 @@ +#include "vr9_tplink_vr200.dtsi" + +/ { + compatible = "tplink,vr200", "lantiq,xway", "lantiq,vr9"; + model = "TP-LINK Archer VR200"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; +}; + +&keys { + led { + label = "led"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + linux,code = <KEY_LIGHTS_TOGGLE>; + }; +}; + +&leds { + wps { + label = "blue:wps"; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi new file mode 100644 index 0000000000..19cfb822eb --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200.dtsi @@ -0,0 +1,291 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + aliases { + led-boot = &led_power; + led-failsafe = &led_power; + led-running = &led_power; + led-upgrade = &led_power; + + led-dsl = &led_dsl; + led-internet = &led_internet; + led-wifi = &led_wlan5g; + + led-usb = &led_usb; + led-usb2 = &led_usb; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x7f00000>; + }; + + keys: keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 22 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + wifi { + label = "wifi"; + gpios = <&gpio 0 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_RFKILL>; + linux,input-type = <EV_SW>; + }; + + wps { + label = "wps"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + }; + + leds: leds { + compatible = "gpio-leds"; + + led_power: power { + label = "blue:power"; + gpios = <&gpio 46 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + + led_dsl: dsl { + label = "blue:dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + + led_internet: internet { + label = "blue:internet"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + led_usb: usb { + label = "blue:usb"; + gpios = <&gpio 25 GPIO_ACTIVE_LOW>; + }; + + eth { + label = "blue:lan"; + gpios = <&gpio 40 GPIO_ACTIVE_LOW>; + }; + + wlan { + label = "blue:wlan"; + gpios = <&gpio 24 GPIO_ACTIVE_LOW>; + }; + + led_wlan5g: wifi { + label = "blue:wlan5g"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, <&gphy0_led1_pins>, <&gphy1_led1_pins>; + pinctrl-names = "default"; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mtd-mac-address = <&romfile 0xf100>; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + // gpios = <&gpio 42 GPIO_ACTIVE_LOW>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + phy-rst { + lantiq,pins = "io42"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; +}; + +&pcie0 { + pcie@0 { + reg = <0 0 0 0 0>; + #interrupt-cells = <1>; + #size-cells = <2>; + #address-cells = <3>; + device_type = "pci"; + + wifi@0,0 { + reg = <0 0 0 0 0>; + mediatek,mtd-eeprom = <&radio 0x0000>; + big-endian; + ieee80211-freq-limit = <5000000 6000000>; + mtd-mac-address = <&romfile 0xf100>; + mtd-mac-address-increment = <2>; + }; + }; +}; + +&pci0 { + status = "okay"; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&spi { + status = "okay"; + + flash@4 { + compatible = "jedec,spi-nor"; + reg = <4>; + spi-max-frequency = <33250000>; + m25p,fast-read; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x20000>; + label = "u-boot"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0xf90000>; + label = "firmware"; + }; + + partition@fb0000 { + reg = <0xfb0000 0x10000>; + label = "radioDECT"; + read-only; + }; + + partition@fc0000 { + reg = <0xfc0000 0x10000>; + label = "config"; + read-only; + }; + + romfile: partition@fd0000 { + reg = <0xfd0000 0x10000>; + label = "romfile"; + read-only; + }; + + partition@fe0000 { + reg = <0xfe0000 0x10000>; + label = "rom"; + read-only; + }; + + radio: partition@ff0000 { + reg = <0xff0000 0x10000>; + label = "radio"; + read-only; + }; + }; + }; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts new file mode 100644 index 0000000000..110e91a7b9 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_vr200v.dts @@ -0,0 +1,32 @@ +#include "vr9_tplink_vr200.dtsi" + +/ { + compatible = "tplink,vr200v", "lantiq,xway", "lantiq,vr9"; + model = "TP-LINK Archer VR200v"; + + chosen { + bootargs = "console=ttyLTQ0,115200 mem=126M vpe1_load_addr=0x87e00000 vpe1_mem=2M maxvpes=1 maxtcs=1 nosmp"; + }; +}; + +&keys { + dect_paging { + label = "dect_paging"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + linux,code = <KEY_PHONE>; + }; +}; + +&leds { + phone { + label = "blue:phone"; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + }; +}; + +&vmmc { + status = "okay"; + gpios = <&gpio 30 GPIO_ACTIVE_HIGH //fxs relay + &gpio 31 GPIO_ACTIVE_HIGH //still unknown + &gpio 3 GPIO_ACTIVE_HIGH>; //reset_slic? +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts new file mode 100644 index 0000000000..2812df7e68 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f1.dts @@ -0,0 +1,69 @@ +#include "vr9_zyxel_p-2812hnu-fx.dtsi" + +/ { + compatible = "zyxel,p-2812hnu-f1", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9"; + model = "ZyXEL P-2812HNU-F1"; + + aliases { + led-usb = &led_usb1; + led-usb2 = &led_usb2; + }; + + leds { + led_usb1: usb1 { + label = "green:usb1"; + gpios = <&gpio 38 GPIO_ACTIVE_LOW>; + }; + led_usb2: usb2 { + label = "green:usb2"; + gpios = <&gpio 44 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + }; + partition@40000 { + label = "u-boot-env"; + reg = <0x40000 0x20000>; + }; + partition@60000 { + label = "kernel"; + reg = <0x60000 0x300000>; + }; + partition@360000 { + label = "ubi"; + reg = <0x360000 0x7ca0000>; + }; + }; + }; +}; + +&pci0 { + wifi@1814,3062 { + compatible = "pci1814,3062"; + reg = <0x7000 0 0 0 0>; + ralink,eeprom = "RT3062.eeprom"; + }; +}; + +&pcie0 { + status = "disabled"; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts new file mode 100644 index 0000000000..12280241a5 --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-f3.dts @@ -0,0 +1,63 @@ +#include "vr9_zyxel_p-2812hnu-fx.dtsi" + +/ { + compatible = "zyxel,p-2812hnu-f3", "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9"; + model = "ZyXEL P-2812HNU-F3"; +}; + +&pci0 { + wifi@1814,3092 { + compatible = "pci1814,3092"; + reg = <0x7000 0 0 0 0>; + ralink,eeprom = "RT3092.eeprom"; + }; +}; + +&localbus { + flash@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + + pinctrl-0 = <&nand_pins>, <&nand_cs1_pins>; + pinctrl-names = "default"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x50000>; + read-only; + }; + partition@50000 { + label = "u-boot-env"; + reg = <0x50000 0x10000>; + }; + partition@60000 { + label = "unused"; + reg = <0x60000 0x7a0000>; + }; + }; + }; + + flash@1 { + compatible = "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <1 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0 0x200000>; + }; + partition@200000 { + label = "ubi"; + reg = <0x200000 0x7e00000>; + }; + }; +}; diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi new file mode 100644 index 0000000000..c4f30f5ffc --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_zyxel_p-2812hnu-fx.dtsi @@ -0,0 +1,259 @@ +#include "vr9.dtsi" + +#include <dt-bindings/input/input.h> +#include <dt-bindings/mips/lantiq_rcu_gphy.h> + +/ { + compatible = "zyxel,p-2812hnu", "lantiq,xway", "lantiq,vr9"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power_green; + led-failsafe = &power_red; + led-running = &power_green; + led-upgrade = &power_green; + + led-dsl = &dsl_green; + led-internet = &internet_green; + led-wifi = &wireless_green; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + keys { + compatible = "gpio-keys-polled"; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 39 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + + rfkill { + label = "rfkill"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + }; + + leds { + compatible = "gpio-leds"; + + internet_red { + label = "red:internet"; + gpios = <&stp 16 GPIO_ACTIVE_LOW>; + }; + internet_green: internet_green { + label = "green:internet"; + gpios = <&stp 17 GPIO_ACTIVE_LOW>; + }; + dsl_green: dsl_green { + label = "green:dsl"; + gpios = <&stp 18 GPIO_ACTIVE_LOW>; + }; + dsl_orange { + label = "orange:dsl"; + gpios = <&stp 19 GPIO_ACTIVE_LOW>; + }; + wireless_orange { + label = "orange:wlan"; + gpios = <&stp 20 GPIO_ACTIVE_LOW>; + }; + wireless_green: wireless_green { + label = "green:wlan"; + gpios = <&stp 21 GPIO_ACTIVE_LOW>; + }; + power_red: power { + label = "red:power"; + gpios = <&stp 22 GPIO_ACTIVE_LOW>; + }; + power_green: power2 { + label = "green:power"; + gpios = <&stp 23 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + phone1 { + label = "green:phone"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + }; + phone1warn { + label = "orange:phone"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + phone2warn { + label = "orange:phone2"; + gpios = <&gpio 26 GPIO_ACTIVE_LOW>; + }; + phone2 { + label = "green:phone2"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + }; + }; + + usb_vbus: regulator-usb-vbus { + compatible = "regulator-fixed"; + + regulator-name = "USB_VBUS"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&gpio 33 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; +}; + +ð0 { + pinctrl-0 = <&mdio_pins>, + <&gphy0_led1_pins>, <&gphy0_led2_pins>, + <&gphy1_led1_pins>, <&gphy1_led2_pins>; + pinctrl-names = "default"; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + lantiq,switch; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + mdio { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + }; + }; +}; + +&gphy0 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gphy1 { + lantiq,gphy-mode = <GPHY_MODE_GE>; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin3 { + lantiq,groups = "exin3"; + lantiq,function = "exin"; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,output = <1>; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + ifxhcd-rst { + lantiq,pins = "io33"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + }; +}; + +&pci0 { + status = "okay"; + + pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>; + pinctrl-names = "default"; + + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; +}; + +&stp { + status = "okay"; + + lantiq,shadow = <0xffffff>; + lantiq,groups = <0x7>; + lantiq,dsl = <0x0>; + lantiq,phy1 = <0x0>; + lantiq,phy2 = <0x0>; +}; + +&usb_phy0 { + status = "okay"; +}; + +&usb_phy1 { + status = "okay"; +}; + +&usb0 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; + +&usb1 { + status = "okay"; + vbus-supply = <&usb_vbus>; +}; |