vf610-zii-dev-rev-c.dts 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
  4. */
  5. /dts-v1/;
  6. #include "vf610-zii-dev.dtsi"
  7. / {
  8. model = "ZII VF610 Development Board, Rev C";
  9. compatible = "zii,vf610dev-c", "zii,vf610dev", "fsl,vf610";
  10. mdio-mux {
  11. compatible = "mdio-mux-gpio";
  12. pinctrl-0 = <&pinctrl_mdio_mux>;
  13. pinctrl-names = "default";
  14. gpios = <&gpio0 8 GPIO_ACTIVE_HIGH
  15. &gpio0 9 GPIO_ACTIVE_HIGH
  16. &gpio0 25 GPIO_ACTIVE_HIGH>;
  17. mdio-parent-bus = <&mdio1>;
  18. #address-cells = <1>;
  19. #size-cells = <0>;
  20. mdio_mux_1: mdio@1 {
  21. reg = <1>;
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. switch0: switch@0 {
  25. compatible = "marvell,mv88e6190";
  26. pinctrl-0 = <&pinctrl_gpio_switch0>;
  27. pinctrl-names = "default";
  28. reg = <0>;
  29. dsa,member = <0 0>;
  30. eeprom-length = <65536>;
  31. interrupt-parent = <&gpio0>;
  32. interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
  33. interrupt-controller;
  34. #interrupt-cells = <2>;
  35. ports {
  36. #address-cells = <1>;
  37. #size-cells = <0>;
  38. port@0 {
  39. reg = <0>;
  40. label = "cpu";
  41. ethernet = <&fec1>;
  42. fixed-link {
  43. speed = <100>;
  44. full-duplex;
  45. };
  46. };
  47. port@1 {
  48. reg = <1>;
  49. label = "lan1";
  50. phy-handle = <&switch0phy1>;
  51. };
  52. port@2 {
  53. reg = <2>;
  54. label = "lan2";
  55. phy-handle = <&switch0phy2>;
  56. };
  57. port@3 {
  58. reg = <3>;
  59. label = "lan3";
  60. phy-handle = <&switch0phy3>;
  61. };
  62. port@4 {
  63. reg = <4>;
  64. label = "lan4";
  65. phy-handle = <&switch0phy4>;
  66. };
  67. switch0port10: port@10 {
  68. reg = <10>;
  69. label = "dsa";
  70. phy-mode = "xaui";
  71. link = <&switch1port10>;
  72. };
  73. };
  74. mdio {
  75. #address-cells = <1>;
  76. #size-cells = <0>;
  77. switch0phy1: switch0phy@1 {
  78. reg = <1>;
  79. interrupt-parent = <&switch0>;
  80. interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
  81. };
  82. switch0phy2: switch0phy@2 {
  83. reg = <2>;
  84. interrupt-parent = <&switch0>;
  85. interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
  86. };
  87. switch0phy3: switch0phy@3 {
  88. reg = <3>;
  89. interrupt-parent = <&switch0>;
  90. interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
  91. };
  92. switch0phy4: switch0phy@4 {
  93. reg = <4>;
  94. interrupt-parent = <&switch0>;
  95. interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
  96. };
  97. };
  98. };
  99. };
  100. mdio_mux_2: mdio@2 {
  101. reg = <2>;
  102. #address-cells = <1>;
  103. #size-cells = <0>;
  104. switch1: switch@0 {
  105. compatible = "marvell,mv88e6190";
  106. pinctrl-0 = <&pinctrl_gpio_switch1>;
  107. pinctrl-names = "default";
  108. reg = <0>;
  109. dsa,member = <0 1>;
  110. eeprom-length = <65536>;
  111. interrupt-parent = <&gpio0>;
  112. interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
  113. interrupt-controller;
  114. #interrupt-cells = <2>;
  115. ports {
  116. #address-cells = <1>;
  117. #size-cells = <0>;
  118. port@1 {
  119. reg = <1>;
  120. label = "lan5";
  121. phy-handle = <&switch1phy1>;
  122. };
  123. port@2 {
  124. reg = <2>;
  125. label = "lan6";
  126. phy-handle = <&switch1phy2>;
  127. };
  128. port@3 {
  129. reg = <3>;
  130. label = "lan7";
  131. phy-handle = <&switch1phy3>;
  132. };
  133. port@4 {
  134. reg = <4>;
  135. label = "lan8";
  136. phy-handle = <&switch1phy4>;
  137. };
  138. port@9 {
  139. reg = <9>;
  140. label = "sff2";
  141. phy-mode = "1000base-x";
  142. managed = "in-band-status";
  143. sfp = <&sff2>;
  144. };
  145. switch1port10: port@10 {
  146. reg = <10>;
  147. label = "dsa";
  148. phy-mode = "xaui";
  149. link = <&switch0port10>;
  150. };
  151. };
  152. mdio {
  153. #address-cells = <1>;
  154. #size-cells = <0>;
  155. switch1phy1: switch1phy@1 {
  156. reg = <1>;
  157. interrupt-parent = <&switch1>;
  158. interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
  159. };
  160. switch1phy2: switch1phy@2 {
  161. reg = <2>;
  162. interrupt-parent = <&switch1>;
  163. interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
  164. };
  165. switch1phy3: switch1phy@3 {
  166. reg = <3>;
  167. interrupt-parent = <&switch1>;
  168. interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
  169. };
  170. switch1phy4: switch1phy@4 {
  171. reg = <4>;
  172. interrupt-parent = <&switch1>;
  173. interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
  174. };
  175. };
  176. };
  177. };
  178. mdio_mux_4: mdio@4 {
  179. reg = <4>;
  180. #address-cells = <1>;
  181. #size-cells = <0>;
  182. };
  183. };
  184. sff2: sff2 {
  185. /* lower */
  186. compatible = "sff,sff";
  187. i2c-bus = <&sff2_i2c>;
  188. los-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>;
  189. tx-disable-gpios = <&gpio6 14 GPIO_ACTIVE_HIGH>;
  190. };
  191. sff3: sff3 {
  192. /* upper */
  193. compatible = "sff,sff";
  194. i2c-bus = <&sff3_i2c>;
  195. los-gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>;
  196. tx-disable-gpios = <&gpio6 15 GPIO_ACTIVE_HIGH>;
  197. };
  198. };
  199. &dspi0 {
  200. bus-num = <0>;
  201. pinctrl-names = "default";
  202. pinctrl-0 = <&pinctrl_dspi0>;
  203. status = "okay";
  204. spi-num-chipselects = <2>;
  205. flash@0 {
  206. compatible = "m25p128", "jedec,spi-nor";
  207. #address-cells = <1>;
  208. #size-cells = <1>;
  209. reg = <0>;
  210. spi-max-frequency = <1000000>;
  211. };
  212. atzb-rf-233@1 {
  213. compatible = "atmel,at86rf233";
  214. pinctrl-names = "default";
  215. pinctrl-0 = <&pinctr_atzb_rf_233>;
  216. spi-max-frequency = <7500000>;
  217. reg = <1>;
  218. interrupts = <4 IRQ_TYPE_LEVEL_HIGH>;
  219. interrupt-parent = <&gpio3>;
  220. xtal-trim = /bits/ 8 <0x06>;
  221. sleep-gpio = <&gpio0 24 GPIO_ACTIVE_HIGH>;
  222. reset-gpio = <&gpio6 10 GPIO_ACTIVE_HIGH>;
  223. fsl,spi-cs-sck-delay = <180>;
  224. fsl,spi-sck-cs-delay = <250>;
  225. };
  226. };
  227. &i2c0 {
  228. /*
  229. * U712
  230. *
  231. * Exposed signals:
  232. * P1 - WE2_CMD
  233. * P2 - WE2_CLK
  234. */
  235. gpio5: io-expander@18 {
  236. compatible = "nxp,pca9557";
  237. reg = <0x18>;
  238. gpio-controller;
  239. #gpio-cells = <2>;
  240. };
  241. /*
  242. * U121
  243. *
  244. * Exposed signals:
  245. * I/O0 - ENET_SWR_EN
  246. * I/O1 - ESW1_RESETn
  247. * I/O2 - ARINC_RESET
  248. * I/O3 - DD1_IO_RESET
  249. * I/O4 - ESW2_RESETn
  250. * I/O5 - ESW3_RESETn
  251. * I/O6 - ESW4_RESETn
  252. * I/O8 - TP909
  253. * I/O9 - FEM_SEL
  254. * I/O10 - WIFI_RESETn
  255. * I/O11 - PHY_RSTn
  256. * I/O12 - OPT1_SD
  257. * I/O13 - OPT2_SD
  258. * I/O14 - OPT1_TX_DIS
  259. * I/O15 - OPT2_TX_DIS
  260. */
  261. gpio6: sx1503@20 {
  262. compatible = "semtech,sx1503q";
  263. pinctrl-names = "default";
  264. pinctrl-0 = <&pinctrl_sx1503_20>;
  265. #gpio-cells = <2>;
  266. #interrupt-cells = <2>;
  267. reg = <0x20>;
  268. interrupt-parent = <&gpio0>;
  269. interrupts = <23 IRQ_TYPE_EDGE_FALLING>;
  270. gpio-controller;
  271. interrupt-controller;
  272. };
  273. /*
  274. * U715
  275. *
  276. * Exposed signals:
  277. * IO0 - WE1_CLK
  278. * IO1 - WE1_CMD
  279. */
  280. gpio7: io-expander@22 {
  281. compatible = "nxp,pca9554";
  282. reg = <0x22>;
  283. gpio-controller;
  284. #gpio-cells = <2>;
  285. };
  286. };
  287. &i2c1 {
  288. eeprom@50 {
  289. compatible = "atmel,24c02";
  290. reg = <0x50>;
  291. read-only;
  292. };
  293. };
  294. &i2c2 {
  295. i2c-mux@70 {
  296. compatible = "nxp,pca9548";
  297. pinctrl-0 = <&pinctrl_i2c_mux_reset>;
  298. pinctrl-names = "default";
  299. #address-cells = <1>;
  300. #size-cells = <0>;
  301. reg = <0x70>;
  302. reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
  303. i2c@0 {
  304. #address-cells = <1>;
  305. #size-cells = <0>;
  306. reg = <0>;
  307. };
  308. sff2_i2c: i2c@1 {
  309. #address-cells = <1>;
  310. #size-cells = <0>;
  311. reg = <1>;
  312. };
  313. sff3_i2c: i2c@2 {
  314. #address-cells = <1>;
  315. #size-cells = <0>;
  316. reg = <2>;
  317. };
  318. i2c@3 {
  319. #address-cells = <1>;
  320. #size-cells = <0>;
  321. reg = <3>;
  322. };
  323. };
  324. };
  325. &uart3 {
  326. pinctrl-names = "default";
  327. pinctrl-0 = <&pinctrl_uart3>;
  328. status = "okay";
  329. };
  330. &gpio0 {
  331. eth0_intrp {
  332. gpio-hog;
  333. gpios = <23 GPIO_ACTIVE_HIGH>;
  334. input;
  335. line-name = "sx1503-irq";
  336. };
  337. };
  338. &gpio3 {
  339. eth0_intrp {
  340. gpio-hog;
  341. gpios = <2 GPIO_ACTIVE_HIGH>;
  342. input;
  343. line-name = "eth0-intrp";
  344. };
  345. };
  346. &fec0 {
  347. mdio {
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. status = "okay";
  351. ethernet-phy@0 {
  352. compatible = "ethernet-phy-ieee802.3-c22";
  353. pinctrl-names = "default";
  354. pinctrl-0 = <&pinctrl_fec0_phy_int>;
  355. interrupt-parent = <&gpio3>;
  356. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  357. reg = <0>;
  358. };
  359. };
  360. };
  361. &iomuxc {
  362. pinctr_atzb_rf_233: pinctrl-atzb-rf-233 {
  363. fsl,pins = <
  364. VF610_PAD_PTB2__GPIO_24 0x31c2
  365. VF610_PAD_PTE27__GPIO_132 0x33e2
  366. >;
  367. };
  368. pinctrl_sx1503_20: pinctrl-sx1503-20 {
  369. fsl,pins = <
  370. VF610_PAD_PTB1__GPIO_23 0x219d
  371. >;
  372. };
  373. pinctrl_uart3: uart3grp {
  374. fsl,pins = <
  375. VF610_PAD_PTA20__UART3_TX 0x21a2
  376. VF610_PAD_PTA21__UART3_RX 0x21a1
  377. >;
  378. };
  379. pinctrl_mdio_mux: pinctrl-mdio-mux {
  380. fsl,pins = <
  381. VF610_PAD_PTA18__GPIO_8 0x31c2
  382. VF610_PAD_PTA19__GPIO_9 0x31c2
  383. VF610_PAD_PTB3__GPIO_25 0x31c2
  384. >;
  385. };
  386. pinctrl_fec0_phy_int: pinctrl-fec0-phy-int {
  387. fsl,pins = <
  388. VF610_PAD_PTB28__GPIO_98 0x219d
  389. >;
  390. };
  391. };