vf610-zii-dev.dtsi 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450
  1. /*
  2. * Copyright (C) 2015, 2016 Zodiac Inflight Innovations
  3. *
  4. * Based on an original 'vf610-twr.dts' which is Copyright 2015,
  5. * Freescale Semiconductor, Inc.
  6. *
  7. * This file is dual-licensed: you can use it either under the terms
  8. * of the GPL 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 file is free software; you can redistribute it and/or
  13. * modify it under the terms of the GNU General Public License
  14. * version 2 as published by the Free Software Foundation.
  15. *
  16. * This file is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * Or, alternatively,
  22. *
  23. * b) Permission is hereby granted, free of charge, to any person
  24. * obtaining a copy of this software and associated documentation
  25. * files (the "Software"), to deal in the Software without
  26. * restriction, including without limitation the rights to use,
  27. * copy, modify, merge, publish, distribute, sublicense, and/or
  28. * sell copies of the Software, and to permit persons to whom the
  29. * Software is furnished to do so, subject to the following
  30. * conditions:
  31. *
  32. * The above copyright notice and this permission notice shall be
  33. * included in all copies or substantial portions of the Software.
  34. *
  35. * THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND,
  36. * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  37. * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  38. * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  39. * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  40. * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  41. * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  42. * OTHER DEALINGS IN THE SOFTWARE.
  43. */
  44. #include "vf610.dtsi"
  45. / {
  46. chosen {
  47. stdout-path = "serial0:115200n8";
  48. };
  49. memory@80000000 {
  50. device_type = "memory";
  51. reg = <0x80000000 0x20000000>;
  52. };
  53. gpio-leds {
  54. compatible = "gpio-leds";
  55. pinctrl-0 = <&pinctrl_leds_debug>;
  56. pinctrl-names = "default";
  57. debug {
  58. label = "zii:green:debug1";
  59. gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;
  60. linux,default-trigger = "heartbeat";
  61. };
  62. };
  63. reg_vcc_3v3_mcu: regulator-vcc-3v3-mcu {
  64. compatible = "regulator-fixed";
  65. regulator-name = "vcc_3v3_mcu";
  66. regulator-min-microvolt = <3300000>;
  67. regulator-max-microvolt = <3300000>;
  68. };
  69. usb0_vbus: regulator-usb0-vbus {
  70. compatible = "regulator-fixed";
  71. pinctrl-0 = <&pinctrl_usb_vbus>;
  72. regulator-name = "usb_vbus";
  73. regulator-min-microvolt = <5000000>;
  74. regulator-max-microvolt = <5000000>;
  75. enable-active-high;
  76. regulator-always-on;
  77. regulator-boot-on;
  78. gpio = <&gpio0 6 0>;
  79. };
  80. supply-voltage-monitor {
  81. compatible = "iio-hwmon";
  82. io-channels = <&adc0 8>, /* VCC_1V5 */
  83. <&adc0 9>, /* VCC_1V8 */
  84. <&adc1 8>, /* VCC_1V0 */
  85. <&adc1 9>; /* VCC_1V2 */
  86. };
  87. };
  88. &adc0 {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&pinctrl_adc0_ad5>;
  91. vref-supply = <&reg_vcc_3v3_mcu>;
  92. status = "okay";
  93. };
  94. &edma0 {
  95. status = "okay";
  96. };
  97. &edma1 {
  98. status = "okay";
  99. };
  100. &esdhc1 {
  101. pinctrl-names = "default";
  102. pinctrl-0 = <&pinctrl_esdhc1>;
  103. bus-width = <4>;
  104. status = "okay";
  105. };
  106. &fec0 {
  107. phy-mode = "rmii";
  108. pinctrl-names = "default";
  109. pinctrl-0 = <&pinctrl_fec0>;
  110. status = "okay";
  111. };
  112. &fec1 {
  113. phy-mode = "rmii";
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&pinctrl_fec1>;
  116. status = "okay";
  117. fixed-link {
  118. speed = <100>;
  119. full-duplex;
  120. };
  121. mdio1: mdio {
  122. #address-cells = <1>;
  123. #size-cells = <0>;
  124. clock-frequency = <12500000>;
  125. suppress-preamble;
  126. status = "okay";
  127. };
  128. };
  129. &i2c0 {
  130. clock-frequency = <100000>;
  131. pinctrl-names = "default", "gpio";
  132. pinctrl-0 = <&pinctrl_i2c0>;
  133. pinctrl-1 = <&pinctrl_i2c0_gpio>;
  134. scl-gpios = <&gpio1 4 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
  135. sda-gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
  136. status = "okay";
  137. lm75@48 {
  138. compatible = "national,lm75";
  139. reg = <0x48>;
  140. };
  141. eeprom@50 {
  142. compatible = "atmel,24c04";
  143. reg = <0x50>;
  144. };
  145. eeprom@52 {
  146. compatible = "atmel,24c04";
  147. reg = <0x52>;
  148. };
  149. ds1682@6b {
  150. compatible = "dallas,ds1682";
  151. reg = <0x6b>;
  152. };
  153. };
  154. &i2c1 {
  155. clock-frequency = <100000>;
  156. pinctrl-names = "default";
  157. pinctrl-0 = <&pinctrl_i2c1>;
  158. status = "okay";
  159. };
  160. &i2c2 {
  161. clock-frequency = <100000>;
  162. pinctrl-names = "default";
  163. pinctrl-0 = <&pinctrl_i2c2>;
  164. status = "okay";
  165. };
  166. &qspi0 {
  167. pinctrl-names = "default";
  168. pinctrl-0 = <&pinctrl_qspi0>;
  169. status = "okay";
  170. /*
  171. * Attached MT25QL02 can go up to 90Mhz in DTR and 166 in STR
  172. * modes, so, spi-max-frequency is limited to 90MHz
  173. */
  174. flash@0 {
  175. compatible = "jedec,spi-nor";
  176. #address-cells = <1>;
  177. #size-cells = <1>;
  178. spi-max-frequency = <90000000>;
  179. spi-rx-bus-width = <4>;
  180. reg = <0>;
  181. m25p,fast-read;
  182. };
  183. flash@2 {
  184. compatible = "jedec,spi-nor";
  185. #address-cells = <1>;
  186. #size-cells = <1>;
  187. spi-max-frequency = <90000000>;
  188. spi-rx-bus-width = <4>;
  189. reg = <2>;
  190. m25p,fast-read;
  191. };
  192. };
  193. &uart0 {
  194. pinctrl-names = "default";
  195. pinctrl-0 = <&pinctrl_uart0>;
  196. status = "okay";
  197. };
  198. &uart1 {
  199. pinctrl-names = "default";
  200. pinctrl-0 = <&pinctrl_uart1>;
  201. status = "okay";
  202. };
  203. &uart2 {
  204. pinctrl-names = "default";
  205. pinctrl-0 = <&pinctrl_uart2>;
  206. status = "okay";
  207. };
  208. &usbdev0 {
  209. disable-over-current;
  210. vbus-supply = <&usb0_vbus>;
  211. dr_mode = "host";
  212. status = "okay";
  213. };
  214. &usbh1 {
  215. disable-over-current;
  216. status = "okay";
  217. };
  218. &usbmisc0 {
  219. status = "okay";
  220. };
  221. &usbmisc1 {
  222. status = "okay";
  223. };
  224. &usbphy0 {
  225. status = "okay";
  226. };
  227. &usbphy1 {
  228. status = "okay";
  229. };
  230. &tempsensor {
  231. io-channels = <&adc0 16>;
  232. };
  233. &iomuxc {
  234. pinctrl_adc0_ad5: adc0ad5grp {
  235. fsl,pins = <
  236. VF610_PAD_PTC30__ADC0_SE5 0x00a1
  237. >;
  238. };
  239. pinctrl_dspi0: dspi0grp {
  240. fsl,pins = <
  241. VF610_PAD_PTB18__DSPI0_CS1 0x1182
  242. VF610_PAD_PTB19__DSPI0_CS0 0x1182
  243. VF610_PAD_PTB20__DSPI0_SIN 0x1181
  244. VF610_PAD_PTB21__DSPI0_SOUT 0x1182
  245. VF610_PAD_PTB22__DSPI0_SCK 0x1182
  246. >;
  247. };
  248. pinctrl_dspi2: dspi2grp {
  249. fsl,pins = <
  250. VF610_PAD_PTD31__DSPI2_CS1 0x1182
  251. VF610_PAD_PTD30__DSPI2_CS0 0x1182
  252. VF610_PAD_PTD29__DSPI2_SIN 0x1181
  253. VF610_PAD_PTD28__DSPI2_SOUT 0x1182
  254. VF610_PAD_PTD27__DSPI2_SCK 0x1182
  255. >;
  256. };
  257. pinctrl_esdhc1: esdhc1grp {
  258. fsl,pins = <
  259. VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
  260. VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
  261. VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
  262. VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
  263. VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
  264. VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
  265. VF610_PAD_PTA7__GPIO_134 0x219d
  266. >;
  267. };
  268. pinctrl_fec0: fec0grp {
  269. fsl,pins = <
  270. VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d2
  271. VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d3
  272. VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1
  273. VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1
  274. VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1
  275. VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1
  276. VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2
  277. VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2
  278. VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2
  279. >;
  280. };
  281. pinctrl_fec1: fec1grp {
  282. fsl,pins = <
  283. VF610_PAD_PTA6__RMII_CLKIN 0x30d1
  284. VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
  285. VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
  286. VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
  287. VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1
  288. VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
  289. VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
  290. VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
  291. VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
  292. VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
  293. >;
  294. };
  295. pinctrl_gpio_spi0: pinctrl-gpio-spi0 {
  296. fsl,pins = <
  297. VF610_PAD_PTB22__GPIO_44 0x33e2
  298. VF610_PAD_PTB21__GPIO_43 0x33e2
  299. VF610_PAD_PTB20__GPIO_42 0x33e1
  300. VF610_PAD_PTB19__GPIO_41 0x33e2
  301. VF610_PAD_PTB18__GPIO_40 0x33e2
  302. >;
  303. };
  304. pinctrl_gpio_switch0: pinctrl-gpio-switch0 {
  305. fsl,pins = <
  306. VF610_PAD_PTB5__GPIO_27 0x219d
  307. >;
  308. };
  309. pinctrl_gpio_switch1: pinctrl-gpio-switch1 {
  310. fsl,pins = <
  311. VF610_PAD_PTB4__GPIO_26 0x219d
  312. >;
  313. };
  314. pinctrl_i2c_mux_reset: pinctrl-i2c-mux-reset {
  315. fsl,pins = <
  316. VF610_PAD_PTE14__GPIO_119 0x31c2
  317. >;
  318. };
  319. pinctrl_i2c0: i2c0grp {
  320. fsl,pins = <
  321. VF610_PAD_PTB14__I2C0_SCL 0x37ff
  322. VF610_PAD_PTB15__I2C0_SDA 0x37ff
  323. >;
  324. };
  325. pinctrl_i2c0_gpio: i2c0grp-gpio {
  326. fsl,pins = <
  327. VF610_PAD_PTB14__GPIO_36 0x31c2
  328. VF610_PAD_PTB15__GPIO_37 0x31c2
  329. >;
  330. };
  331. pinctrl_i2c1: i2c1grp {
  332. fsl,pins = <
  333. VF610_PAD_PTB16__I2C1_SCL 0x37ff
  334. VF610_PAD_PTB17__I2C1_SDA 0x37ff
  335. >;
  336. };
  337. pinctrl_i2c2: i2c2grp {
  338. fsl,pins = <
  339. VF610_PAD_PTA22__I2C2_SCL 0x37ff
  340. VF610_PAD_PTA23__I2C2_SDA 0x37ff
  341. >;
  342. };
  343. pinctrl_leds_debug: pinctrl-leds-debug {
  344. fsl,pins = <
  345. VF610_PAD_PTD20__GPIO_74 0x31c2
  346. >;
  347. };
  348. pinctrl_qspi0: qspi0grp {
  349. fsl,pins = <
  350. VF610_PAD_PTD0__QSPI0_A_QSCK 0x38c2
  351. VF610_PAD_PTD1__QSPI0_A_CS0 0x38c2
  352. VF610_PAD_PTD2__QSPI0_A_DATA3 0x38c3
  353. VF610_PAD_PTD3__QSPI0_A_DATA2 0x38c3
  354. VF610_PAD_PTD4__QSPI0_A_DATA1 0x38c3
  355. VF610_PAD_PTD5__QSPI0_A_DATA0 0x38c3
  356. VF610_PAD_PTD7__QSPI0_B_QSCK 0x38c2
  357. VF610_PAD_PTD8__QSPI0_B_CS0 0x38c2
  358. VF610_PAD_PTD9__QSPI0_B_DATA3 0x38c3
  359. VF610_PAD_PTD10__QSPI0_B_DATA2 0x38c3
  360. VF610_PAD_PTD11__QSPI0_B_DATA1 0x38c3
  361. VF610_PAD_PTD12__QSPI0_B_DATA0 0x38c3
  362. >;
  363. };
  364. pinctrl_uart0: uart0grp {
  365. fsl,pins = <
  366. VF610_PAD_PTB10__UART0_TX 0x21a2
  367. VF610_PAD_PTB11__UART0_RX 0x21a1
  368. >;
  369. };
  370. pinctrl_uart1: uart1grp {
  371. fsl,pins = <
  372. VF610_PAD_PTB23__UART1_TX 0x21a2
  373. VF610_PAD_PTB24__UART1_RX 0x21a1
  374. >;
  375. };
  376. pinctrl_uart2: uart2grp {
  377. fsl,pins = <
  378. VF610_PAD_PTD23__UART2_TX 0x21a2
  379. VF610_PAD_PTD22__UART2_RX 0x21a1
  380. >;
  381. };
  382. pinctrl_usb_vbus: pinctrl-usb-vbus {
  383. fsl,pins = <
  384. VF610_PAD_PTA16__GPIO_6 0x31c2
  385. >;
  386. };
  387. pinctrl_usb0_host: usb0-host-grp {
  388. fsl,pins = <
  389. VF610_PAD_PTD6__GPIO_85 0x0062
  390. >;
  391. };
  392. };