diff options
Diffstat (limited to 'target/linux/lantiq/dts')
31 files changed, 4766 insertions, 0 deletions
diff --git a/target/linux/lantiq/dts/ACMP252.dts b/target/linux/lantiq/dts/ACMP252.dts new file mode 100644 index 0000000000..31cb9de5a7 --- /dev/null +++ b/target/linux/lantiq/dts/ACMP252.dts @@ -0,0 +1,96 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ACMP252 - AudioCodes MediaPack MP-252"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x0 0x20000>; + read-only; + }; + + partition@20000 { + label = "uboot_env"; + reg = <0x20000 0x20000>; + }; + + partition@40000 { + label = "boardconfig"; + reg = <0x40000 0x60000>; + read-only; + }; + + partition@a0000 { + label = "linux"; + reg = <0xa0000 0xf20000>; + }; + + partition@fc0000 { + label = "sysconfig"; + reg = <0xfc0000 0x40000>; + }; + + partition@0x1000000 { + label = "rootfs_data"; + reg = <0x1000000 0x1000000>; + }; + + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + pci { + lantiq,groups = "gnt1", "req1"; + lantiq,function = "pci"; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 3 0>; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + pci@E105400 { + status = "okay"; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV4510PW.dts b/target/linux/lantiq/dts/ARV4510PW.dts new file mode 100644 index 0000000000..e0cd38a460 --- /dev/null +++ b/target/linux/lantiq/dts/ARV4510PW.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4510QW - Wippies Homebox"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x1000000>; + #address-cells = <1>; + #size-cells = <1>; + + lantiq,noxip; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "uboot_env"; + reg = <0x20000 0x20000>; + read-only; + }; + + partition@240000 { + label = "linux"; + reg = <0x40000 0xf00000>; + }; + + partition@fe0000 { + label = "boardconfig"; + reg = <0xfe0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0xff0016 0x6>; + mac-increment = <2>; + }; + }; + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + stp { + lantiq,groups = "stp"; + lantiq,function = "stp"; + }; + exin { + lantiq,groups = "exin2"; + lantiq,function = "exin"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + gpios: stp@E100BB0 { + status = "okay"; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + pci@E105400 { + status = "okay"; + 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 0>; + req-mask = <0x3>; + }; + + }; +}; diff --git a/target/linux/lantiq/dts/ARV4518PWR01.dts b/target/linux/lantiq/dts/ARV4518PWR01.dts new file mode 100644 index 0000000000..5536af56d7 --- /dev/null +++ b/target/linux/lantiq/dts/ARV4518PWR01.dts @@ -0,0 +1,192 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4518PWR01 - SMC7908A-ISP"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800 + 0 0x3f0016 0x6>; + ath,mac-increment = <1>; + ath,eep-swap; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1", "gnt2"; + lantiq,function = "pci"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 14 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,internal-clock; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; + }; + + }; + +/* +#define ARV4518PW_SWITCH_RESET 13 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 1>; + linux,code = <0xf7>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 0>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpio 8 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 19 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV4518PWR01A.dts b/target/linux/lantiq/dts/ARV4518PWR01A.dts new file mode 100644 index 0000000000..cf960e006c --- /dev/null +++ b/target/linux/lantiq/dts/ARV4518PWR01A.dts @@ -0,0 +1,192 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4518PWR01A - SMC7908A-ISP, Airties WAV-221"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800 + 0 0x3f0016 0x6>; + ath,mac-increment = <1>; + ath,eep-swap; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1", "gnt2"; + lantiq,function = "pci"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 14 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; + }; + + }; + +/* +#define ARV4518PW_SWITCH_RESET 13 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 28 1>; + linux,code = <0xf7>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 0>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpio 8 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 19 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV4520PW.dts b/target/linux/lantiq/dts/ARV4520PW.dts new file mode 100644 index 0000000000..459c238996 --- /dev/null +++ b/target/linux/lantiq/dts/ARV4520PW.dts @@ -0,0 +1,200 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4520PW - Easybox 800, WAV-281"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0 + &gpiomm 7 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "uboot_env"; + reg = <0x20000 0x10000>; + read-only; + }; + + partition@30000 { + label = "linux"; + reg = <0x30000 0x3c0000>; + }; + + partition@7f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x400>; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,open-drain = <0>; + lantiq,pull = <0>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 28 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + }; + + }; + +// gpiomm 10 - switch + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "wps"; + gpios = <&gpio 29 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "power"; + gpios = <&gpio 3 1>; + }; + adsl { + label = "adsl"; + gpios = <&gpio 4 1>; + }; + internet { + label = "internet"; + gpios = <&gpio 5 1>; + }; + power2 { + label = "power2"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + wps2 { + label = "wps2"; + gpios = <&gpio 9 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 0 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 1 1>; + }; + isdn { + label = "isdn"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 4 1>; + }; + usb { + label = "usb"; + gpios = <&gpiomm 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpiomm 6 1>; + }; + internet2 { + label = "internet2"; + gpios = <&gpiomm 9 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV4525PW.dts b/target/linux/lantiq/dts/ARV4525PW.dts new file mode 100644 index 0000000000..e2d386088f --- /dev/null +++ b/target/linux/lantiq/dts/ARV4525PW.dts @@ -0,0 +1,153 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4525PW - Speedport W501V Typ A"; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800>; + ath,mac-offset = <0>; + ath,eep-swap; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci_in { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + relay { + lantiq,pins = "io31"; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "mii"; + }; + + pci@E105400 { + status = "okay"; + gpio-reset = <&gpio 21 0>; + }; + + }; + +/* +#define ARV4525PW_PHYRESET 13 +#define ARV4525PW_RELAY 31 +*/ + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 29 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + fxo { + label = "fxo"; + gpios = <&gpio 4 1>; + }; + fxs { + label = "fxs"; + gpios = <&gpio 5 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 6 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 8 1>; + }; + online { + /*label = "online"; - we dont have a power led, lets use this one */ + label = "power"; + gpios = <&gpio 9 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV452CQW.dts b/target/linux/lantiq/dts/ARV452CQW.dts new file mode 100644 index 0000000000..bfcf51e25c --- /dev/null +++ b/target/linux/lantiq/dts/ARV452CQW.dts @@ -0,0 +1,219 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV452CQW - Arcor 801"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0 + &gpiomm 7 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x400000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@3f0000 { + label = "boardconfig"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ath5k_eep { + compatible = "ath5k,eeprom"; + reg = <0 0x3f0400 0x800>; + ath,mac-offset = <0>; + ath,eep-swap; + }; + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10>; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x77f>; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io3", "io5", "io6", "io7", "io9"; + lantiq,output = <1>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 28 0>; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + }; + + }; + +/* +#define ARV452CPW_SWITCH_RESET 110 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled1"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 11 1>; + linux,code = <0x101>; + }; + restart { + label = "restart"; + gpios = <&gpio 12 1>; + linux,code = <0x110>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power0 { + label = "power0"; + gpios = <&gpio 3 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + isdn { + label = "isdn"; + gpios = <&gpio 5 1>; + }; + power1 { + label = "power1"; + gpios = <&gpio 6 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 7 1>; + }; + wps1 { + label = "wps1"; + gpios = <&gpio 9 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 0 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 1 1>; + }; + wps2 { + label = "wps2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 4 1>; + }; + usb { + label = "usb"; + gpios = <&gpiomm 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpiomm 6 1>; + }; + dsl2 { + label = "dsl2"; + gpios = <&gpiomm 8 1>; + }; + dsl3 { + label = "dsl3"; + gpios = <&gpiomm 9 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7518PW.dts b/target/linux/lantiq/dts/ARV7518PW.dts new file mode 100644 index 0000000000..1439c67b20 --- /dev/null +++ b/target/linux/lantiq/dts/ARV7518PW.dts @@ -0,0 +1,209 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV7518PW - Astoria Networks"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x7d0000>; + }; + + partition@400000 { + label = "boardconfig"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x0>; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x7f0016 0x6>; + mac-increment = <2>; + }; + + ath9k_eep { + compatible = "ath9k,eeprom"; + reg = <0 0x7f0400 0x800 + 0 0x7f0016 0x6>; + ath,mac-increment = <1>; + ath,pci-slot = <14>; + ath,eep-swap; + ath,eep-csum; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1", "gnt2"; + lantiq,function = "pci"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 14 0>; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; + }; + + }; + +/* +#define SWITCH_RESET 13 +*/ + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 25 1>; + linux,code = <0xf7>; + }; +/* reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + };*/ + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 2 0>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 6 1>; + }; + power2 { + label = "power2"; + gpios = <&gpio 7 1>; + }; + online2 { + label = "online2"; + gpios = <&gpio 8 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 19 1>; + }; + voice { + label = "voice"; + gpios = <&gpiomm 0 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 1 1>; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 2 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 3 1>; + }; + wps { + label = "wps"; + gpios = <&gpiomm 4 1>; + }; + wps2 { + label = "wps2"; + gpios = <&gpiomm 5 1>; + }; + wps3 { + label = "wps3"; + gpios = <&gpiomm 6 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV7525PW.dts b/target/linux/lantiq/dts/ARV7525PW.dts new file mode 100644 index 0000000000..00f73562e5 --- /dev/null +++ b/target/linux/lantiq/dts/ARV7525PW.dts @@ -0,0 +1,142 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV7525PW - Speedport W303V Typ A"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "board_config"; + reg = <0x3f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x3f0016 0x6>; + mac-increment = <2>; + }; + + ralink_eep { + compatible = "ralink,eeprom"; + ralink,eeprom = "RT2860.eeprom"; + reg = <0 0x3f0410 0x110>; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + pci { + lantiq,groups = "gnt1", "req1"; + lantiq,function = "pci"; + }; + }; + }; + + etop@E180000 { + phy-mode = "mii"; + }; + + pci@E105400 { + status = "okay"; + interrupt-map = <0x7000 0 0 1 &icu0 135 1>; + req-mask = <0x1>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 29 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 1>; + }; + power1 { + label = "power1"; + gpios = <&gpio 4 1>; + }; + online { + label = "online"; + gpios = <&gpio 5 1>; + }; + voice { + label = "voice"; + gpios = <&gpio 6 1>; + }; + voice2 { + label = "voice2"; + gpios = <&gpio 8 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 9 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV752DPW.dts b/target/linux/lantiq/dts/ARV752DPW.dts new file mode 100644 index 0000000000..7254f5ce73 --- /dev/null +++ b/target/linux/lantiq/dts/ARV752DPW.dts @@ -0,0 +1,219 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV752DPW - Arcor 802"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpiomm 1 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x7d0000>; + }; + + partition@7f0000 { + label = "board_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x7f0016 0x6>; + mac-increment = <2>; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <0x3>; + }; + }; + + gpio: pinmux@E100B10 { + 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_in { + lantiq,groups = "req2", "req1"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + 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>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpiomm 0 0>; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + pci@E105400 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 0>; + interrupt-map = <0x7000 0 0 1 &icu0 135>; + req-mask = <0x3>; + }; + + }; + + ralink_eep { + compatible = "ralink,eeprom"; + ralink,eeprom = "RT2860.eeprom"; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + /* wps { + label = "wps"; + gpios = <&gpio 11 1>; + linux,code = <0x211>; + };*/ + restart { + label = "restart"; + gpios = <&gpio 12 0>; + linux,code = <0x110>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 13 0>; + linux,code = <0x111>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 0>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 1>; + }; + message { + label = "message"; + gpios = <&gpio 5 1>; + }; + power1 { + label = "power1"; + gpios = <&gpio 6 1>; + }; + voice1 { + label = "voice1"; + gpios = <&gpio 8 1>; + }; + microphone { + /* use this led as te usb led */ + label = "usb"; + gpios = <&gpiomm 3 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpiomm 4 1>; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 5 1>; + }; + fx2 { + label = "fxs2"; + gpios = <&gpiomm 6 1>; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 7 1>; + }; + internet { + label = "internet"; + gpios = <&gpiomm 8 1>; + }; + voice2 { + label = "voice2"; + gpios = <&gpiomm 9 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/ARV752DPW22.dts b/target/linux/lantiq/dts/ARV752DPW22.dts new file mode 100644 index 0000000000..1300a5d892 --- /dev/null +++ b/target/linux/lantiq/dts/ARV752DPW22.dts @@ -0,0 +1,242 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV752DPW22 - Arcor 803"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpiomm 1 0>; + }; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + read-only; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x7d0000>; + }; + + partition@7f0000 { + label = "board_config"; + reg = <0x7f0000 0x10000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x7f0016 0x6>; + mac-increment = <2>; + }; + + gpiomm: gpiomm@4000000 { + compatible = "lantiq,gpio-mm"; + reg = <1 0x0 0x10 >; + #address-cells = <1>; + #size-cells = <1>; + #gpio-cells = <2>; + gpio-controller; + lantiq,shadow = <3>; + }; + }; + + gpio: pinmux@E100B10 { + 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_in { + lantiq,groups = "req1", "req2"; + lantiq,function = "pci"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + lantiq,output = <0>; + }; + pci_out { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + leds { + lantiq,pins = "io3", "io5", "io6", "io8"; + lantiq,output = <1>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpiomm 0 0>; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + pci@E105400 { + status = "okay"; + 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 0>; + req-mask = <0x3>; + }; + + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 11 1>; + linux,code = <0x211>; + }; + restart { + label = "restart"; + gpios = <&gpio 12 1>; + linux,code = <0x110>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 13 1>; + linux,code = <0x111>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 3 1>; + default-state = "on"; + }; + message { + label = "message"; + gpios = <&gpio 5 1>; + default-state = "on"; + }; + power1 { + label = "power1"; + gpios = <&gpio 6 1>; + default-state = "on"; + }; + voice1 { + label = "voice1"; + gpios = <&gpio 8 1>; + default-state = "on"; + }; + microphone { + label = "microphone"; + gpios = <&gpiomm 3 1>; + default-state = "on"; + }; + wifi { + label = "wifi_rt"; + gpios = <&gpiomm 4 1>; + default-state = "on"; + }; + fxs1 { + label = "fxs1"; + gpios = <&gpiomm 5 1>; + default-state = "on"; + }; + fxs2 { + label = "fxs2"; + gpios = <&gpiomm 6 1>; + default-state = "on"; + }; + fxo { + label = "fxo"; + gpios = <&gpiomm 7 1>; + default-state = "on"; + }; + dsl { + label = "dsl"; + gpios = <&gpiomm 8 1>; + default-state = "on"; + }; + voice2 { + label = "voice2"; + gpios = <&gpiomm 9 1>; + default-state = "on"; + }; + eth1 { + label = "eth1"; + gpios = <&gpiomm 11 1>; + default-state = "on"; + }; + eth2 { + label = "eth2"; + gpios = <&gpiomm 12 1>; + default-state = "on"; + }; + eth3 { + label = "eth3"; + gpios = <&gpiomm 13 1>; + default-state = "on"; + }; + eth4 { + label = "eth4"; + gpios = <&gpiomm 14 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/lantiq/dts/DGN1000B.dts b/target/linux/lantiq/dts/DGN1000B.dts new file mode 100644 index 0000000000..782ba6e38c --- /dev/null +++ b/target/linux/lantiq/dts/DGN1000B.dts @@ -0,0 +1,138 @@ +/dts-v1/; + +/include/ "amazonse.dtsi" + +/ { + model = "DGN1000B - Netgear DGN1000B"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x1000000>; + }; + + fpi@10000000 { + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + spi { + lantiq,groups = "spi", "spi_cs1"; + lantiq,function = "spi"; + }; + asc { + lantiq,groups = "asc"; + lantiq,function = "asc"; + }; + keys_in { + lantiq,pins = "io0",/* "io25", */"io29"; + lantiq,pull = <2>; + lantiq,open-drain = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "mii"; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + spi@E100800 { + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l3205d"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l64"; + spi-max-frequency = <5000000>; + + 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@500000 { + reg = <0x50000 0x003a0000>; + label = "kernel"; + }; + }; + }; + ifxhcd@E101000 { + status = "okay"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + reset { + label = "reset"; + gpios = <&gpio 0 1>; + linux,code = <0x198>; + }; + rfkill { + label = "rfkill"; + gpios = <&gpio 25 1>; + linux,code = <0xf7>; + }; + wps { + label = "wps"; + gpios = <&gpio 29 1>; + linux,code = <0x211>; + }; + }; + + gpio-leds { + cmpatible = "gpio-leds"; + dsl { + label = "dsl"; + gpios = <&gpio 1 1>; + default-state = "on"; + }; + online { + label = "online"; + gpios = <&gpio 2 1>; + default-state = "on"; + }; + online2 { + label = "online2"; + gpios = <&gpio 3 1>; + default-state = "on"; + }; + wps { + label = "wps"; + gpios = <&gpio 4 1>; + default-state = "on"; + }; + power { + label = "power"; + gpios = <&gpio 13 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/lantiq/dts/DGN3500.dts b/target/linux/lantiq/dts/DGN3500.dts new file mode 100644 index 0000000000..d256871913 --- /dev/null +++ b/target/linux/lantiq/dts/DGN3500.dts @@ -0,0 +1,7 @@ +/dts-v1/; + +/include/ "DGN3500.dtsi" + +/ { + model = "DGN3500 - Netgear DGN3500"; +}; diff --git a/target/linux/lantiq/dts/DGN3500.dtsi b/target/linux/lantiq/dts/DGN3500.dtsi new file mode 100644 index 0000000000..795e8bce0a --- /dev/null +++ b/target/linux/lantiq/dts/DGN3500.dtsi @@ -0,0 +1,176 @@ +/include/ "ar9.dtsi" + +/ { + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + pci { + lantiq,groups = "gnt1", "req1"; + lantiq,function = "pci"; + }; + 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>; + }; + spi-in { + lantiq,pins = "io16"; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + spi-out { + lantiq,pins = "io10", "io17", "io18", "io21"; + lantiq,open-drain = <0>; + lantiq,pull = <2>; + }; + }; + }; + + etop@E180000 { + phy-mode = "mii"; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + ifxhcd@E101000 { + status = "okay"; + }; + + pci@E105400 { + 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 0>; + req-mask = <0x1>; /* GNT1 */ + }; + }; + + spi { + #address-cells = <1>; + #size-cells = <1>; + + compatible = "spi-gpio"; + + gpio-miso = <&gpio 16 0>; + gpio-mosi = <&gpio 17 0>; + gpio-sck = <&gpio 18 0>; + num-chipselects = <1>; + cs-gpios = <&gpio 10 1>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <1000000>; + + partition@0 { + reg = <0x0 0x10000>; + label = "uboot"; + read-only; + }; + + partition@10000 { + reg = <0x10000 0x10000>; + label = "uboot-env"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x10000>; + label = "calibration"; + read-only; + }; + + partition@50000 { + reg = <0x50000 0xfa0000>; + label = "linux"; + }; + }; + }; + + rtl8366rb { + compatible = "rtl8366rb"; + gpio-sda = <&gpio 35 0>; + gpio-sck = <&gpio 37 0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 36 1>; + linux,code = <0xf7>; + }; + wps { + label = "wps"; + gpios = <&gpio 54 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 53 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + internet { + label = "inernet"; + gpios = <&gpio 2 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 4 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 22 1>; + }; + power { + label = "power"; + gpios = <&gpio 34 1>; + default-state = "on"; + }; + power2 { + label = "power2"; + gpios = <&gpio 39 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 51 1>; + }; + wps { + label = "wps"; + gpios = <&gpio 52 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/DGN3500B.dts b/target/linux/lantiq/dts/DGN3500B.dts new file mode 100644 index 0000000000..71a4e58c13 --- /dev/null +++ b/target/linux/lantiq/dts/DGN3500B.dts @@ -0,0 +1,7 @@ +/dts-v1/; + +/include/ "DGN3500.dtsi" + +/ { + model = "DGN3500B - Netgear DGN3500B"; +}; diff --git a/target/linux/lantiq/dts/EASY50712.dts b/target/linux/lantiq/dts/EASY50712.dts new file mode 100644 index 0000000000..68c17310bc --- /dev/null +++ b/target/linux/lantiq/dts/EASY50712.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "rootfs"; + reg = <0x400000 0x400000>; + }; + }; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xway"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + + state_default: pinmux { + stp { + lantiq,groups = "stp"; + lantiq,function = "stp"; + }; + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + pci { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + }; + conf_out { + lantiq,pins = "io4", "io5", "io6"; /* stp */ + lantiq,open-drain; + lantiq,pull = <0>; + }; + }; + }; + + etop@E180000 { + compatible = "lantiq,etop-xway"; + reg = <0xE180000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <73 78>; + phy-mode = "rmii"; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + stp0: stp@E100BB0 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-stp-xway"; + gpio-controller; + reg = <0xE100BB0 0x40>; + + lantiq,shadow = <0xfff>; + lantiq,groups = <0x3>; + }; + + pci@E105400 { + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = < + 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29 + >; + gpios-reset = <&gpio 21 0>; + req-mask = <0x1>; /* GNT1 */ + }; + + }; +}; diff --git a/target/linux/lantiq/dts/EASY50810.dts b/target/linux/lantiq/dts/EASY50810.dts new file mode 100644 index 0000000000..9e5fad782b --- /dev/null +++ b/target/linux/lantiq/dts/EASY50810.dts @@ -0,0 +1,114 @@ +/dts-v1/; + +/include/ "ar9.dtsi" + +/ { + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + ranges = <0 0 0x0 0x3ffffff /* addrsel0 */ + 1 0 0x4000000 0x4000010>; /* addsel1 */ + compatible = "lantiq,localbus", "simple-bus"; + + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; /* 64 KB */ + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; /* 64 KB */ + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x3d0000>; + }; + + partition@400000 { + label = "rootfs"; + reg = <0x400000 0x400000>; + }; + }; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xr9"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + + state_default: pinmux { + stp { + lantiq,groups = "stp"; + lantiq,function = "stp"; + }; + exin { + lantiq,groups = "exin1"; + lantiq,function = "exin"; + }; + pci { + lantiq,groups = "gnt1"; + lantiq,function = "pci"; + }; + conf_out { + lantiq,pins = "io4", "io5", "io6"; /* stp */ + lantiq,open-drain; + lantiq,pull = <0>; + }; + }; + }; + + etop@E180000 { + compatible = "lantiq,etop-xway"; + reg = <0xE180000 0x40000 + 0xE108000 0x200>; + interrupt-parent = <&icu0>; + interrupts = <72 73>; + phy-mode = "rmii"; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + stp0: stp@E100BB0 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-stp-xway"; + gpio-controller; + reg = <0xE100BB0 0x40>; + + lantiq,shadow = <0xfff>; + lantiq,groups = <0x3>; + }; + + pci@E105400 { + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = < + 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29 + >; + gpios-reset = <&gpio 21 0>; + req-mask = <0x1>; /* GNT1 */ + }; + + }; +}; diff --git a/target/linux/lantiq/dts/EASY80920.dtsi b/target/linux/lantiq/dts/EASY80920.dtsi new file mode 100644 index 0000000000..861978f5b9 --- /dev/null +++ b/target/linux/lantiq/dts/EASY80920.dtsi @@ -0,0 +1,340 @@ +/include/ "vr9.dtsi" + +/ { + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xEEFFFFF>; + reg = <0x10000000 0xEF00000>; + + localbus@0 { + #address-cells = <2>; + #size-cells = <1>; + compatible = "lantiq,localbus", "simple-bus"; + + }; + + spi@E100800 { + compatible = "lantiq,spi-xway-broken"; + reg = <0xE100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; + #address-cells = <1>; + #size-cells = <1>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <1000000>; + + 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@500000 { + reg = <0x50000 0x003a0000>; + label = "kernel"; + }; + }; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xr9"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + interrupt-parent = <&icu0>; + interrupts = <166 135 66 40 41 42 38>; + + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + + state_default: pinmux { + exin3 { + lantiq,groups = "exin3"; + lantiq,function = "exin"; + }; + stp { + lantiq,groups = "stp"; + lantiq,function = "stp"; + }; + spi { + lantiq,groups = "spi", "spi_cs4"; + lantiq,function = "spi"; + }; + nand { + lantiq,groups = "nand cle", "nand ale", + "nand rd", "nand rdy"; + lantiq,function = "ebu"; + }; + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + pci { + lantiq,groups = "gnt1", "req1"; + lantiq,function = "pci"; + }; + conf_out { + lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */ + "io4", "io5", "io6", /* stp */ + "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 */ + "io48"; /* nand rdy */ + lantiq,pull = <2>; + }; + }; + }; + + 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 = <73 72>; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + + 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>; + }; + }; + + wan: interface@1 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + mac-address = [ 00 11 22 33 44 56 ]; + lantiq,wan; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + }; + + test: interface@2 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; + mac-address = [ 00 11 22 33 44 57 ]; + ethernet@4 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phynmode0 = "gmii"; + phy-handle = <&phy13>; + }; + }; + + mdio@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy5: ethernet-phy@5 { + reg = <0x5>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + }; + }; + + stp: stp@E100BB0 { + compatible = "lantiq,gpio-stp-xway"; + reg = <0xE100BB0 0x40>; + #gpio-cells = <2>; + gpio-controller; + + lantiq,shadow = <0xffff>; + lantiq,groups = <0x7>; + lantiq,dsl = <0x3>; + lantiq,phy1 = <0x7>; + lantiq,phy2 = <0x7>; + /* lantiq,rising; */ + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 33 0>; + lantiq,portmask = <0x3>; + }; + + pci@E105400 { + #address-cells = <3>; + #size-cells = <2>; + #interrupt-cells = <1>; + compatible = "lantiq,pci-xway1"; + 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>; + /*lantiq,external-clock;*/ + lantiq,delay-hi = <0>; /* 0ns delay */ + lantiq,delay-lo = <0>; /* 0.0ns delay */ + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = < + 0x7000 0 0 1 &icu0 29 1 // slot 14, irq 29 + >; + gpios-reset = <&gpio 21 0>; + req-mask = <0x1>; /* GNT1 */ + }; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a2x.bin"; + phys = [ 00 01 ]; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; +/* reset { + label = "reset"; + gpios = <&gpio 7 1>; + linux,code = <0x198>; + };*/ + paging { + label = "paging"; + gpios = <&gpio 11 1>; + linux,code = <0x100>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "power"; + gpios = <&stp 9 0>; + default-state = "on"; + }; + warning { + label = "warning"; + gpios = <&stp 22 0>; + }; + fxs1 { + label = "fxs1"; + gpios = <&stp 21 0>; + }; + fxs2 { + label = "fxs2"; + gpios = <&stp 20 0>; + }; + fxo { + label = "fxo"; + gpios = <&stp 19 0>; + }; + usb1 { + label = "usb1"; + gpios = <&stp 18 0>; + }; + usb2 { + label = "usb2"; + gpios = <&stp 15 0>; + }; + sd { + label = "sd"; + gpios = <&stp 14 0>; + }; + wps { + label = "wps"; + gpios = <&stp 12 0>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/EASY80920NAND.dts b/target/linux/lantiq/dts/EASY80920NAND.dts new file mode 100644 index 0000000000..afa2157247 --- /dev/null +++ b/target/linux/lantiq/dts/EASY80920NAND.dts @@ -0,0 +1,35 @@ +/dts-v1/; + + +/include/ "EASY80920.dtsi" + +/ { + fpi@10000000 { + localbus@0 { + ranges = <0 0 0x4000000 0x3ffffff>; + nand-parts@0 { + compatible = "gen_nand", "lantiq,nand-xway"; + lantiq,cs = <1>; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x40000 0x40000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x80000 0x3f80000>; + }; + }; + }; + }; +}; diff --git a/target/linux/lantiq/dts/EASY80920NOR.dts b/target/linux/lantiq/dts/EASY80920NOR.dts new file mode 100644 index 0000000000..94f4cc1ec5 --- /dev/null +++ b/target/linux/lantiq/dts/EASY80920NOR.dts @@ -0,0 +1,34 @@ +/dts-v1/; + + +/include/ "EASY80920.dtsi" + +/ { + fpi@10000000 { + localbus@0 { + ranges = <0 0 0x0 0x3ffffff>; + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x10000>; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x10000 0x10000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0x7e0000>; + }; + }; + }; + }; +}; diff --git a/target/linux/lantiq/dts/EASY98000NOR.dts b/target/linux/lantiq/dts/EASY98000NOR.dts new file mode 100644 index 0000000000..46497f48d1 --- /dev/null +++ b/target/linux/lantiq/dts/EASY98000NOR.dts @@ -0,0 +1,65 @@ +/dts-v1/; + +/include/ "falcon.dtsi" + +/ { + model = "EASY98000 - Lantiq Falcon (NOR)"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + localbus@10000000 { + cfi@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0x0 0x4000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + }; + + partition@10000 { + label = "uboot_env"; + reg = <0x40000 0x40000>; + }; + + partition@20000 { + label = "linux"; + reg = <0x80000 0x3d0000>; + }; + }; + }; + + pinmux0 { + compatible = "lantiq,pinctrl-falcon"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + asc0 { + lantiq,groups = "asc0"; + lantiq,function = "asc"; + }; + ntr { + lantiq,groups = "ntr8k"; + lantiq,function = "ntr"; + }; + i2c { + lantiq,groups = "i2c"; + lantiq,function = "i2c"; + }; + hrst { + lantiq,groups = "hrst"; + lantiq,function = "rst"; + }; + }; + }; +}; diff --git a/target/linux/lantiq/dts/EASY98000SFLASH.dts b/target/linux/lantiq/dts/EASY98000SFLASH.dts new file mode 100644 index 0000000000..47f8b47ff1 --- /dev/null +++ b/target/linux/lantiq/dts/EASY98000SFLASH.dts @@ -0,0 +1,74 @@ +/dts-v1/; + +/include/ "falcon.dtsi" + +/ { + model = "EASY98000 - Lantiq Falcon (SFLASH)"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + localbus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sflash-falcon", "simple-bus"; + busnum = <0>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "s25fl129p0"; + spi-max-frequency = <10000000>; + + partition@0 { + reg = <0x0 0x00080000>; + label = "SPI (RO) U-Boot Image"; + read-only; + }; + + partition@80000 { + reg = <0x00080000 0x00080000>; + label = "SPI (RO) DTB Image"; + read-only; + }; + + partition@100000 { + reg = <0x00100000 0x00400000>; + label = "SPI (RO) Linux Kernel Image"; + read-only; + }; + }; + }; + + pinmux0 { + compatible = "lantiq,pinctrl-falcon"; + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + asc0 { + lantiq,groups = "asc0"; + lantiq,function = "asc"; + }; + ntr { + lantiq,groups = "ntr8k"; + lantiq,function = "ntr"; + }; + i2c { + lantiq,groups = "i2c"; + lantiq,function = "i2c"; + }; + hrst { + lantiq,groups = "hrst"; + lantiq,function = "rst"; + }; + }; + }; +}; diff --git a/target/linux/lantiq/dts/FRITZ3370.dts b/target/linux/lantiq/dts/FRITZ3370.dts new file mode 100644 index 0000000000..df3089286d --- /dev/null +++ b/target/linux/lantiq/dts/FRITZ3370.dts @@ -0,0 +1,278 @@ +/dts-v1/; + +/include/ "vr9.dtsi" + +/ { + model = "FRITZ3370 - Fritz!Box WLAN 3370"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit rootfstype=jffs2"; + }; + + memory@0 { + reg = <0x0 0x8000000>; + }; + + fpi@10000000 { + localbus@0 { + nand-parts@0 { + compatible = "gen_nand", "lantiq,nand-xway"; + bank-width = <2>; + reg = <1 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x00000 0x400000>; + }; + + partition@400000 { + label = "rootfs"; + reg = <0x400000 0x3000000>; + }; + + partition@3400000 { + label = "vr9_firmware"; + reg = <0x3400000 0x400000>; + }; + partition@3800000 { + label = "reserved"; + reg = <0x3800000 0x3000000>; + }; + partition@6800000 { + label = "config"; + reg = <0x6800000 0x200000>; + }; + partition@6a00000 { + label = "nand-filesystem"; + reg = <0x6a00000 0x1600000>; + }; + }; + }; + + spi@E100800 { + compatible = "lantiq,spi-xway-broken"; + reg = <0xE100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; + #address-cells = <1>; + #size-cells = <1>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <1000000>; + + 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@500000 { + reg = <0x50000 0x003a0000>; + label = "kernel"; + }; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + spi { + lantiq,groups = "spi", "spi_cs4"; + lantiq,function = "spi"; + }; + nand_out { + lantiq,groups = "nand cle", "nand ale", "nand rd", "ebu a23", "ebu a24"; + lantiq,function = "ebu"; + lantiq,direction = <1>; + lantiq,pull = <0>; + }; + nand_in { + lantiq,groups = "nand rdy"; + lantiq,function = "ebu"; + lantiq,direction = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + phy-rst { + lantiq,pins = "io37", "io44"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + pcie-rst { + lantiq,pins = "io38"; + lantiq,pull = <0>; + lantiq,output = <1>; + }; + }; + }; + + 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 = <73 72>; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + + ethernet@0 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <0>; + phy-mode = "rgmii"; + phy-handle = <&phy0>; + gpios = <&gpio 37 0>; + }; + ethernet@1 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <1>; + phy-mode = "rgmii"; + phy-handle = <&phy1>; + gpios = <&gpio 44 0>; + }; + ethernet@2 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <2>; + phy-mode = "gmii"; + phy-handle = <&phy11>; + }; + ethernet@3 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <4>; + phy-mode = "gmii"; + phy-handle = <&phy13>; + }; + }; + + mdio@0 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "lantiq,xrx200-mdio"; + phy0: ethernet-phy@0 { + reg = <0x0>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy1: ethernet-phy@1 { + reg = <0x1>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy11: ethernet-phy@11 { + reg = <0x11>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 5 0 + &gpio 14 0>; + lantiq,portmask = <0x3>; + }; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a1x.bin"; + phys = [ 00 01 ]; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + power { + label = "power"; + gpios = <&gpio 1 0>; + linux,code = <0x100>; + }; +/* wifi { + label = "wifi"; + gpios = <&gpio 29 0>; + linux,code = <0x101>; + };*/ + }; + + gpio-leds { + compatible = "gpio-leds"; + + power { + label = "power"; + gpios = <&gpio 32 1>; + }; + power2 { + label = "power2"; + gpios = <&gpio 33 1>; + }; + info_red { + label = "info_red"; + gpios = <&gpio 34 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 35 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 36 1>; + }; + lan { + label = "lan"; + gpios = <&gpio 38 1>; + }; + info_green { + label = "info_green"; + gpios = <&gpio 47 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/FRITZ7320.dts b/target/linux/lantiq/dts/FRITZ7320.dts new file mode 100644 index 0000000000..2a7b76693d --- /dev/null +++ b/target/linux/lantiq/dts/FRITZ7320.dts @@ -0,0 +1,138 @@ +/dts-v1/; + +/include/ "ar9.dtsi" + +/ { + model = "FRITZ7320 - 1&1 HomeServer"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x800000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "urlader"; + reg = <0x00000 0x20000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x20000 0xf60000>; + }; + + partition@f80000 { + label = "tffs (1)"; + reg = <0xf80000 0x40000>; + read-only; + }; + + partition@fc0000 { + label = "tffs (2)"; + reg = <0xfc0000 0x40000>; + read-only; + }; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + pci { + lantiq,groups = "gnt1", "req1", "req2", "req3", "req4", "gnt2", "gnt3", "gnt4"; + lantiq,function = "pci"; + }; + pci-in { + lantiq,groups = "req1", "req2", "req3", "req4"; + lantiq,output = <0>; + lantiq,open-drain = <1>; + lantiq,pull = <2>; + }; + pci-out { + lantiq,groups = "gnt1", "gnt2", "gnt3", "gnt4"; + lantiq,output = <1>; + lantiq,pull = <0>; + }; + }; + }; + + etop@E180000 { + phy-mode = "mii"; + mac-address = [ 00 11 22 33 44 55 ]; + }; + + ifxhcd@E101000 { + status = "okay"; + }; + + pci@E105400 { + status = "okay"; + req-mask = <0xf>; + lantiq,bus-clock = <33333333>; + interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + interrupt-map = <0x7000 0 0 1 &icu0 30 1>; + gpio-reset = <&gpio 21 0>; + req-mask = <0xf>; /* GNT1 */ + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 1 1>; + linux,code = <0xf7>; + }; + dect { + label = "dect"; + gpios = <&gpio 2 1>; + linux,code = <0x102>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 44 1>; + }; + voice { + label = "voice"; + gpios = <&gpio 47 1>; + }; + dect { + label = "dect"; + gpios = <&gpio 38 1>; + }; + wlan { + label = "wlan"; + gpios = <&gpio 37 1>; + }; + online { + label = "online"; + gpios = <&gpio 35 1>; + }; + online2 { + label = "online2"; + gpios = <&gpio 45 1>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/VG3503J.dts b/target/linux/lantiq/dts/VG3503J.dts new file mode 100644 index 0000000000..0aea8d80c7 --- /dev/null +++ b/target/linux/lantiq/dts/VG3503J.dts @@ -0,0 +1,189 @@ +/dts-v1/; + +/include/ "vr9.dtsi" + +/ { + model = "VG3503J - BT OpenReach VDSL Modem"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x2000000>; + }; + + fpi@10000000 { + localbus@0 { + ranges = <0 0 0x0 0x3ffffff>; + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x20000>; + }; + + partition@20000 { + label = "kernel"; + reg = <0x20000 0x180000>; + }; + + partition@1a0000 { + label = "rootfs"; + reg = <0x1a0000 0x5a0000>; + }; + + partition@740000 { + label = "btagent"; + reg = <0x740000 0x80000>; + }; + + partition@7c0000 { + label = "pri_bfocus_cfg"; + reg = <0x7c0000 0x10000>; + }; + + partition@7d0000 { + label = "sec_bfocus_cfg"; + reg = <0x7d0000 0x10000>; + }; + + partition@7e0000 { + label = "sysconfig"; + reg = <0x7e0000 0x10000>; + }; + + partition@7f0000 { + label = "misc_cfg"; + reg = <0x7f0000 0x10000>; + }; + }; + }; + + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + }; + }; + + 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 = <73 72>; + + lan: interface@0 { + compatible = "lantiq,xrx200-pdi"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + mac-address = [ 00 11 22 33 44 55 ]; + + 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@0 { + #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,c45-reg-init = <1 0 0 0>; + }; + phy13: ethernet-phy@13 { + reg = <0x13>; + compatible = "lantiq,phy11g", "ethernet-phy-ieee802.3-c22"; + lantiq,c45-reg-init = <1 0 0 0>; + }; + }; + }; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy22f_a1x.bin"; + phys = [ 00 01 ]; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + reset { + label = "reset"; + gpios = <&gpio 6 1>; + linux,code = <0x198>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + port2green { + label = "bt:green:port2"; + gpios = <&gpio 2 0>; + }; + lan2 { + label = "bt:green:lan2"; + gpios = <&gpio 5 0>; + }; + port2orange { + label = "bt:orange:port2"; + gpios = <&gpio 7 0>; + }; + power2 { + label = "power2"; + gpios = <&gpio 14 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 19 1>; + }; + power { + label = "power"; + gpios = <&gpio 28 1>; + }; + lan1 { + label = "bt:green:lan1"; + gpios = <&gpio 44 0>; + }; + port1green { + label = "bt:green:port1"; + gpios = <&gpio 45 0>; + }; + port1orange { + label = "bt:orange:port1"; + gpios = <&gpio 47 0>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/WBMR.dts b/target/linux/lantiq/dts/WBMR.dts new file mode 100644 index 0000000000..bf83e7df0c --- /dev/null +++ b/target/linux/lantiq/dts/WBMR.dts @@ -0,0 +1,167 @@ +/dts-v1/; + +/include/ "ar9.dtsi" + +/ { + model = "WBMR - Buffalo WBMR-HP-G300H"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + localbus@0 { + nor-boot@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "uboot_env"; + reg = <0x40000 0x20000>; + read-only; + }; + + partition@20000 { + label = "linux"; + reg = <0x60000 0x1f20000>; + }; + + partition@0x1fc0000 { + label = "board"; + reg = <0x1fc0000 0x20000>; + read-only; + }; + + partition@0x1fe0000 { + label = "calibration"; + reg = <0x1fe0000 0x20000>; + read-only; + }; + }; + + mac_addr { + compatible = "lantiq,eth-mac"; + reg = <0 0x1fd0024 0x6>; + }; + }; + + gpio: pinmux@E100B10 { + 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>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rgmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 36 0>; + }; + + pci@E105400 { + status = "okay"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; + gpios = <&gpio 0 1>; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 37 1>; + linux,code = <0x198>; + }; + eject { + label = "eject"; + gpios = <&gpio 34 1>; + linux,code = <0xf7>; + }; + movie { + label = "movie"; + gpios = <&gpio 22 1>; + linux,code = <0x109>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power { + label = "power"; + gpios = <&gpio 1 1>; + }; + power2 { + label = "power2"; + gpios = <&gpio 5 1>; + }; + security { + label = "security"; + gpios = <&gpio 14 1>; + }; + wifi { + label = "wifi"; + gpios = <&gpio 15 1>; + }; + dsl { + label = "dsl"; + gpios = <&gpio 16 1>; + }; + online { + label = "online"; + gpios = <&gpio 17 1>; + }; + online2 { + label = "online2"; + gpios = <&gpio 18 1>; + }; + movie { + label = "movie"; + gpios = <&gpio 20 1>; + }; + usb { + label = "usb"; + gpios = <&gpio 28 1>; + default-state = "on"; + }; + }; +}; diff --git a/target/linux/lantiq/dts/amazonse.dtsi b/target/linux/lantiq/dts/amazonse.dtsi new file mode 100644 index 0000000000..13d3e73860 --- /dev/null +++ b/target/linux/lantiq/dts/amazonse.dtsi @@ -0,0 +1,148 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,ase"; + + cpus { + cpu@0 { + compatible = "mips,mips4Kc"; + }; + }; + + 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 0x28 + 0x80228 0x28 + 0x80250 0x28 + 0x80278 0x28 + 0x802a0 0x28>; + }; + + 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>; + compatible = "lantiq,eiu-xway"; + reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + interrupts = <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 { + compatible = "lantiq,rcu-xway"; + reg = <0x203000 0x1000>; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xEEFFFFF>; + reg = <0x10000000 0xEF00000>; + + spi@E100800 { + compatible = "lantiq,spi-xway"; + reg = <0xE100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <24 25 26>; + #address-cells = <1>; + #size-cells = <1>; + }; + + gptu@E100A00 { + compatible = "lantiq,gptu-xway"; + reg = <0xE100A00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <97 98 99 100 101 102>; + status = "disabled"; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-ase"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + }; + + serial@E100C00 { + compatible = "lantiq,asc"; + reg = <0xE100C00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <72 74 75>; + }; + + mei@E116000 { + compatible = "lantiq,mei-xway"; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + ifxhcd@E101000 { + compatible = "lantiq,ifxhcd-ase"; + reg = <0xE101000 0x1000 + 0xE120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <39>; + 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"; + interrupt-parent = <&icu0>; + interrupts = <85>; + }; + + etop@E180000 { + compatible = "lantiq,etop-xway"; + reg = <0xE180000 0x40000>; + interrupt-parent = <&icu0>; + interrupts = <105 109>; + }; + }; + + adsl { + compatible = "lantiq,adsl-ase"; + }; +}; diff --git a/target/linux/lantiq/dts/ar9.dtsi b/target/linux/lantiq/dts/ar9.dtsi new file mode 100644 index 0000000000..ba37f135df --- /dev/null +++ b/target/linux/lantiq/dts/ar9.dtsi @@ -0,0 +1,179 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,ar9"; + + cpus { + cpu@0 { + compatible = "mips,mips34K"; + }; + }; + + 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 0x28 + 0x80228 0x28 + 0x80250 0x28 + 0x80278 0x28 + 0x802a0 0x28>; + }; + + watchdog@803F0 { + compatible = "lantiq,wdt"; + reg = <0x803F0 0x10>; + }; + }; + + sram@1F000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,sram"; + 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>; + interrupts = <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 { + compatible = "lantiq,rcu-xway"; + reg = <0x203000 0x1000>; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xEEFFFFF>; + reg = <0x10000000 0xEF00000>; + + 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"; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xr9"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + }; + + asc1: serial@E100C00 { + compatible = "lantiq,asc"; + reg = <0xE100C00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + }; + + ifxhcd@E101000 { + compatible = "lantiq,ifxhcd-arx100"; + reg = <0xE101000 0x1000 + 0xE120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62 91>; + 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"; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + 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 ]; + }; + + ppe@E234000 { + compatible = "lantiq,ppe-arx100"; + 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/dts/danube.dtsi b/target/linux/lantiq/dts/danube.dtsi new file mode 100644 index 0000000000..68bd349e6f --- /dev/null +++ b/target/linux/lantiq/dts/danube.dtsi @@ -0,0 +1,201 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,danube"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + + cpus { + cpu@0 { + compatible = "mips,mips24Kc"; + }; + }; + + 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 0x28 + 0x80228 0x28 + 0x80250 0x28 + 0x80278 0x28 + 0x802a0 0x28>; + }; + + 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>; + interrupts = <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@107000 { + status = "disabled"; + compatible = "lantiq,vmmc"; + reg = <0x103000 0x400>; + interrupt-parent = <&icu0>; + interrupts = <150 151 152 153 154 155>; + }; + + rcu0: rcu@203000 { + compatible = "lantiq,rcu-xway"; + reg = <0x203000 0x1000>; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xEEFFFFF>; + reg = <0x10000000 0xEF00000>; + + 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>; + 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,pinctrl-xway"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + }; + + asc1: serial@E100C00 { + compatible = "lantiq,asc"; + reg = <0xE100C00 0x400>; + interrupt-parent = <&icu0>; + interrupts = <112 113 114>; + }; + + ifxhcd@E101000 { + compatible = "lantiq,ifxhcd-danube"; + reg = <0xE101000 0x1000 + 0xE120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62>; + 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"; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + 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"; + 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-danube"; + }; +}; diff --git a/target/linux/lantiq/dts/falcon.dtsi b/target/linux/lantiq/dts/falcon.dtsi new file mode 100644 index 0000000000..ec1b450bad --- /dev/null +++ b/target/linux/lantiq/dts/falcon.dtsi @@ -0,0 +1,201 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,falcon"; + + cpus { + cpu@0 { + compatible = "mips,mips34kc"; + }; + }; + + localbus@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,localbus", "simple-bus"; + reg = <0x10000000 0xC000000>; + ranges = <0x0 0x10000000 0xC000000>; + }; + + 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>; + + sysgpe@700000 { + compatible = "lantiq,sysgpe-falcon"; + reg = <0x700000 0x100>; + }; + + gpio0: gpio@810000 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-falcon"; + gpio-controller; + interrupt-parent = <&icu0>; + interrupts = <44>; + reg = <0x810000 0x80>; + lantiq,bank = <0>; + }; + + gpio2: gpio@810100 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-falcon"; + gpio-controller; + interrupt-parent = <&icu0>; + interrupts = <46>; + reg = <0x810100 0x80>; + lantiq,bank = <2>; + }; + + syseth@B00000 { + compatible = "lantiq,syseth-falcon"; + reg = <0xB00000 0x100>; + }; + + pad@B01000 { + compatible = "lantiq,pad-falcon"; + reg = <0xB01000 0x100>; + lantiq,bank = <0>; + }; + + pad@B02000 { + compatible = "lantiq,pad-falcon"; + reg = <0xB02000 0x100>; + lantiq,bank = <2>; + }; + }; + + fpi@1E000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + reg = <0x1E000000 0x1000000>; + ranges = <0x0 0x1E000000 0x1000000>; + + serial@100B00 { + status = "disabled"; + compatible = "lantiq,asc"; + reg = <0x100B00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + line = <1>; + }; + + serial@100C00 { + compatible = "lantiq,asc"; + reg = <0x100C00 0x100>; + interrupt-parent = <&icu0>; + interrupts = <104 105 106>; + line = <0>; + }; + + i2c@200000 { + compatible = "lantiq,lantiq-i2c"; + reg = <0x200000 0x10000>; + interrupt-parent = <&icu0>; + interrupts = <18 19 20 21>; + gpios = <&gpio1 7 0 &gpio1 8 0>; + }; + + gpio1: gpio@800100 { + #gpio-cells = <2>; + compatible = "lantiq,gpio-falcon"; + gpio-controller; + interrupt-parent = <&icu0>; + interrupts = <45>; + reg = <0x800100 0x100>; + lantiq,bank = <1>; + }; + + gpio3: gpio@800200 { + status = "disabled"; + #gpio-cells = <2>; + compatible = "lantiq,gpio-falcon"; + gpio-controller; + interrupt-parent = <&icu0>; + interrupts = <47>; + reg = <0x800200 0x100>; + lantiq,bank = <3>; + }; + + gpio4: gpio@800300 { + status = "disabled"; + #gpio-cells = <2>; + compatible = "lantiq,gpio-falcon"; + gpio-controller; + interrupt-parent = <&icu0>; + interrupts = <48>; + reg = <0x800300 0x100>; + lantiq,bank = <4>; + }; + + pad@800400 { + compatible = "lantiq,pad-falcon"; + reg = <0x800400 0x100>; + lantiq,bank = <1>; + }; + + pad@800500 { + status = "disabled"; + compatible = "lantiq,pad-falcon"; + reg = <0x800500 0x100>; + bank = <3>; + }; + + pad4@800600 { + status = "disabled"; + compatible = "lantiq,pad-falcon"; + reg = <0x800600 0x100>; + bank = <4>; + }; + + status@802000 { + compatible = "lantiq,status-falcon"; + reg = <0x802000 0x80>; + }; + + sys1@F00000 { + compatible = "lantiq,sys1-falcon"; + reg = <0xF00000 0x100>; + }; + }; + + sbs0@1F000000 { + + }; + + sbs1@1F700000 { + + }; + + biu@1F800000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,falcon"; + reg = <0x1F800000 0x800000>; + ranges = <0x0 0x1F800000 0x7FFFFF>; + + icu0: icu@80200 { + #interrupt-cells = <1>; + interrupt-controller; + compatible = "lantiq,icu"; + reg = <0x80200 0x28 + 0x80228 0x28 + 0x80250 0x28 + 0x80278 0x28 + 0x802a0 0x28>; + }; + + watchdog@803F0 { + compatible = "lantiq,wdt"; + reg = <0x803F0 0x10>; + }; + }; +}; diff --git a/target/linux/lantiq/dts/vr9.dtsi b/target/linux/lantiq/dts/vr9.dtsi new file mode 100644 index 0000000000..c7a28d77aa --- /dev/null +++ b/target/linux/lantiq/dts/vr9.dtsi @@ -0,0 +1,180 @@ +/ { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,xway", "lantiq,vr9"; + + cpus { + cpu@0 { + compatible = "mips,mips34Kc"; + }; + }; + + 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 0x28 + 0x80228 0x28 + 0x80250 0x28 + 0x80278 0x28 + 0x802a0 0x28>; + }; + + 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>; + interrupts = <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>; + }; + + rcu0: rcu@203000 { + compatible = "lantiq,rcu-xrx200"; + reg = <0x203000 0x1000>; + /* irq for thermal sensor */ + interrupt-parent = <&icu0>; + interrupts = <115>; + }; + }; + + fpi@10000000 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "lantiq,fpi", "simple-bus"; + ranges = <0x0 0x10000000 0xEEFFFFF>; + reg = <0x10000000 0xEF00000>; + + 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"; + }; + + gpio: pinmux@E100B10 { + compatible = "lantiq,pinctrl-xr9"; + #gpio-cells = <2>; + gpio-controller; + reg = <0xE100B10 0xA0>; + }; + + 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>; + }; + + ifxhcd@E101000 { + status = "disabled"; + compatible = "lantiq,ifxhcd-xrx200"; + reg = <0xE101000 0x1000 + 0xE120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62 91>; + }; + + mei@E116000 { + compatible = "lantiq,mei-xrx200"; + interrupt-parent = <&icu0>; + interrupts = <63>; + }; + + ppe@E234000 { + compatible = "lantiq,ppe-xrx200"; + interrupt-parent = <&icu0>; + interrupts = <96>; + }; + + pcie@d900000 { + interrupt-parent = <&icu0>; + interrupts = <161 144>; + compatible = "lantiq,pcie-xrx200"; + }; + + pci0: pci@E105400 { + #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 */ + status = "disabled"; + }; + + }; + + vdsl { + compatible = "lantiq,vdsl-vrx200"; + }; +}; |