summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-25 20:29:15 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-07-25 20:29:15 +0000
commitb1d5ed10ec723f4940564a32ee9e97cc54235ff3 (patch)
treeb5b9a312639484940abe65755fba3ea8a3fb27cd
parent95c6c866ca7b1a1cf5d6c5a7518acfb8cc2f2424 (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.dts248
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>;
+ };
+ };
+};