From: blogic Date: Sat, 15 Dec 2012 02:00:20 +0000 (+0000) Subject: [lantiq] add devicetrees X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=6732edcca73cd5ebf1f780c77b963efb5dc13731 [lantiq] add devicetrees git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34691 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/lantiq/image/ARV4510PW.dts b/target/linux/lantiq/image/ARV4510PW.dts new file mode 100644 index 0000000000..f1d41da39f --- /dev/null +++ b/target/linux/lantiq/image/ARV4510PW.dts @@ -0,0 +1,116 @@ +/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>; + + 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/image/ARV4518PW.dts b/target/linux/lantiq/image/ARV4518PW.dts new file mode 100644 index 0000000000..9d0f0cd110 --- /dev/null +++ b/target/linux/lantiq/image/ARV4518PW.dts @@ -0,0 +1,192 @@ +/dts-v1/; + +/include/ "danube.dtsi" + +/ { + model = "ARV4518PW - 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 1>; + }; + + 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 = <0x100>; + }; + }; + + 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/image/ARV4520PW.dts b/target/linux/lantiq/image/ARV4520PW.dts new file mode 100644 index 0000000000..7d280e23b1 --- /dev/null +++ b/target/linux/lantiq/image/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 = <0x100>; + }; + }; + + 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/image/ARV4525PW.dts b/target/linux/lantiq/image/ARV4525PW.dts new file mode 100644 index 0000000000..23c2f86406 --- /dev/null +++ b/target/linux/lantiq/image/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 = <0x100>; + }; + }; + + 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/image/ARV452CQW.dts b/target/linux/lantiq/image/ARV452CQW.dts new file mode 100644 index 0000000000..6ab251c6df --- /dev/null +++ b/target/linux/lantiq/image/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 = <0x100>; + }; + }; + + 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/image/ARV7518PW.dts b/target/linux/lantiq/image/ARV7518PW.dts new file mode 100644 index 0000000000..e48bd46750 --- /dev/null +++ b/target/linux/lantiq/image/ARV7518PW.dts @@ -0,0 +1,207 @@ +/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,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>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; + }; + + etop@E180000 { + phy-mode = "rmii"; + }; + + ifxhcd@E101000 { + status = "okay"; + gpio-reset = <&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 = <0x100>; + };*/ + }; + + 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/image/ARV7525PW.dts b/target/linux/lantiq/image/ARV7525PW.dts index 080ed8e877..7ad70d5e63 100644 --- a/target/linux/lantiq/image/ARV7525PW.dts +++ b/target/linux/lantiq/image/ARV7525PW.dts @@ -3,6 +3,8 @@ /include/ "danube.dtsi" / { + model = "ARV7525PW - Speedport W303V Typ A"; + chosen { bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; }; @@ -11,16 +13,15 @@ reg = <0x0 0x2000000>; }; + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpio 31 0>; + }; + }; + 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>; @@ -30,35 +31,45 @@ partition@0 { label = "uboot"; - reg = <0x00000 0x10000>; /* 64 KB */ + reg = <0x00000 0x10000>; + read-only; }; partition@10000 { label = "uboot_env"; - reg = <0x10000 0x10000>; /* 64 KB */ + reg = <0x10000 0x10000>; + read-only; }; partition@20000 { label = "linux"; - reg = <0x20000 0x3c0000>; + reg = <0x20000 0x3d0000>; }; partition@400000 { - label = "boardconfig"; + 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 { - compatible = "lantiq,pinctrl-xway"; pinctrl-names = "default"; pinctrl-0 = <&state_default>; - #gpio-cells = <2>; - gpio-controller; - reg = <0xE100B10 0xA0>; - state_default: pinmux { exin { lantiq,groups = "exin1"; @@ -71,69 +82,61 @@ }; }; - adsl: dsl@E116000 { - compatible = "lantiq,dsl-xway"; - interrupt-parent = <&icu0>; - interrupts = <63 96>; - }; - 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 ]; + phy-mode = "mii"; }; pci@E105400 { - lantiq,bus-clock = <33333333>; - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; - interrupt-map = < - 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 29 - >; - gpio-reset = <&gpio 21 0>; - req-mask = <0x1>; /* GNT1 */ + status = "okay"; + interrupt-map = <0x7000 0 0 1 &icu0 135 1>; + req-mask = <0x1>; }; }; - gpio-keys { - compatible = "gpio-keys1"; - reset { - label = "Reset"; + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + wps { + label = "wps"; gpios = <&gpio 29 1>; - gpio-key,wakeup; + linux,code = <0x211>; + }; + reset { + label = "reset"; + gpios = <&gpio 30 1>; linux,code = <0x100>; }; }; gpio-leds { compatible = "gpio-leds"; - festnetz { - label = "Festnetz"; + power { + label = "power"; + gpios = <&gpio 3 1>; + }; + power1 { + label = "power1"; gpios = <&gpio 4 1>; - default-state = "on"; }; - internet { - label = "Internet"; + online { + label = "online"; gpios = <&gpio 5 1>; - default-state = "on"; }; - wlan { - label = "WLan"; + voice { + label = "voice"; gpios = <&gpio 6 1>; - default-state = "on"; }; - online { - label = "Online"; + voice2 { + label = "voice2"; gpios = <&gpio 8 1>; - default-state = "on"; }; - dsl { - label = "DSL"; + wifi { + label = "wifi"; gpios = <&gpio 9 1>; - default-state = "on"; }; }; }; diff --git a/target/linux/lantiq/image/ARV752DPW.dts b/target/linux/lantiq/image/ARV752DPW.dts index eb28b9b6fa..3c58f7e2ea 100644 --- a/target/linux/lantiq/image/ARV752DPW.dts +++ b/target/linux/lantiq/image/ARV752DPW.dts @@ -3,6 +3,8 @@ /include/ "danube.dtsi" / { + model = "ARV752DPW - Arcor 802"; + chosen { bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; }; @@ -11,16 +13,15 @@ reg = <0x0 0x4000000>; }; + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpiomm 1 0>; + }; + }; + 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>; @@ -37,6 +38,7 @@ partition@10000 { label = "uboot_env"; reg = <0x10000 0x10000>; + read-only; }; partition@20000 { @@ -45,11 +47,18 @@ }; partition@7f0000 { - label = "boardconfig"; + 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 >; @@ -57,130 +66,154 @@ #size-cells = <1>; #gpio-cells = <2>; gpio-controller; - lantiq,shadow = <2>; + lantiq,shadow = <0x3>; }; }; 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 { ebu { lantiq,groups = "ebu cs1"; lantiq,function = "ebu"; }; - pci { - lantiq,groups = "gnt1", "req1"; + 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>; }; - conf_out { - lantiq,pins = "io3", "io5", "io6", "io8", /* leds */ - "io21"; /* pci-rst */ - lantiq,open-drain; + 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>; + }; }; }; - adsl: dsl@E116000 { - compatible = "lantiq,dsl-xway"; - interrupt-parent = <&icu0>; - interrupts = <63 96>; + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpiomm 0 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 ]; }; pci@E105400 { - lantiq,bus-clock = <33333333>; - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; - interrupt-map = < - 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 29 - >; + status = "okay"; lantiq,external-clock; gpio-reset = <&gpio 21 0>; + interrupt-map = <0x7000 0 0 1 &icu0 135>; req-mask = <0x3>; }; }; - gpio-keys { - compatible = "gpio-keys1"; + 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 29 1>; - gpio-key,wakeup; + label = "reset"; + gpios = <&gpio 28 0>; linux,code = <0x100>; }; }; + gpio-leds { compatible = "gpio-leds"; - power0 { - label = "power0"; + 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"; + /* use this led as te usb led */ + label = "usb"; gpios = <&gpiomm 3 1>; - default-state = "on"; }; wifi { label = "wifi"; gpios = <&gpiomm 4 1>; - default-state = "on"; }; fxs1 { label = "fxs1"; gpios = <&gpiomm 5 1>; - default-state = "on"; }; fx2 { label = "fxs2"; gpios = <&gpiomm 6 1>; - default-state = "on"; }; fxo { label = "fxo"; gpios = <&gpiomm 7 1>; - default-state = "on"; }; internet { label = "internet"; gpios = <&gpiomm 8 1>; - default-state = "on"; }; voice2 { label = "voice2"; gpios = <&gpiomm 9 1>; - default-state = "on"; }; }; }; diff --git a/target/linux/lantiq/image/ARV752DPW22.dts b/target/linux/lantiq/image/ARV752DPW22.dts index 7349bdb446..6057f7d904 100644 --- a/target/linux/lantiq/image/ARV752DPW22.dts +++ b/target/linux/lantiq/image/ARV752DPW22.dts @@ -3,6 +3,8 @@ /include/ "danube.dtsi" / { + model = "ARV752DPW22 - Arcor 803"; + chosen { bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; }; @@ -11,16 +13,15 @@ reg = <0x0 0x4000000>; }; + sram@1F000000 { + vmmc@107000 { + status = "okay"; + gpios = <&gpiomm 1 0>; + }; + }; + 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>; @@ -37,6 +38,7 @@ partition@10000 { label = "uboot_env"; reg = <0x10000 0x10000>; + read-only; }; partition@20000 { @@ -45,11 +47,18 @@ }; partition@7f0000 { - label = "boardconfig"; + 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 >; @@ -57,78 +66,105 @@ #size-cells = <1>; #gpio-cells = <2>; gpio-controller; - lantiq,shadow = <2>; + lantiq,shadow = <3>; }; }; 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 { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; exin { lantiq,groups = "exin1"; lantiq,function = "exin"; + lantiq,pull = <2>; + lantiq,output = <0>; }; - pci { - lantiq,groups = "gnt1", "gnt2", "req1", "req2"; + 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>; }; - conf_out { - lantiq,pins = "io3", "io5", "io6", "io8", /* leds */ - "io21"; /* pci-rst */ - lantiq,open-drain; - lantiq,pull = <0>; + leds { + lantiq,pins = "io3", "io5", "io6", "io8"; + lantiq,output = <1>; }; }; }; - adsl: dsl@E116000 { - compatible = "lantiq,dsl-xway"; - interrupt-parent = <&icu0>; - interrupts = <63 96>; + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpiomm 0 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 ]; }; pci@E105400 { - lantiq,bus-clock = <33333333>; - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; + status = "okay"; + lantiq,external-clock; interrupt-map = < - 0x7000 0 0 1 &icu0 30 1 // slot 14, irq 29 + 0x7000 0 0 1 &icu0 30 + 0x7800 0 0 1 &icu0 135 + 0x7800 0 0 2 &icu0 135 + 0x7800 0 0 3 &icu0 135 >; - lantiq,external-clock; gpio-reset = <&gpio 21 0>; req-mask = <0x3>; }; }; - gpio-keys { - compatible = "gpio-keys1"; + 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 29 1>; - gpio-key,wakeup; + label = "reset"; + gpios = <&gpio 28 1>; linux,code = <0x100>; }; }; + gpio-leds { compatible = "gpio-leds"; - power0 { - label = "power0"; + power { + label = "power"; gpios = <&gpio 3 1>; default-state = "on"; }; @@ -153,7 +189,7 @@ default-state = "on"; }; wifi { - label = "wifi"; + label = "wifi_rt"; gpios = <&gpiomm 4 1>; default-state = "on"; }; @@ -162,7 +198,7 @@ gpios = <&gpiomm 5 1>; default-state = "on"; }; - fx2 { + fxs2 { label = "fxs2"; gpios = <&gpiomm 6 1>; default-state = "on"; @@ -172,8 +208,8 @@ gpios = <&gpiomm 7 1>; default-state = "on"; }; - internet { - label = "internet"; + dsl { + label = "dsl"; gpios = <&gpiomm 8 1>; default-state = "on"; }; diff --git a/target/linux/lantiq/image/DGN1000B.dts b/target/linux/lantiq/image/DGN1000B.dts index 9fac104b2f..1fc8052e21 100644 --- a/target/linux/lantiq/image/DGN1000B.dts +++ b/target/linux/lantiq/image/DGN1000B.dts @@ -3,6 +3,8 @@ /include/ "amazonse.dtsi" / { + model = "DGN1000B - Netgear DGN1000B"; + chosen { bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; }; @@ -12,18 +14,10 @@ }; fpi@10000000 { - #address-cells = <1>; - #size-cells = <1>; - gpio: pinmux@E100B10 { - compatible = "lantiq,pinctrl-ase"; pinctrl-names = "default"; pinctrl-0 = <&state_default>; - #gpio-cells = <2>; - gpio-controller; - reg = <0xE100B10 0xA0>; - state_default: pinmux { spi { lantiq,groups = "spi", "spi_cs1"; @@ -33,46 +27,26 @@ lantiq,groups = "asc"; lantiq,function = "asc"; }; - exin { - lantiq,groups = "exin1", "exin2"; - lantiq,function = "exin"; - }; - conf_in { - lantiq,pins = "io0", "io29"; /* nand rdy */ + keys_in { + lantiq,pins = "io0",/* "io25", */"io29"; lantiq,pull = <2>; + lantiq,open-drain = <1>; }; }; }; - adsl: dsl@E116000 { - compatible = "lantiq,dsl-xway"; - interrupt-parent = <&icu0>; - interrupts = <63 96>; - }; - etop@E180000 { - compatible = "lantiq,etop-xway"; - reg = <0xE180000 0x40000>; - interrupt-parent = <&icu0>; - interrupts = <105 109>; - phy-mode = "ephy"; + phy-mode = "mii"; mac-address = [ 00 11 22 33 44 55 ]; }; spi@E100800 { - compatible = "lantiq,spi-xway"; - reg = <0xE100800 0x100>; - interrupt-parent = <&icu0>; - interrupts = <24 25 26>; - #address-cells = <1>; - #size-cells = <1>; - m25p80@0 { #address-cells = <1>; #size-cells = <1>; - compatible = "s25fl129p0"; + compatible = "mx25l3205d"; reg = <0 0>; - linux,modalias = "m25p80", "mx25l3205d"; + linux,modalias = "m25p80", "mx25l64"; spi-max-frequency = <5000000>; partition@0 { @@ -105,46 +79,53 @@ }; }; }; + ifxhcd@E101000 { + status = "okay"; + }; }; - - /* missing button on <&gpio 25 0> */ -/* gpio-keys { - compatible = "gpio-keys"; - interrupt-parent = <&icu0>; - interrupts = <30 31>; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + reset { - label = "Reset"; - gpios = <&gpio 0 0>; - gpio-key,wakeup; + label = "reset"; + gpios = <&gpio 0 1>; linux,code = <0x100>; }; + rfkill { + label = "rfkill"; + gpios = <&gpio 25 1>; + linux,code = <0xf7>; + }; wps { - label = "WPS"; + label = "wps"; gpios = <&gpio 29 1>; - gpio-key,wakeup; - linux,code = <0x100>; + linux,code = <0x211>; }; }; -*/ + gpio-leds { - compatible = "gpio-leds"; - festnetz { - label = "DSL"; + cmpatible = "gpio-leds"; + dsl { + label = "dsl"; gpios = <&gpio 1 1>; default-state = "on"; }; - internet1 { - label = "Internet1"; + online { + label = "online"; gpios = <&gpio 2 1>; default-state = "on"; }; - internet2 { - label = "Internet2"; + online2 { + label = "online2"; gpios = <&gpio 3 1>; default-state = "on"; }; wps { - label = "WPS"; + label = "wps"; gpios = <&gpio 4 1>; default-state = "on"; }; diff --git a/target/linux/lantiq/image/DGN3500.dtsi b/target/linux/lantiq/image/DGN3500.dtsi new file mode 100644 index 0000000000..12e1e80935 --- /dev/null +++ b/target/linux/lantiq/image/DGN3500.dtsi @@ -0,0 +1,179 @@ +/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 0>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "s25fl129p0"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l3205d"; + spi-max-frequency = <1000000>; + spi-cpha; + spi-cpol; + spi-cs-high; + + 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 = <0x100>; + }; + }; + + 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/image/DGN3500B.dts b/target/linux/lantiq/image/DGN3500B.dts new file mode 100644 index 0000000000..71a4e58c13 --- /dev/null +++ b/target/linux/lantiq/image/DGN3500B.dts @@ -0,0 +1,7 @@ +/dts-v1/; + +/include/ "DGN3500.dtsi" + +/ { + model = "DGN3500B - Netgear DGN3500B"; +}; diff --git a/target/linux/lantiq/image/EASY50810.dts b/target/linux/lantiq/image/EASY50810.dts new file mode 100644 index 0000000000..9e5fad782b --- /dev/null +++ b/target/linux/lantiq/image/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/image/EASY80920-NAND.dts b/target/linux/lantiq/image/EASY80920-NAND.dts deleted file mode 100644 index afa2157247..0000000000 --- a/target/linux/lantiq/image/EASY80920-NAND.dts +++ /dev/null @@ -1,35 +0,0 @@ -/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/image/EASY80920-NOR.dts b/target/linux/lantiq/image/EASY80920-NOR.dts deleted file mode 100644 index 94f4cc1ec5..0000000000 --- a/target/linux/lantiq/image/EASY80920-NOR.dts +++ /dev/null @@ -1,34 +0,0 @@ -/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/image/EASY80920.dtsi b/target/linux/lantiq/image/EASY80920.dtsi index 332df3d147..660f3cfdfe 100644 --- a/target/linux/lantiq/image/EASY80920.dtsi +++ b/target/linux/lantiq/image/EASY80920.dtsi @@ -23,25 +23,50 @@ }; - sflash@E100800 { - compatible = "lantiq,sflash"; + spi@E100800 { + compatible = "lantiq,spi-xway-broken"; reg = <0xE100800 0x100>; + interrupt-parent = <&icu0>; + interrupts = <22 23 24>; #address-cells = <1>; #size-cells = <1>; - - partition@0 { - label = "uboot"; - reg = <0x00000 0x10000>; - }; - partition@10000 { - label = "uboot_env"; - reg = <0x10000 0x10000>; - }; + 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 { - label = "linux"; - reg = <0x20000 0x1d0000>; + 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"; + }; }; }; @@ -58,14 +83,18 @@ reg = <0xE100B10 0xA0>; state_default: pinmux { + exin3 { + lantiq,groups = "exin3"; + lantiq,function = "exin"; + }; stp { lantiq,groups = "stp"; lantiq,function = "stp"; }; - /*spi { + spi { lantiq,groups = "spi", "spi_cs4"; lantiq,function = "spi"; - };*/ + }; nand { lantiq,groups = "nand cle", "nand ale", "nand rd", "nand rdy"; @@ -79,18 +108,19 @@ lantiq,groups = "gnt1", "req1"; lantiq,function = "pci"; }; - exin { - lantiq,groups = "exin3"; - lantiq,function = "exin"; - }; conf_out { lantiq,pins = "io24", "io13", "io49", /* nand cle, ale and rd */ "io4", "io5", "io6", /* stp */ - "io17", "io18", /* spi dout & clk */ - "io21", /* pci-rst */ - "io38"; /* pcie-rst */ + "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 */ @@ -100,7 +130,7 @@ }; }; - eth@0xE108000 { + eth@E108000 { #address-cells = <1>; #size-cells = <0>; compatible = "lantiq,xrx200-net"; @@ -137,12 +167,6 @@ phy-mode = "gmii"; phy-handle = <&phy11>; }; - ethernet@4 { - compatible = "lantiq,xrx200-pdi-port"; - reg = <4>; - phynmode0 = "gmii"; - phy-handle = <&phy13>; - }; }; wan: interface@1 { @@ -151,7 +175,7 @@ #size-cells = <0>; reg = <1>; mac-address = [ 00 11 22 33 44 56 ]; - + lantiq,wan; ethernet@5 { compatible = "lantiq,xrx200-pdi-port"; reg = <5>; @@ -160,6 +184,20 @@ }; }; + 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>; @@ -205,7 +243,12 @@ lantiq,phy2 = <0x7>; /* lantiq,rising; */ }; - + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 33 0>; + }; + pci@E105400 { #address-cells = <3>; #size-cells = <2>; @@ -229,12 +272,6 @@ }; }; - ifxhcd { - compatible = "lantiq,ifxhcd"; - interrupt-parent = <&icu0>; - interrupts = <62 91>; - }; - gphy-xrx200 { compatible = "lantiq,phy-xrx200"; firmware = "lantiq/vr9_phy11g_a2x.bin"; @@ -248,7 +285,7 @@ poll-interval = <100>; reset { label = "Reset"; - gpios = <&gpio 7 0>; + gpios = <&gpio 7 1>; linux,code = <0x100>; }; paging { @@ -261,7 +298,7 @@ /* gpio-keys { compatible = "gpio-keys"; wps { - gpios = <&gpio 39 0>; + gpios = <&gpio 2 0>; linux,code = <0x100>; }; };*/ @@ -269,50 +306,42 @@ gpio-leds { compatible = "gpio-leds"; - led0 { - label = "led0"; + power { + label = "power"; gpios = <&stp 9 0>; default-state = "on"; }; warning { label = "warning"; gpios = <&stp 22 0>; - default-state = "on"; }; fxs1 { label = "fxs1"; gpios = <&stp 21 0>; - default-state = "on"; }; fxs2 { label = "fxs2"; gpios = <&stp 20 0>; - default-state = "on"; }; fxo { label = "fxo"; gpios = <&stp 19 0>; - default-state = "on"; }; usb1 { label = "usb1"; gpios = <&stp 18 0>; - default-state = "on"; }; usb2 { label = "usb2"; gpios = <&stp 15 0>; - default-state = "on"; }; sd { label = "sd"; gpios = <&stp 14 0>; - default-state = "on"; }; wps { label = "wps"; gpios = <&stp 12 0>; - default-state = "on"; }; }; }; diff --git a/target/linux/lantiq/image/EASY80920NAND.dts b/target/linux/lantiq/image/EASY80920NAND.dts new file mode 100644 index 0000000000..afa2157247 --- /dev/null +++ b/target/linux/lantiq/image/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/image/EASY80920NOR.dts b/target/linux/lantiq/image/EASY80920NOR.dts new file mode 100644 index 0000000000..94f4cc1ec5 --- /dev/null +++ b/target/linux/lantiq/image/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/image/FRITZ7320.dts b/target/linux/lantiq/image/FRITZ7320.dts new file mode 100644 index 0000000000..2a7b76693d --- /dev/null +++ b/target/linux/lantiq/image/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/image/Makefile b/target/linux/lantiq/image/Makefile index f0f4d4f8ed..019bd58696 100644 --- a/target/linux/lantiq/image/Makefile +++ b/target/linux/lantiq/image/Makefile @@ -4,17 +4,16 @@ # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # + +# boards missing since devicetree update +#EASY50712 ARV3527P GIGASX76X ARV4519PW BTHOMEHUBV2B BTHOMEHUBV2BOPENRG +#WBMR P2601HNFX H201L + include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk JFFS2_BLOCKSIZE = 64k 128k 256k -ase_cmdline=-console=ttyLTQ0,115200 rootfstype=squashfs,jffs2 -xway_cmdline=-console=ttyLTQ1,115200 rootfstype=squashfs,jffs2 -falcon_cmdline=-console=ttyLTQ0,115200 rootfstype=squashfs,jffs2 -svip_cmdline=-console=ttyLTQ0,115200 rootfstype=squashfs,jffs2 -sx76x_cmdline=console=ttyLTQ1,115200 rootfstype=squashfs,jffs2 - define CompressLzma $(STAGING_DIR_HOST)/bin/lzma e $(1) $(2) endef @@ -104,90 +103,18 @@ define Image/BuildKernelGzip/Template $(CP) $(KDIR)/uImage-$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1)-uImage endef -ifeq ($(CONFIG_TARGET_lantiq_danube),y) - -Image/BuildKernel/Profile/EASY50712=$(call Image/BuildKernel/Template,EASY50712,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV3527P=$(call Image/BuildKernel/Template,ARV3527P,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV4510PW=$(call Image/BuildKernel/Template,ARV4510PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV4518PW=$(call Image/BuildKernel/Template,ARV4518PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV4519PW=$(call Image/BuildKernel/Template,ARV4519PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV4520PW=$(call Image/BuildKernel/Template,ARV4520PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV4525PW=$(call Image/BuildKernel/Template,ARV4525PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV7525PW=$(call Image/BuildKernel/Template,ARV7525PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV452CPW=$(call Image/BuildKernel/Template,ARV452CPW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV7518PW=$(call Image/BuildKernel/Template,ARV7518PW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV752DPW=$(call Image/BuildKernel/Template,ARV752DPW,$(xway_cmdline)) -Image/BuildKernel/Profile/ARV752DPW22=$(call Image/BuildKernel/Template,ARV752DPW22,$(xway_cmdline)) -Image/BuildKernel/Profile/GIGASX76X=$(call Image/BuildKernel/Template,GIGASX76X,$(sx76x_cmdline)) -Image/BuildKernel/Profile/BTHOMEHUBV2B=$(call Image/BuildKernel/Template,BTHOMEHUBV2B,$(xway_cmdline)) -Image/BuildKernel/Profile/BTHOMEHUBV2BOPENRG=$(call Image/BuildKernel/Template,BTHOMEHUBV2BOPENRG,$(xway_cmdline)) -Image/Build/Profile/EASY50712=$(call Image/Build/$(1),$(1),EASY50712) -Image/Build/Profile/ARV3527P=$(call Image/Build/$(1),$(1),ARV3527P) -Image/Build/Profile/ARV4510PW=$(call Image/Build/$(1),$(1),ARV4510PW) -Image/Build/Profile/ARV4518PW=$(call Image/Build/$(1),$(1),ARV4518PW) -Image/Build/Profile/ARV4519PW=$(call Image/Build/$(1),$(1),ARV4519PW,BRNDA4519,0x12345678,memsize=32) -Image/Build/Profile/ARV4520PW=$(call Image/Build/$(1),$(1),ARV4520PW,BRNDANUBE,0x12345678,memsize=32) -Image/Build/Profile/ARV4525PW=$(call Image/Build/$(1),$(1),ARV4525PW,BRNDTW502,0x12345678,memsize=32) -Image/Build/Profile/ARV7525PW=$(call Image/Build/$(1),$(1),ARV7525PW) -Image/Build/Profile/ARV452CPW=$(call Image/Build/$(1),$(1),ARV452CPW) -Image/Build/Profile/ARV7518PW=$(call Image/Build/$(1),$(1),ARV7518PW,BRNDA7519,0x12345678,memsize=64) -Image/Build/Profile/ARV752DPW=$(call Image/Build/$(1),$(1),ARV752DPW) -Image/Build/Profile/ARV752DPW22=$(call Image/Build/$(1),$(1),ARV752DPW22) -Image/Build/Profile/GIGASX76X=$(call Image/Build/$(1),$(1),GIGASX76X) -Image/Build/Profile/BTHOMEHUBV2B=$(call Image/Build/$(1),$(1),BTHOMEHUBV2B) -Image/Build/Profile/BTHOMEHUBV2BOPENRG=$(call Image/Build/$(1),$(1),BTHOMEHUBV2BOPENRG) +ifeq ($(CONFIG_TARGET_lantiq_falcon),y) -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernel/Template,NONE) -endef - -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef -endif - -ifeq ($(CONFIG_TARGET_lantiq_ar9),y) -Image/BuildKernel/Profile/WBMR=$(call Image/BuildKernel/Template,WBMR,$(xway_cmdline)) -Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500B,$(xway_cmdline)) -Image/BuildKernel/Profile/P2601HNFX=$(call Image/BuildKernel/Template,P2601HNFX,$(xway_cmdline)) -Image/BuildKernel/Profile/H201L=$(call Image/BuildKernel/Template,H201L,$(xway_cmdline)) -Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320,$(xway_cmdline)) - -Image/Build/Profile/WBMR=$(call Image/Build/$(1),$(1),WBMR) -Image/Build/Profile/DGN3500B=$(call Image/Build/$(1),$(1),DGN3500B) -Image/Build/Profile/P2601HNFX=$(call Image/Build/$(1),$(1),P2601HNFX) -Image/Build/Profile/H201L=$(call Image/Build/$(1),$(1),H201L) -Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320) +Image/BuildKernel/Profile/EASY98000=$(call Image/BuildKernel/Template,EASY98000) +Image/Build/Profile/EASY98000=$(call Image/Build/$(1),$(1),EASY98000) -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernel/Template,NONE) -endef +Image/BuildKernel/Profile/EASY98020=$(call Image/BuildKernel/Template,EASY98020) +Image/Build/Profile/EASY98020=$(call Image/Build/$(1),$(1),EASY98020) -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef endif -ifeq ($(CONFIG_TARGET_lantiq_falcon)$(CONFIG_TARGET_lantiq_falcon_stable),y) - -Image/BuildKernel/Profile/EASY98000=$(call Image/BuildKernel/Template,EASY98000,$(falcon_cmdline)) -Image/BuildKernel/Profile/EASY98020=$(call Image/BuildKernel/Template,EASY98020,$(falcon_cmdline)) -Image/Build/Profile/EASY98000=$(call Image/Build/$(1),$(1),EASY98000) -Image/Build/Profile/EASY98020=$(call Image/Build/$(1),$(1),EASY98020) - -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernel/Template,NONE) -endef - -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef -endif ifeq ($(CONFIG_TARGET_lantiq_ase),y) @@ -196,99 +123,69 @@ Image/Build/Profile/DGN1000B=$(call Image/Build/$(1),$(1),DGN1000B) endif -ifeq ($(CONFIG_TARGET_lantiq_xway),y) -# VR9 -Image/BuildKernel/Profile/EASY80920-NAND=$(call Image/BuildKernel/Template,EASY80920-NAND) -Image/Build/Profile/EASY80920-NAND=$(call Image/Build/$(1),$(1),EASY80920-NAND) -Image/BuildKernel/Profile/EASY80920-NOR=$(call Image/BuildKernel/Template,EASY80920-NOR) -Image/Build/Profile/EASY80920-NOR=$(call Image/Build/$(1),$(1),EASY80920-NOR) + +ifeq ($(CONFIG_TARGET_lantiq_xway),y) # Danube +Image/BuildKernel/Profile/EASY50712=$(call Image/BuildKernel/Template,EASY50712) +Image/Build/Profile/EASY50712=$(call Image/Build/$(1),$(1),EASY50712) + +Image/BuildKernel/Profile/ARV4510PW=$(call Image/BuildKernel/Template,ARV4510PW) +Image/Build/Profile/ARV4510PW=$(call Image/Build/$(1),$(1),ARV4510PW) + +Image/BuildKernel/Profile/ARV4525PW=$(call Image/BuildKernel/Template,ARV4525PW) +Image/Build/Profile/ARV4525PW=$(call Image/Build/$(1),$(1),ARV4525PW) + Image/BuildKernel/Profile/ARV7525PW=$(call Image/BuildKernel/Template,ARV7525PW) Image/Build/Profile/ARV7525PW=$(call Image/Build/$(1),$(1),ARV7525PW) +Image/BuildKernel/Profile/ARV4518PW=$(call Image/BuildKernel/Template,ARV4518PW) +Image/Build/Profile/ARV4518PW=$(call Image/Build/$(1),$(1),ARV4518PW) + Image/BuildKernel/Profile/ARV4520PW=$(call Image/BuildKernel/Template,ARV4520PW) Image/Build/Profile/ARV4520PW=$(call Image/Build/$(1),$(1),ARV4520PW) +Image/BuildKernel/Profile/ARV452CQW=$(call Image/BuildKernel/Template,ARV452CQW) +Image/Build/Profile/ARV452CQW=$(call Image/Build/$(1),$(1),ARV452CQW) + +Image/BuildKernel/Profile/ARV7518PW=$(call Image/BuildKernel/Template,ARV7518PW) +Image/Build/Profile/ARV7518PW=$(call Image/Build/$(1),$(1),ARV7518PW) + Image/BuildKernel/Profile/ARV752DPW=$(call Image/BuildKernel/Template,ARV752DPW) Image/Build/Profile/ARV752DPW=$(call Image/Build/$(1),$(1),ARV752DPW) Image/BuildKernel/Profile/ARV752DPW22=$(call Image/BuildKernel/Template,ARV752DPW22) Image/Build/Profile/ARV752DPW22=$(call Image/Build/$(1),$(1),ARV752DPW22) -endif - -ifeq ($(CONFIG_TARGET_lantiq_vr9),y) -define Image/BuildKernel/Profile/FRITZ3370 - $(call Image/BuildKernel/Template,FRITZ3370,$(xway_cmdline)) - $(call Image/BuildKernelEVA/Template,FRITZ3370,$(xway_cmdline)) -endef - -Image/Build/Profile/FRITZ3370=$(call Image/Build/$(1),$(1),FRITZ3370) - -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernel/Template,NONE) -endef - -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef -endif -ifeq ($(CONFIG_TARGET_lantiq_svip_be),y) -define Image/BuildKernel/Profile/EASY33016 - $(call Image/BuildKernelGzip/Template,EASY33016,$(svip_cmdline)) -endef +# AR9 +Image/BuildKernel/Profile/DGN3500B=$(call Image/BuildKernel/Template,DGN3500B) +Image/Build/Profile/DGN3500B=$(call Image/Build/$(1),$(1),DGN3500B) -define Image/Build/Profile/EASY33016 - $(call Image/Build/$(1),$(1),EASY33016) -endef +Image/BuildKernel/Profile/FRITZ7320=$(call Image/BuildKernelEVA/Template,FRITZ7320) +Image/Build/Profile/FRITZ7320=$(call Image/BuildEVA/$(1),$(1),FRITZ7320) -define Image/BuildKernel/Profile/EASY336 - $(call Image/BuildKernelGzip/Template,EASY33016,$(svip_cmdline)) -endef -define Image/Build/Profile/EASY336 - $(call Image/Build/$(1),$(1),EASY33016) -endef +# VR9 +Image/BuildKernel/Profile/EASY80920NAND=$(call Image/BuildKernel/Template,EASY80920NAND) +Image/Build/Profile/EASY80920NAND=$(call Image/Build/$(1),$(1),EASY80920NAND) -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernelGzip/Template,EASY33016,$(svip_cmdline)) - $(call Image/BuildKernelGzip/Template,EASY336,$(svip_cmdline)) - $(call Image/BuildKernelGzip/Template,NONE) -endef +Image/BuildKernel/Profile/EASY80920NOR=$(call Image/BuildKernel/Template,EASY80920NOR) +Image/Build/Profile/EASY80920NOR=$(call Image/Build/$(1),$(1),EASY80920NOR) -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),EASY33016) - $(call Image/Build/$(1),$(1),EASY336) - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef endif -ifeq ($(CONFIG_TARGET_lantiq_svip_le),y) -define Image/BuildKernel/Profile/EASY336 - $(call Image/BuildKernelGzip/Template,EASY33016,$(svip_cmdline)) -endef -define Image/Build/Profile/EASY336 - $(call Image/Build/$(1),$(1),EASY33016) -endef -define Image/BuildKernel/Profile/Generic - $(call Image/BuildKernelGzip/Template,EASY336,$(svip_cmdline)) - $(call Image/BuildKernelGzip/Template,NONE) -endef +ifeq ($(CONFIG_TARGET_lantiq_svip_be),y) + +Image/BuildKernel/Profile/EASY33016=$(call Image/BuildKernelGzip/Template,EASY33016) +Image/Build/Profile/EASY33016=$(call Image/Build/$(1),$(1),EASY33016) -define Image/Build/Profile/Generic - $(call Image/Build/$(1),$(1),EASY336) - $(call Image/Build/$(1),$(1),NONE) - $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).rootfs -endef endif + define Image/BuildKernel $(call Image/BuildKernel/Profile/$(PROFILE)) endef diff --git a/target/linux/lantiq/image/amazonse.dtsi b/target/linux/lantiq/image/amazonse.dtsi index f8e6f594ed..13d3e73860 100644 --- a/target/linux/lantiq/image/amazonse.dtsi +++ b/target/linux/lantiq/image/amazonse.dtsi @@ -28,7 +28,7 @@ }; watchdog@803F0 { - compatible = "lantiq,wdt1"; + compatible = "lantiq,wdt"; reg = <0x803F0 0x10>; }; }; @@ -42,11 +42,10 @@ eiu0: eiu@101000 { #interrupt-cells = <1>; - interrupt-controller; - interrupt-parent; - compatible = "lantiq,eiu"; + compatible = "lantiq,eiu-xway"; reg = <0x101000 0x1000>; - lantiq,count = <3>; + interrupt-parent = <&icu0>; + interrupts = <29 30 31>; }; pmu0: pmu@102000 { @@ -73,11 +72,28 @@ 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 { @@ -87,11 +103,19 @@ interrupts = <72 74 75>; }; - hcd@E101000 { - compatible = "lantiq,hcd"; - reg = <0xE101000 0x100>; + 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 { @@ -103,5 +127,22 @@ 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/image/ar9.dtsi b/target/linux/lantiq/image/ar9.dtsi new file mode 100644 index 0000000000..8046449f73 --- /dev/null +++ b/target/linux/lantiq/image/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>; + 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-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-ar9"; + 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>; + }; + + ppe@E234000 { + compatible = "lantiq,ppe-ar9"; + 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-ar9"; + }; +}; diff --git a/target/linux/lantiq/image/danube.dtsi b/target/linux/lantiq/image/danube.dtsi index 9f0fae009c..67432b16b3 100644 --- a/target/linux/lantiq/image/danube.dtsi +++ b/target/linux/lantiq/image/danube.dtsi @@ -3,6 +3,10 @@ #size-cells = <1>; compatible = "lantiq,xway", "lantiq,danube"; + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit"; + }; + cpus { cpu@0 { compatible = "mips,mips24Kc"; @@ -36,16 +40,17 @@ sram@1F000000 { #address-cells = <1>; #size-cells = <1>; - compatible = "lantiq,sram"; + compatible = "lantiq,sram", "simple-bus"; reg = <0x1F000000 0x800000>; ranges = <0x0 0x1F000000 0x7FFFFF>; eiu0: eiu@101000 { #interrupt-cells = <1>; interrupt-controller; - interrupt-parent; compatible = "lantiq,eiu-xway"; reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + interrupts = <166 135 66>; }; pmu0: pmu@102000 { @@ -59,6 +64,14 @@ #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>; @@ -72,6 +85,14 @@ 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>; @@ -79,13 +100,52 @@ interrupts = <126 127 128 129 130 131>; }; - serial@E100C00 { + 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>; @@ -96,7 +156,28 @@ 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>; + }; + + 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>; @@ -106,6 +187,14 @@ 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/image/vr9.dtsi b/target/linux/lantiq/image/vr9.dtsi index f82faad17a..4c1923be84 100644 --- a/target/linux/lantiq/image/vr9.dtsi +++ b/target/linux/lantiq/image/vr9.dtsi @@ -36,16 +36,17 @@ sram@1F000000 { #address-cells = <1>; #size-cells = <1>; - compatible = "lantiq,sram"; + compatible = "lantiq,sram", "simple-bus"; reg = <0x1F000000 0x800000>; ranges = <0x0 0x1F000000 0x7FFFFF>; eiu0: eiu@101000 { #interrupt-cells = <1>; interrupt-controller; - interrupt-parent; compatible = "lantiq,eiu-xway"; reg = <0x101000 0x1000>; + interrupt-parent = <&icu0>; + interrupts = <166 135 66 40 41 42>; }; pmu0: pmu@102000 { @@ -56,11 +57,15 @@ cgu0: cgu@103000 { compatible = "lantiq,cgu-xway"; reg = <0x103000 0x1000>; - #clock-cells = <1>; + }; + + dcdc@106a00 { + compatible = "lantiq,dcdc-xrx200"; + reg = <0x106a00 0x200>; }; rcu0: rcu@203000 { - compatible = "lantiq,rcu-xway"; + compatible = "lantiq,rcu-xrx200"; reg = <0x203000 0x1000>; /* irq for thermal sensor */ interrupt-parent = <&icu0>; @@ -99,6 +104,27 @@ reg = <0xE105300 0x100>; }; + ifxhcd@E101000 { + status = "disabled"; + compatible = "lantiq,ifxhcd-xrx200"; + reg = <0xE101000 0x1000 + 0xE120000 0x3f000>; + interrupt-parent = <&icu0>; + interrupts = <62 91>; + }; + + ppe@E234000 { + compatible = "lantiq,atm-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>;