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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  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 B";
  9. compatible = "zii,vf610dev-b", "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 24 GPIO_ACTIVE_HIGH
  17. &gpio0 25 GPIO_ACTIVE_HIGH>;
  18. mdio-parent-bus = <&mdio1>;
  19. #address-cells = <1>;
  20. #size-cells = <0>;
  21. mdio_mux_1: mdio@1 {
  22. reg = <1>;
  23. #address-cells = <1>;
  24. #size-cells = <0>;
  25. switch0: switch@0 {
  26. compatible = "marvell,mv88e6085";
  27. pinctrl-0 = <&pinctrl_gpio_switch0>;
  28. pinctrl-names = "default";
  29. reg = <0>;
  30. dsa,member = <0 0>;
  31. interrupt-parent = <&gpio0>;
  32. interrupts = <27 IRQ_TYPE_LEVEL_LOW>;
  33. interrupt-controller;
  34. #interrupt-cells = <2>;
  35. eeprom-length = <512>;
  36. ports {
  37. #address-cells = <1>;
  38. #size-cells = <0>;
  39. port@0 {
  40. reg = <0>;
  41. label = "lan0";
  42. phy-handle = <&switch0phy0>;
  43. };
  44. port@1 {
  45. reg = <1>;
  46. label = "lan1";
  47. phy-handle = <&switch0phy1>;
  48. };
  49. port@2 {
  50. reg = <2>;
  51. label = "lan2";
  52. phy-handle = <&switch0phy2>;
  53. };
  54. switch0port5: port@5 {
  55. reg = <5>;
  56. label = "dsa";
  57. phy-mode = "rgmii-txid";
  58. link = <&switch1port6
  59. &switch2port9>;
  60. fixed-link {
  61. speed = <1000>;
  62. full-duplex;
  63. };
  64. };
  65. port@6 {
  66. reg = <6>;
  67. label = "cpu";
  68. ethernet = <&fec1>;
  69. fixed-link {
  70. speed = <100>;
  71. full-duplex;
  72. };
  73. };
  74. };
  75. mdio {
  76. #address-cells = <1>;
  77. #size-cells = <0>;
  78. switch0phy0: switch0phy0@0 {
  79. reg = <0>;
  80. interrupt-parent = <&switch0>;
  81. interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
  82. };
  83. switch0phy1: switch1phy0@1 {
  84. reg = <1>;
  85. interrupt-parent = <&switch0>;
  86. interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
  87. };
  88. switch0phy2: switch1phy0@2 {
  89. reg = <2>;
  90. interrupt-parent = <&switch0>;
  91. interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
  92. };
  93. };
  94. };
  95. };
  96. mdio_mux_2: mdio@2 {
  97. reg = <2>;
  98. #address-cells = <1>;
  99. #size-cells = <0>;
  100. switch1: switch@0 {
  101. compatible = "marvell,mv88e6085";
  102. pinctrl-0 = <&pinctrl_gpio_switch1>;
  103. pinctrl-names = "default";
  104. reg = <0>;
  105. dsa,member = <0 1>;
  106. interrupt-parent = <&gpio0>;
  107. interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
  108. interrupt-controller;
  109. #interrupt-cells = <2>;
  110. eeprom-length = <512>;
  111. ports {
  112. #address-cells = <1>;
  113. #size-cells = <0>;
  114. port@0 {
  115. reg = <0>;
  116. label = "lan3";
  117. phy-handle = <&switch1phy0>;
  118. };
  119. port@1 {
  120. reg = <1>;
  121. label = "lan4";
  122. phy-handle = <&switch1phy1>;
  123. };
  124. port@2 {
  125. reg = <2>;
  126. label = "lan5";
  127. phy-handle = <&switch1phy2>;
  128. };
  129. switch1port5: port@5 {
  130. reg = <5>;
  131. label = "dsa";
  132. link = <&switch2port9>;
  133. phy-mode = "1000base-x";
  134. fixed-link {
  135. speed = <1000>;
  136. full-duplex;
  137. };
  138. };
  139. switch1port6: port@6 {
  140. reg = <6>;
  141. label = "dsa";
  142. phy-mode = "rgmii-txid";
  143. link = <&switch0port5>;
  144. fixed-link {
  145. speed = <1000>;
  146. full-duplex;
  147. };
  148. };
  149. };
  150. mdio {
  151. #address-cells = <1>;
  152. #size-cells = <0>;
  153. switch1phy0: switch1phy0@0 {
  154. reg = <0>;
  155. interrupt-parent = <&switch1>;
  156. interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
  157. };
  158. switch1phy1: switch1phy0@1 {
  159. reg = <1>;
  160. interrupt-parent = <&switch1>;
  161. interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
  162. };
  163. switch1phy2: switch1phy0@2 {
  164. reg = <2>;
  165. interrupt-parent = <&switch1>;
  166. interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
  167. };
  168. };
  169. };
  170. };
  171. mdio_mux_4: mdio@4 {
  172. #address-cells = <1>;
  173. #size-cells = <0>;
  174. reg = <4>;
  175. switch2: switch@0 {
  176. compatible = "marvell,mv88e6085";
  177. reg = <0>;
  178. dsa,member = <0 2>;
  179. ports {
  180. #address-cells = <1>;
  181. #size-cells = <0>;
  182. port@0 {
  183. reg = <0>;
  184. label = "lan6";
  185. phy-handle = <&switch2phy0>;
  186. phy-mode = "sgmii";
  187. };
  188. port@1 {
  189. reg = <1>;
  190. label = "lan7";
  191. phy-handle = <&switch2phy1>;
  192. phy-mode = "sgmii";
  193. };
  194. port@2 {
  195. reg = <2>;
  196. label = "lan8";
  197. phy-handle = <&switch2phy2>;
  198. };
  199. port@3 {
  200. reg = <3>;
  201. label = "optical3";
  202. fixed-link {
  203. speed = <1000>;
  204. full-duplex;
  205. link-gpios = <&gpio6 2
  206. GPIO_ACTIVE_HIGH>;
  207. };
  208. };
  209. port@4 {
  210. reg = <4>;
  211. label = "optical4";
  212. fixed-link {
  213. speed = <1000>;
  214. full-duplex;
  215. link-gpios = <&gpio6 3
  216. GPIO_ACTIVE_HIGH>;
  217. };
  218. };
  219. switch2port9: port@9 {
  220. reg = <9>;
  221. label = "dsa";
  222. phy-mode = "1000base-x";
  223. link = <&switch1port5
  224. &switch0port5>;
  225. fixed-link {
  226. speed = <1000>;
  227. full-duplex;
  228. };
  229. };
  230. };
  231. mdio {
  232. #address-cells = <1>;
  233. #size-cells = <0>;
  234. switch2phy0: phy@0 {
  235. reg = <0>;
  236. };
  237. switch2phy1: phy@1 {
  238. reg = <1>;
  239. };
  240. switch2phy2: phy@2 {
  241. reg = <2>;
  242. };
  243. };
  244. };
  245. };
  246. mdio_mux_8: mdio@8 {
  247. reg = <8>;
  248. #address-cells = <1>;
  249. #size-cells = <0>;
  250. };
  251. };
  252. spi-0 {
  253. compatible = "spi-gpio";
  254. pinctrl-0 = <&pinctrl_gpio_spi0>;
  255. pinctrl-names = "default";
  256. #address-cells = <1>;
  257. #size-cells = <0>;
  258. gpio-sck = <&gpio1 12 GPIO_ACTIVE_HIGH>;
  259. gpio-mosi = <&gpio1 11 GPIO_ACTIVE_HIGH>;
  260. gpio-miso = <&gpio1 10 GPIO_ACTIVE_HIGH>;
  261. cs-gpios = <&gpio1 9 GPIO_ACTIVE_LOW
  262. &gpio1 8 GPIO_ACTIVE_HIGH>;
  263. num-chipselects = <2>;
  264. flash@0 {
  265. compatible = "m25p128", "jedec,spi-nor";
  266. #address-cells = <1>;
  267. #size-cells = <1>;
  268. reg = <0>;
  269. spi-max-frequency = <1000000>;
  270. };
  271. at93c46d@1 {
  272. compatible = "atmel,at93c46d";
  273. pinctrl-0 = <&pinctrl_gpio_e6185_eeprom_sel>;
  274. pinctrl-names = "default";
  275. reg = <1>;
  276. spi-max-frequency = <500000>;
  277. spi-cs-high;
  278. data-size = <16>;
  279. select-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
  280. };
  281. };
  282. };
  283. &i2c0 {
  284. gpio5: io-expander@20 {
  285. compatible = "nxp,pca9554";
  286. reg = <0x20>;
  287. gpio-controller;
  288. #gpio-cells = <2>;
  289. };
  290. gpio6: io-expander@22 {
  291. compatible = "nxp,pca9554";
  292. pinctrl-names = "default";
  293. pinctrl-0 = <&pinctrl_pca9554_22>;
  294. reg = <0x22>;
  295. gpio-controller;
  296. #gpio-cells = <2>;
  297. interrupt-controller;
  298. interrupt-parent = <&gpio3>;
  299. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  300. };
  301. };
  302. &i2c2 {
  303. i2c-mux@70 {
  304. compatible = "nxp,pca9548";
  305. pinctrl-0 = <&pinctrl_i2c_mux_reset>;
  306. pinctrl-names = "default";
  307. #address-cells = <1>;
  308. #size-cells = <0>;
  309. reg = <0x70>;
  310. reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>;
  311. i2c@0 {
  312. #address-cells = <1>;
  313. #size-cells = <0>;
  314. reg = <0>;
  315. sfp1: eeprom@50 {
  316. compatible = "atmel,24c02";
  317. reg = <0x50>;
  318. };
  319. };
  320. i2c@1 {
  321. #address-cells = <1>;
  322. #size-cells = <0>;
  323. reg = <1>;
  324. sfp2: eeprom@50 {
  325. compatible = "atmel,24c02";
  326. reg = <0x50>;
  327. };
  328. };
  329. i2c@2 {
  330. #address-cells = <1>;
  331. #size-cells = <0>;
  332. reg = <2>;
  333. sfp3: eeprom@50 {
  334. compatible = "atmel,24c02";
  335. reg = <0x50>;
  336. };
  337. };
  338. i2c@3 {
  339. #address-cells = <1>;
  340. #size-cells = <0>;
  341. reg = <3>;
  342. sfp4: eeprom@50 {
  343. compatible = "atmel,24c02";
  344. reg = <0x50>;
  345. };
  346. };
  347. i2c@4 {
  348. #address-cells = <1>;
  349. #size-cells = <0>;
  350. reg = <4>;
  351. };
  352. };
  353. };
  354. &mdio1 {
  355. clock-frequency = <5000000>;
  356. };
  357. &iomuxc {
  358. pinctrl_gpio_e6185_eeprom_sel: pinctrl-gpio-e6185-eeprom-spi0 {
  359. fsl,pins = <
  360. VF610_PAD_PTE27__GPIO_132 0x33e2
  361. >;
  362. };
  363. pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
  364. fsl,pins = <
  365. VF610_PAD_PTB22__GPIO_44 0x33e2
  366. VF610_PAD_PTB21__GPIO_43 0x33e2
  367. VF610_PAD_PTB20__GPIO_42 0x33e1
  368. VF610_PAD_PTB19__GPIO_41 0x33e2
  369. VF610_PAD_PTB18__GPIO_40 0x33e2
  370. >;
  371. };
  372. pinctrl_mdio_mux: pinctrl-mdio-mux {
  373. fsl,pins = <
  374. VF610_PAD_PTA18__GPIO_8 0x31c2
  375. VF610_PAD_PTA19__GPIO_9 0x31c2
  376. VF610_PAD_PTB2__GPIO_24 0x31c2
  377. VF610_PAD_PTB3__GPIO_25 0x31c2
  378. >;
  379. };
  380. pinctrl_pca9554_22: pinctrl-pca95540-22 {
  381. fsl,pins = <
  382. VF610_PAD_PTB28__GPIO_98 0x219d
  383. >;
  384. };
  385. };