traverse-ls1043s.dts 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332
  1. /*
  2. * Device Tree Include file for Traverse LS1043S board.
  3. *
  4. * Copyright 2014-2015, Freescale Semiconductor
  5. * Copyright 2017-2018, Traverse Technologies
  6. *
  7. * This file is dual-licensed: you can use it either under the terms
  8. * of the GPLv2 or the X11 license, at your option. Note that this dual
  9. * licensing only applies to this file, and not this project as a
  10. * whole.
  11. *
  12. * a) This library is free software; you can redistribute it and/or
  13. * modify it under the terms of the GNU General Public License as
  14. * published by the Free Software Foundation; either version 2 of the
  15. * License, or (at your option) any later version.
  16. *
  17. * This library is distributed in the hope that it will be useful,
  18. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  19. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  20. * GNU General Public License for more details.
  21. *
  22. * Or, alternatively,
  23. *
  24. * b) Permission is hereby granted, free of charge, to any person
  25. * obtaining a copy of this software and associated documentation
  26. * files (the "Software"), to deal in the Software without
  27. * restriction, including without limitation the rights to use,
  28. * copy, modify, merge, publish, distribute, sublicense, and/or
  29. * sell copies of the Software, and to permit persons to whom the
  30. * Software is furnished to do so, subject to the following
  31. * conditions:
  32. *
  33. * The above copyright notice and this permission notice shall be
  34. * included in all copies or substantial portions of the Software.
  35. *
  36. * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  37. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  38. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  39. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  40. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  41. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  42. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  43. * OTHER DEALINGS IN THE SOFTWARE.
  44. */
  45. /dts-v1/;
  46. #include "fsl-ls1043a.dtsi"
  47. #include <dt-bindings/gpio/gpio.h>
  48. #include <dt-bindings/input/input.h>
  49. / {
  50. model = "Traverse LS1043S";
  51. compatible = "traverse,ls1043s";
  52. aliases {
  53. crypto = &crypto;
  54. ethernet0 = &EMAC0;
  55. ethernet1 = &EMAC1;
  56. ethernet2 = &EMAC2;
  57. ethernet3 = &EMAC3;
  58. ethernet4 = &EMAC4;
  59. ethernet5 = &EMAC5;
  60. };
  61. leds {
  62. compatible = "gpio-leds";
  63. gpio0 {
  64. label = "ls1043s:green:user0";
  65. gpios = <&gpio1 23 GPIO_ACTIVE_HIGH>;
  66. };
  67. gpio1 {
  68. label = "ls1043s:green:user1";
  69. gpios = <&gpio1 24 GPIO_ACTIVE_HIGH>;
  70. };
  71. /* LED D17 */
  72. gpio2 {
  73. label = "ls1043s:green:wan";
  74. gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
  75. };
  76. gpio3 {
  77. label = "ls1043s:yellow:wan";
  78. gpios = <&gpio1 27 GPIO_ACTIVE_LOW>;
  79. };
  80. /* LED D18 */
  81. gpio4 {
  82. label = "ls1043s:green:mgmt";
  83. gpios = <&gpio1 28 GPIO_ACTIVE_LOW>;
  84. };
  85. gpio5 {
  86. label = "ls1043s:yellow:mgmt";
  87. gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
  88. };
  89. /* LED D6 */
  90. gpio6 {
  91. label = "ls1043s:green:user2";
  92. gpios = <&gpio1 31 GPIO_ACTIVE_HIGH>;
  93. };
  94. /* SFP+ LEDs - these are for chassis
  95. * with lightpipes only
  96. */
  97. teng_act {
  98. label = "ls1043s:yellow:10gact";
  99. gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;
  100. };
  101. teng_link {
  102. label = "ls1043s:green:10glink";
  103. gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;
  104. };
  105. };
  106. keys {
  107. compatible = "gpio-keys-polled";
  108. #address-cells = <1>;
  109. #size-cells = <0>;
  110. poll-interval = <1000>;
  111. /* This button may not be loaded on all boards */
  112. button@0 {
  113. label = "Front button";
  114. linux,code = <KEY_SETUP>;
  115. gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
  116. };
  117. /* This is wired to header S3 */
  118. button@1 {
  119. label = "Rear button";
  120. linux,code = <KEY_WPS_BUTTON>;
  121. gpios = <&gpio1 30 GPIO_ACTIVE_LOW>;
  122. };
  123. };
  124. };
  125. &esdhc {
  126. mmc-hs200-1_8v;
  127. sd-uhs-sdr104;
  128. sd-uhs-sdr50;
  129. sd-uhs-sdr25;
  130. sd-uhs-sdr12;
  131. };
  132. &i2c0 {
  133. status = "okay";
  134. rtc@6f {
  135. compatible = "intersil,isl1208";
  136. reg = <0x6f>;
  137. };
  138. sfp_pca9534: pca9534@24 {
  139. compatible = "ti,tca9534", "nxp,pca9534";
  140. gpio-controller;
  141. #gpio-cells = <2>;
  142. reg = <0x24>;
  143. gpio-base = <100>;
  144. };
  145. controller@50 {
  146. compatible = "traverse,controller";
  147. reg = <0x50>;
  148. };
  149. ds125df111@18 {
  150. compatible = "ti,ds125df111";
  151. reg = <0x18>;
  152. };
  153. emc1704@4c {
  154. compatible = "microchip,emc1704";
  155. reg = <0x4c>;
  156. };
  157. pac1934@16 {
  158. compatible = "microchip,pac1934";
  159. reg = <0x16>;
  160. /* Monitoring 3.3V, 5V, Vin/12V (voltage only), Vbat/RTC (voltage only) */
  161. shunt-resistors = <4000 12000 0 0>;
  162. };
  163. pmic@8 {
  164. compatible = "freescale,mc34vr500";
  165. reg = <0x08>;
  166. };
  167. };
  168. /* I2C Bus for SFP EEPROM and control
  169. * These are multiplexed so
  170. * they don't collide when loaded
  171. */
  172. &i2c3 {
  173. status = "okay";
  174. i2c-switch@70 {
  175. compatible = "nxp,pca9540";
  176. #address-cells = <1>;
  177. #size-cells = <0>;
  178. reg = <0x70>;
  179. gigsfp_i2c: i2c@0 {
  180. #address-cells = <1>;
  181. #size-cells = <0>;
  182. reg = <0>;
  183. };
  184. tensfp_i2c: i2c@1 {
  185. #address-cells = <1>;
  186. #size-cells = <0>;
  187. reg = <1>;
  188. };
  189. };
  190. };
  191. &ifc {
  192. status = "okay";
  193. #address-cells = <2>;
  194. #size-cells = <1>;
  195. /* Only NAND flash is used on this board */
  196. ranges = <0x0 0x0 0x0 0x7e800000 0x00010000>;
  197. nand@1,0 {
  198. compatible = "fsl,ifc-nand";
  199. #address-cells = <1>;
  200. #size-cells = <1>;
  201. reg = <0x0 0x0 0x10000>;
  202. };
  203. };
  204. &duart0 {
  205. status = "okay";
  206. };
  207. &duart1 {
  208. status = "okay";
  209. };
  210. #include "fsl-ls1043-post.dtsi"
  211. &fman0 {
  212. EMAC0: ethernet@e0000 {
  213. phy-handle = <&qsgmii_phy1>;
  214. phy-connection-type = "qsgmii";
  215. local-mac-address = [0A 00 00 00 00 01];
  216. };
  217. EMAC1: ethernet@e2000 {
  218. phy-handle = <&qsgmii_phy2>;
  219. phy-connection-type = "qsgmii";
  220. local-mac-address = [0A 00 00 00 00 02];
  221. };
  222. EMAC2: ethernet@e8000 {
  223. phy-handle = <&qsgmii_phy3>;
  224. phy-connection-type = "qsgmii";
  225. local-mac-address = [0A 00 00 00 00 03];
  226. };
  227. EMAC3: ethernet@ea000 {
  228. phy-handle = <&qsgmii_phy4>;
  229. phy-connection-type = "qsgmii";
  230. local-mac-address = [0A 00 00 00 00 04];
  231. };
  232. /* SFP via AR8031
  233. * We treat this as a fixed-link as the
  234. * AR8031 is hard-configured into
  235. * 1000BASE-X mode
  236. * Should MII control be desired, remove
  237. * fixed-link and add
  238. * phy-handle = <&rgmii_phy1>;
  239. */
  240. EMAC4: ethernet@e4000 {
  241. phy-connection-type = "rgmii";
  242. local-mac-address = [0A 00 00 00 00 05];
  243. fixed-link {
  244. speed = <1000>;
  245. full-duplex;
  246. };
  247. };
  248. /* Connection to Expansion (M.2) slot
  249. * Future WAN (i.e xDSL) plugin
  250. */
  251. EMAC5: ethernet@e6000 {
  252. phy-connection-type = "rgmii-id";
  253. local-mac-address = [00 00 00 00 00 06];
  254. fixed-link {
  255. speed = <1000>;
  256. full-duplex;
  257. };
  258. };
  259. /* 10G SFP+ interface
  260. * This can also run at 1.25 and 2.5G with
  261. * the appropriate SerDes protocol setting in RCW
  262. */
  263. TENSFP: ethernet@f0000 {
  264. status = "okay";
  265. phy-connection-type = "xgmii";
  266. fixed-link {
  267. speed = <10000>;
  268. full-duplex;
  269. };
  270. };
  271. mdio@fc000 {
  272. rgmii_phy1: ethernet-phy@2 {
  273. reg = <0x2>;
  274. };
  275. qsgmii_phy1: ethernet-phy@4 {
  276. reg = <0x4>;
  277. };
  278. qsgmii_phy2: ethernet-phy@5 {
  279. reg = <0x5>;
  280. };
  281. qsgmii_phy3: ethernet-phy@6 {
  282. reg = <0x6>;
  283. };
  284. qsgmii_phy4: ethernet-phy@7 {
  285. reg = <0x7>;
  286. };
  287. };
  288. };
  289. /* No QUICC engine functions on this board -
  290. * pins are used for other functions (GPIO, I2C etc.)
  291. */
  292. &uqe {
  293. status = "disabled";
  294. };
  295. /* LS1043S does not use the QorIQ AHCI
  296. * controller.
  297. */
  298. &sata {
  299. status = "disabled";
  300. };