tl-wdr4900-v1.dts 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. /*
  2. * TP-Link TL-WDR4900 v1 Device Tree Source
  3. *
  4. * Copyright 2013 Gabor Juhos <juhosg@openwrt.org>
  5. *
  6. * This program is free software; you can redistribute it and/or modify it
  7. * under the terms of the GNU General Public License as published by the
  8. * Free Software Foundation; either version 2 of the License, or (at your
  9. * option) any later version.
  10. */
  11. /include/ "fsl/p1010si-pre.dtsi"
  12. / {
  13. model = "TP-Link TL-WDR4900 v1";
  14. compatible = "tp-link,TL-WDR4900v1";
  15. chosen {
  16. bootargs = "console=ttyS0,115200";
  17. /*
  18. linux,stdout-path = "/soc@ffe00000/serial@4500";
  19. */
  20. };
  21. aliases {
  22. spi0 = &spi0;
  23. };
  24. memory {
  25. device_type = "memory";
  26. };
  27. soc: soc@ffe00000 {
  28. ranges = <0x0 0x0 0xffe00000 0x100000>;
  29. spi0: spi@7000 {
  30. flash@0 {
  31. #address-cells = <1>;
  32. #size-cells = <1>;
  33. compatible = "jedec,spi-nor";
  34. reg = <0>;
  35. spi-max-frequency = <25000000>;
  36. u-boot@0 {
  37. reg = <0x0 0x0050000>;
  38. label = "u-boot";
  39. read-only;
  40. };
  41. dtb@50000 {
  42. reg = <0x00050000 0x00010000>;
  43. label = "dtb";
  44. read-only;
  45. };
  46. kernel@60000 {
  47. reg = <0x00060000 0x002a0000>;
  48. label = "kernel";
  49. };
  50. rootfs@300000 {
  51. reg = <0x00300000 0x00ce0000>;
  52. label = "rootfs";
  53. };
  54. config: config@fe0000 {
  55. reg = <0x00fe0000 0x00010000>;
  56. label = "config";
  57. read-only;
  58. };
  59. caldata@ff0000 {
  60. reg = <0x00ff0000 0x00010000>;
  61. label = "caldata";
  62. read-only;
  63. };
  64. firmware@60000 {
  65. reg = <0x00060000 0x00f80000>;
  66. label = "firmware";
  67. };
  68. };
  69. };
  70. gpio0: gpio-controller@fc00 {
  71. };
  72. usb@22000 {
  73. phy_type = "utmi";
  74. dr_mode = "host";
  75. };
  76. mdio@24000 {
  77. phy0: ethernet-phy@0 {
  78. reg = <0x0>;
  79. qca,ar8327-initvals = <
  80. 0x00004 0x07600000 /* PAD0_MODE */
  81. 0x00008 0x00000000 /* PAD5_MODE */
  82. 0x0000c 0x01000000 /* PAD6_MODE */
  83. 0x00010 0x40000000 /* POWER_ON_STRIP */
  84. 0x00050 0xcf35cf35 /* LED_CTRL0 */
  85. 0x00054 0xcf35cf35 /* LED_CTRL1 */
  86. 0x00058 0xcf35cf35 /* LED_CTRL2 */
  87. 0x0005c 0x03ffff00 /* LED_CTRL3 */
  88. 0x0007c 0x0000007e /* PORT0_STATUS */
  89. 0x00094 0x00000200 /* PORT6_STATUS */
  90. >;
  91. };
  92. };
  93. mdio@25000 {
  94. status = "disabled";
  95. };
  96. mdio@26000 {
  97. status = "disabled";
  98. };
  99. enet0: ethernet@b0000 {
  100. phy-handle = <&phy0>;
  101. phy-connection-type = "rgmii-id";
  102. mtd-mac-address = <&config 0x144>;
  103. };
  104. enet1: ethernet@b1000 {
  105. status = "disabled";
  106. };
  107. enet2: ethernet@b2000 {
  108. status = "disabled";
  109. };
  110. sdhc@2e000 {
  111. status = "disabled";
  112. };
  113. serial1: serial@4600 {
  114. status = "disabled";
  115. };
  116. can0: can@1c000 {
  117. status = "disabled";
  118. };
  119. can1: can@1d000 {
  120. status = "disabled";
  121. };
  122. ptp_clock@b0e00 {
  123. compatible = "fsl,etsec-ptp";
  124. reg = <0xb0e00 0xb0>;
  125. interrupts = <68 2 0 0 69 2 0 0 70 2 0 0>;
  126. fsl,cksel = <1>;
  127. fsl,tclk-period = <5>;
  128. fsl,tmr-prsc = <2>;
  129. fsl,tmr-add = <0xcccccccd>;
  130. fsl,tmr-fiper1 = <0x3b9ac9fb>; /* 1PPS */
  131. fsl,tmr-fiper2 = <0x00018696>;
  132. fsl,max-adj = <249999999>;
  133. };
  134. };
  135. pci0: pcie@ffe09000 {
  136. reg = <0 0xffe09000 0 0x1000>;
  137. ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
  138. 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
  139. pcie@0 {
  140. ranges = <0x2000000 0x0 0xa0000000
  141. 0x2000000 0x0 0xa0000000
  142. 0x0 0x20000000
  143. 0x1000000 0x0 0x0
  144. 0x1000000 0x0 0x0
  145. 0x0 0x100000>;
  146. };
  147. };
  148. pci1: pcie@ffe0a000 {
  149. reg = <0 0xffe0a000 0 0x1000>;
  150. ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
  151. 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
  152. pcie@0 {
  153. ranges = <0x2000000 0x0 0x80000000
  154. 0x2000000 0x0 0x80000000
  155. 0x0 0x20000000
  156. 0x1000000 0x0 0x0
  157. 0x1000000 0x0 0x0
  158. 0x0 0x100000>;
  159. };
  160. };
  161. ifc: ifc@ffe1e000 {
  162. status = "disabled";
  163. };
  164. leds {
  165. compatible = "gpio-leds";
  166. system {
  167. gpios = <&gpio0 2 1>; /* active low */
  168. label = "tp-link:blue:system";
  169. };
  170. usb1 {
  171. gpios = <&gpio0 3 1>; /* active low */
  172. label = "tp-link:green:usb1";
  173. };
  174. usb2 {
  175. gpios = <&gpio0 4 1>; /* active low */
  176. label = "tp-link:green:usb2";
  177. };
  178. usbpower {
  179. gpios = <&gpio0 10 1>; /* active low */
  180. label = "tp-link:usb:power";
  181. };
  182. };
  183. buttons {
  184. compatible = "gpio-keys";
  185. reset {
  186. label = "Reset button";
  187. gpios = <&gpio0 5 1>; /* active low */
  188. linux,code = <0x198>; /* KEY_RESTART */
  189. };
  190. rfkill {
  191. label = "RFKILL switch";
  192. gpios = <&gpio0 11 1>; /* active low */
  193. linux,code = <0xf7>; /* RFKill */
  194. };
  195. };
  196. };
  197. /include/ "fsl/p1010si-post.dtsi"
  198. /*
  199. * The TL-WDR4900 v1 uses the NXP (Freescale) P1014 SoC which is closely
  200. * related to the P1010.
  201. *
  202. * NXP QP1010FS.pdf "QorIQ P1010 and P1014 Communications Processors"
  203. * datasheet states that the P1014 does not include the accelerated crypto
  204. * module (CAAM/SEC4) which is present in the P1010.
  205. *
  206. * NXP Appliation Note AN4938 Rev. 2 implies that some P1014 may contain the
  207. * SEC4 module, but states that SoCs with System Version Register values
  208. * 0x80F10110 or 0x80F10120 do not have the security feature.
  209. *
  210. * All v1.3 TL-WDR4900 tested have SVR == 0x80F10110 which AN4938 describes
  211. * as: core rev 1.0, "P1014 (without security)".
  212. *
  213. * The SVR value is reported by uboot on the serial console.
  214. */
  215. / {
  216. soc: soc@ffe00000 {
  217. /delete-node/ crypto@30000; /* Pulled in by p1010si-post */
  218. };
  219. };