diff options
author | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-07-25 20:29:15 +0000 |
---|---|---|
committer | blogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-07-25 20:29:15 +0000 |
commit | b1d5ed10ec723f4940564a32ee9e97cc54235ff3 (patch) | |
tree | b5b9a312639484940abe65755fba3ea8a3fb27cd | |
parent | 95c6c866ca7b1a1cf5d6c5a7518acfb8cc2f2424 (diff) |
lantiq: add devicetree for TP-Link TDW8970
Signed-of-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37541 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/lantiq/dts/TDW8970.dts | 248 |
1 files changed, 248 insertions, 0 deletions
diff --git a/target/linux/lantiq/dts/TDW8970.dts b/target/linux/lantiq/dts/TDW8970.dts new file mode 100644 index 0000000000..a15d91c6a8 --- /dev/null +++ b/target/linux/lantiq/dts/TDW8970.dts @@ -0,0 +1,248 @@ +/dts-v1/; + +/include/ "vr9.dtsi" + +/ { + model = "TDW8970 - TP-LINK TD-W8970"; + + chosen { + bootargs = "console=ttyLTQ0,115200 init=/etc/preinit rootfstype=jffs2"; + }; + + memory@0 { + reg = <0x0 0x4000000>; + }; + + fpi@10000000 { + gpio: pinmux@E100B10 { + pinctrl-names = "default"; + pinctrl-0 = <&state_default>; + + state_default: pinmux { + mdio { + lantiq,groups = "mdio"; + lantiq,function = "mdio"; + }; + phy-rst { + lantiq,pins = "io42"; + lantiq,pull = <0>; + lantiq,open-drain = <0>; + lantiq,output = <1>; + }; + 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>; + }; + 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 42 1>; + }; + ethernet@5 { + compatible = "lantiq,xrx200-pdi-port"; + reg = <5>; + phy-mode = "rgmii"; + phy-handle = <&phy5>; + }; + 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>; + }; + 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>; + }; + }; + }; + + ifxhcd@E101000 { + status = "okay"; + gpios = <&gpio 33 0>; + lantiq,portmask = <0x3>; + }; + }; + + gphy-xrx200 { + compatible = "lantiq,phy-xrx200"; + firmware = "lantiq/vr9_phy11g_a2x.bin"; + phys = [ 00 01 ]; + }; + + pcie { + compatible = "lantiq,pcie-xway"; + }; + + 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 = "en25q64", "m25p80"; + reg = <0 0>; + linux,modalias = "en25q64"; + spi-max-frequency = <1000000>; + + partition@0 { + reg = <0x0 0x20000>; + label = "u-boot"; + read-only; + }; + + partition@20000 { + reg = <0x20000 0x7a0000>; + label = "firmware"; + }; + + partition@7c0000 { + reg = <0x7c0000 0x10000>; + label = "config"; + read-only; + }; + + ath9k_cal: partition@7d0000 { + reg = <0x7d0000 0x30000>; + label = "boardconfig"; + read-only; + }; + }; + }; + + ath9k_eep { + compatible = "ath9k,eeprom"; + ath,eep-flash = <&ath9k_cal 0x21000>; + ath,pci-slot = <0>; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <100>; + power { + label = "reset"; + gpios = <&gpio 0 1>; + linux,code = <0x100>; + }; + + wifi { + label = "wifi"; + gpios = <&gpio 9 0>; + linux,code = <0x101>; + linux,input-type = <5>; /* EV_SW */ + }; + + wps { + label = "wps"; + gpios = <&gpio 39 1>; + linux,code = <0x102>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + adsl { + label = "adsl"; + gpios = <&gpio 4 0>; + }; + internet { + label = "internet"; + gpios = <&gpio 5 0>; + }; + lan3 { + label = "lan3"; + gpios = <&gpio 7 0>; + }; + usb0 { + label = "usb"; + gpios = <&gpio 19 0>; + }; + usb2 { + label = "usb2"; + gpios = <&gpio 20 0>; + }; + wps { + label = "wps"; + gpios = <&gpio 37 0>; + }; + lan4 { + label = "lan4"; + gpios = <&gpio 45 0>; + }; + }; +}; |