vf610-zii-cfu1.dts 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. /*
  3. * Copyright (C) 2018 Zodiac Inflight Innovations
  4. */
  5. /dts-v1/;
  6. #include "vf610.dtsi"
  7. / {
  8. model = "ZII VF610 CFU1 Board";
  9. compatible = "zii,vf610cfu1", "zii,vf610dev", "fsl,vf610";
  10. chosen {
  11. stdout-path = &uart0;
  12. };
  13. memory@80000000 {
  14. device_type = "memory";
  15. reg = <0x80000000 0x20000000>;
  16. };
  17. gpio-leds {
  18. compatible = "gpio-leds";
  19. pinctrl-0 = <&pinctrl_leds_debug>;
  20. pinctrl-names = "default";
  21. led-debug {
  22. label = "zii:green:debug1";
  23. gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
  24. linux,default-trigger = "heartbeat";
  25. };
  26. led-fail {
  27. label = "zii:red:fail";
  28. gpios = <&gpio3 12 GPIO_ACTIVE_LOW>;
  29. default-state = "off";
  30. };
  31. led-status {
  32. label = "zii:green:status";
  33. gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
  34. default-state = "off";
  35. };
  36. led-debug-a {
  37. label = "zii:green:debug_a";
  38. gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
  39. default-state = "off";
  40. };
  41. led-debug-b {
  42. label = "zii:green:debug_b";
  43. gpios = <&gpio3 15 GPIO_ACTIVE_HIGH>;
  44. default-state = "off";
  45. };
  46. };
  47. reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
  48. compatible = "regulator-fixed";
  49. regulator-name = "vcc_3v3_mcu";
  50. regulator-min-microvolt = <3300000>;
  51. regulator-max-microvolt = <3300000>;
  52. };
  53. sff: sfp {
  54. compatible = "sff,sff";
  55. pinctrl-0 = <&pinctrl_optical>;
  56. pinctrl-names = "default";
  57. i2c-bus = <&i2c0>;
  58. los-gpio = <&gpio4 4 GPIO_ACTIVE_HIGH>;
  59. tx-disable-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
  60. };
  61. supply-voltage-monitor {
  62. compatible = "iio-hwmon";
  63. io-channels = <&adc0 8>, /* 28VDC_IN */
  64. <&adc0 9>, /* +3.3V */
  65. <&adc1 8>, /* VCC_1V5 */
  66. <&adc1 9>; /* VCC_1V2 */
  67. };
  68. };
  69. &adc0 {
  70. vref-supply = <&reg_vcc_3v3_mcu>;
  71. status = "okay";
  72. };
  73. &adc1 {
  74. vref-supply = <&reg_vcc_3v3_mcu>;
  75. status = "okay";
  76. };
  77. &dspi1 {
  78. bus-num = <1>;
  79. pinctrl-names = "default";
  80. pinctrl-0 = <&pinctrl_dspi1>;
  81. /*
  82. * Some CFU1s come with SPI-NOR chip DNPed, so we leave this
  83. * node disabled by default and rely on bootloader to enable
  84. * it when appropriate.
  85. */
  86. status = "disabled";
  87. flash@0 {
  88. #address-cells = <1>;
  89. #size-cells = <1>;
  90. compatible = "m25p128", "jedec,spi-nor";
  91. reg = <0>;
  92. spi-max-frequency = <50000000>;
  93. partition@0 {
  94. label = "m25p128-0";
  95. reg = <0x0 0x01000000>;
  96. };
  97. };
  98. };
  99. &edma0 {
  100. status = "okay";
  101. };
  102. &edma1 {
  103. status = "okay";
  104. };
  105. &esdhc0 {
  106. pinctrl-names = "default";
  107. pinctrl-0 = <&pinctrl_esdhc0>;
  108. bus-width = <8>;
  109. non-removable;
  110. no-1-8-v;
  111. keep-power-in-suspend;
  112. no-sdio;
  113. no-sd;
  114. status = "okay";
  115. };
  116. &esdhc1 {
  117. pinctrl-names = "default";
  118. pinctrl-0 = <&pinctrl_esdhc1>;
  119. bus-width = <4>;
  120. no-sdio;
  121. status = "okay";
  122. };
  123. &fec1 {
  124. phy-mode = "rmii";
  125. pinctrl-names = "default";
  126. pinctrl-0 = <&pinctrl_fec1>;
  127. status = "okay";
  128. fixed-link {
  129. speed = <100>;
  130. full-duplex;
  131. };
  132. mdio1: mdio {
  133. #address-cells = <1>;
  134. #size-cells = <0>;
  135. clock-frequency = <12500000>;
  136. suppress-preamble;
  137. status = "okay";
  138. switch0: switch0@0 {
  139. compatible = "marvell,mv88e6085";
  140. pinctrl-names = "default";
  141. pinctrl-0 = <&pinctrl_switch>;
  142. reg = <0>;
  143. eeprom-length = <512>;
  144. interrupt-parent = <&gpio3>;
  145. interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
  146. interrupt-controller;
  147. #interrupt-cells = <2>;
  148. ports {
  149. #address-cells = <1>;
  150. #size-cells = <0>;
  151. port@0 {
  152. reg = <0>;
  153. label = "eth_cu_1000_1";
  154. };
  155. port@1 {
  156. reg = <1>;
  157. label = "eth_cu_1000_2";
  158. };
  159. port@2 {
  160. reg = <2>;
  161. label = "eth_cu_1000_3";
  162. };
  163. port@5 {
  164. reg = <5>;
  165. label = "eth_fc_1000_1";
  166. phy-mode = "1000base-x";
  167. managed = "in-band-status";
  168. sfp = <&sff>;
  169. };
  170. port@6 {
  171. reg = <6>;
  172. label = "cpu";
  173. ethernet = <&fec1>;
  174. fixed-link {
  175. speed = <100>;
  176. full-duplex;
  177. };
  178. };
  179. };
  180. };
  181. };
  182. };
  183. &i2c0 {
  184. clock-frequency = <100000>;
  185. pinctrl-names = "default";
  186. pinctrl-0 = <&pinctrl_i2c0>;
  187. status = "okay";
  188. io-expander@22 {
  189. compatible = "nxp,pca9554";
  190. reg = <0x22>;
  191. gpio-controller;
  192. #gpio-cells = <2>;
  193. };
  194. lm75@48 {
  195. compatible = "national,lm75";
  196. reg = <0x48>;
  197. };
  198. eeprom@52 {
  199. compatible = "atmel,24c04";
  200. reg = <0x52>;
  201. label = "nvm";
  202. };
  203. eeprom@54 {
  204. compatible = "atmel,24c04";
  205. reg = <0x54>;
  206. label = "nameplate";
  207. };
  208. };
  209. &i2c1 {
  210. clock-frequency = <100000>;
  211. pinctrl-names = "default";
  212. pinctrl-0 = <&pinctrl_i2c1>;
  213. status = "okay";
  214. watchdog@38 {
  215. compatible = "zii,rave-wdt";
  216. reg = <0x38>;
  217. };
  218. };
  219. &snvsrtc {
  220. status = "disabled";
  221. };
  222. &uart0 {
  223. pinctrl-names = "default";
  224. pinctrl-0 = <&pinctrl_uart0>;
  225. status = "okay";
  226. };
  227. &iomuxc {
  228. pinctrl_dspi1: dspi1grp {
  229. fsl,pins = <
  230. VF610_PAD_PTD5__DSPI1_CS0 0x1182
  231. VF610_PAD_PTC6__DSPI1_SIN 0x1181
  232. VF610_PAD_PTC7__DSPI1_SOUT 0x1182
  233. VF610_PAD_PTC8__DSPI1_SCK 0x1182
  234. >;
  235. };
  236. pinctrl_esdhc0: esdhc0grp {
  237. fsl,pins = <
  238. VF610_PAD_PTC0__ESDHC0_CLK 0x31ef
  239. VF610_PAD_PTC1__ESDHC0_CMD 0x31ef
  240. VF610_PAD_PTC2__ESDHC0_DAT0 0x31ef
  241. VF610_PAD_PTC3__ESDHC0_DAT1 0x31ef
  242. VF610_PAD_PTC4__ESDHC0_DAT2 0x31ef
  243. VF610_PAD_PTC5__ESDHC0_DAT3 0x31ef
  244. VF610_PAD_PTD23__ESDHC0_DAT4 0x31ef
  245. VF610_PAD_PTD22__ESDHC0_DAT5 0x31ef
  246. VF610_PAD_PTD21__ESDHC0_DAT6 0x31ef
  247. VF610_PAD_PTD20__ESDHC0_DAT7 0x31ef
  248. >;
  249. };
  250. pinctrl_esdhc1: esdhc1grp {
  251. fsl,pins = <
  252. VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
  253. VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
  254. VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
  255. VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
  256. VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
  257. VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
  258. >;
  259. };
  260. pinctrl_fec1: fec1grp {
  261. fsl,pins = <
  262. VF610_PAD_PTA6__RMII_CLKIN 0x30d1
  263. VF610_PAD_PTC9__ENET_RMII1_MDC 0x30fe
  264. VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
  265. VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
  266. VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1
  267. VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
  268. VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
  269. VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
  270. VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
  271. VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
  272. >;
  273. };
  274. pinctrl_i2c0: i2c0grp {
  275. fsl,pins = <
  276. VF610_PAD_PTB14__I2C0_SCL 0x37ff
  277. VF610_PAD_PTB15__I2C0_SDA 0x37ff
  278. >;
  279. };
  280. pinctrl_i2c1: i2c1grp {
  281. fsl,pins = <
  282. VF610_PAD_PTB16__I2C1_SCL 0x37ff
  283. VF610_PAD_PTB17__I2C1_SDA 0x37ff
  284. >;
  285. };
  286. pinctrl_leds_debug: pinctrl-leds-debug {
  287. fsl,pins = <
  288. VF610_PAD_PTD3__GPIO_82 0x31c2
  289. VF610_PAD_PTE3__GPIO_108 0x31c2
  290. VF610_PAD_PTE4__GPIO_109 0x31c2
  291. VF610_PAD_PTE5__GPIO_110 0x31c2
  292. VF610_PAD_PTE6__GPIO_111 0x31c2
  293. >;
  294. };
  295. pinctrl_optical: optical-grp {
  296. fsl,pins = <
  297. /* SFF SD input */
  298. VF610_PAD_PTE27__GPIO_132 0x3061
  299. /* SFF Transmit disable output */
  300. VF610_PAD_PTE13__GPIO_118 0x3043
  301. >;
  302. };
  303. pinctrl_switch: switch-grp {
  304. fsl,pins = <
  305. VF610_PAD_PTB28__GPIO_98 0x3061
  306. >;
  307. };
  308. pinctrl_uart0: uart0grp {
  309. fsl,pins = <
  310. VF610_PAD_PTB10__UART0_TX 0x21a2
  311. VF610_PAD_PTB11__UART0_RX 0x21a1
  312. >;
  313. };
  314. };