diff options
Diffstat (limited to 'target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts')
-rw-r--r-- | target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts | 229 |
1 files changed, 229 insertions, 0 deletions
diff --git a/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts new file mode 100644 index 0000000000..bcb3b502af --- /dev/null +++ b/target/linux/lantiq/files/arch/mips/boot/dts/ARV7519PW.dts @@ -0,0 +1,229 @@ +/dts-v1/; + +#include "danube.dtsi" + +#include <dt-bindings/input/input.h> + +/ { + compatible = "arcadyan,arv7519pw", "lantiq,xway", "lantiq,danube"; + model = "Astoria Networks ARV7519PW"; + + chosen { + bootargs = "console=ttyLTQ0,115200"; + }; + + aliases { + led-boot = &power; + led-failsafe = &power2; + led-running = &power; + led-upgrade = &power; + + led-dsl = &dsl; + led-internet = &online; + led-wifi = &wifi; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + + rfkill { + label = "rfkill"; + gpios = <&gpio 11 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RFKILL>; + }; + reset { + label = "reset"; + gpios = <&gpio 28 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + power: power { + label = "power"; + gpios = <&gpio 2 GPIO_ACTIVE_LOW>; + default-state = "keep"; + }; + power2: power2 { + label = "power2"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + online: online { + label = "online"; + gpios = <&gpio 3 GPIO_ACTIVE_LOW>; + }; + online2 { + label = "online2"; + gpios = <&gpio 30 GPIO_ACTIVE_LOW>; + }; + wifi: wifi { + label = "wifi"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + wifi2 { + label = "wifi2"; + gpios = <&gpio 10 GPIO_ACTIVE_LOW>; + }; + wifi3 { + label = "wifi3"; + gpios = <&gpio 6 GPIO_ACTIVE_LOW>; + }; + voice { + label = "voice"; + gpios = <&gpio 31 GPIO_ACTIVE_LOW>; + }; + wps { + label = "wps"; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + wps2 { + label = "wps2"; + gpios = <&gpio 7 GPIO_ACTIVE_LOW>; + }; + wps3 { + label = "wps3"; + gpios = <&gpio 23 GPIO_ACTIVE_LOW>; + }; + dsl: dsl { + label = "dsl"; + gpios = <&gpio 4 GPIO_ACTIVE_LOW>; + }; + lan { + label = "lan"; + gpios = <&gpio 1 GPIO_ACTIVE_LOW>; + }; + tv { + label = "tv"; + gpios = <&gpio 20 GPIO_ACTIVE_LOW>; + }; + upgrade { + label = "upgrade"; + gpios = <&gpio 29 GPIO_ACTIVE_LOW>; + }; + }; + + /* is there another way to "reserve" the GPIO? */ + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + switch { + gpio-export,name = "switch"; + gpio-export,output = <1>; + gpios = <&gpio 19 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpio { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + ebu { + lantiq,groups = "ebu cs1"; + lantiq,function = "ebu"; + }; + pci_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,pull = <0>; + lantiq,output = <1>; + }; + pci_rst { + lantiq,pins = "io21"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + switch_rst { + lantiq,pins = "io19"; + lantiq,pull = <2>; + lantiq,output = <1>; + }; + }; +}; + +&gsw { + phy-mode = "mii"; + mtd-mac-address = <&boardconfig 0x16>; +}; + +&localbus { + nor@0 { + compatible = "lantiq,nor"; + bank-width = <2>; + reg = <0 0x0 0x2000000>; + #address-cells = <1>; + #size-cells = <1>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "uboot"; + reg = <0x00000 0x40000>; + read-only; + }; + + partition@40000 { + label = "uboot_env"; + reg = <0x40000 0x20000>; + }; + + partition@60000 { + label = "firmware"; + reg = <0x60000 0xf80000>; + }; + + boardconfig: partition@fe0000 { + label = "board_config"; + reg = <0xfe0000 0x20000>; + read-only; + }; + }; + }; +}; + +&pci0 { + status = "okay"; + lantiq,external-clock; + gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>; + req-mask = <0xf>; + + wifi@0,0 { + compatible = "pci0,0"; + reg = <0x7000 0 0 0 0>; + ralink,mtd-eeprom = <&boardconfig 0x410>; + ralink,mtd-eeprom-swap; + }; +}; + +&usb_phy { + status = "okay"; +}; + +/* warning: passive port only works with active devices */ +&usb { + status = "okay"; +}; + +&vmmc { + status = "okay"; +}; |