vf610-twr.dts 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. // SPDX-License-Identifier: (GPL-2.0 OR MIT)
  2. //
  3. // Copyright 2013 Freescale Semiconductor, Inc.
  4. /dts-v1/;
  5. #include "vf610.dtsi"
  6. / {
  7. model = "VF610 Tower Board";
  8. compatible = "fsl,vf610-twr", "fsl,vf610";
  9. chosen {
  10. bootargs = "console=ttyLP1,115200";
  11. };
  12. memory@80000000 {
  13. device_type = "memory";
  14. reg = <0x80000000 0x8000000>;
  15. };
  16. audio_ext: mclk_osc {
  17. compatible = "fixed-clock";
  18. #clock-cells = <0>;
  19. clock-frequency = <24576000>;
  20. };
  21. enet_ext: eth_osc {
  22. compatible = "fixed-clock";
  23. #clock-cells = <0>;
  24. clock-frequency = <50000000>;
  25. };
  26. regulators {
  27. compatible = "simple-bus";
  28. #address-cells = <1>;
  29. #size-cells = <0>;
  30. reg_3p3v: regulator@0 {
  31. compatible = "regulator-fixed";
  32. reg = <0>;
  33. regulator-name = "3P3V";
  34. regulator-min-microvolt = <3300000>;
  35. regulator-max-microvolt = <3300000>;
  36. regulator-always-on;
  37. };
  38. reg_vcc_3v3_mcu: regulator@1 {
  39. compatible = "regulator-fixed";
  40. reg = <1>;
  41. regulator-name = "vcc_3v3_mcu";
  42. regulator-min-microvolt = <3300000>;
  43. regulator-max-microvolt = <3300000>;
  44. };
  45. };
  46. sound {
  47. compatible = "simple-audio-card";
  48. simple-audio-card,format = "i2s";
  49. simple-audio-card,widgets =
  50. "Microphone", "Microphone Jack",
  51. "Headphone", "Headphone Jack",
  52. "Speaker", "Speaker Ext",
  53. "Line", "Line In Jack";
  54. simple-audio-card,routing =
  55. "MIC_IN", "Microphone Jack",
  56. "Microphone Jack", "Mic Bias",
  57. "LINE_IN", "Line In Jack",
  58. "Headphone Jack", "HP_OUT",
  59. "Speaker Ext", "LINE_OUT";
  60. simple-audio-card,cpu {
  61. sound-dai = <&sai2>;
  62. frame-master;
  63. bitclock-master;
  64. };
  65. simple-audio-card,codec {
  66. sound-dai = <&codec>;
  67. frame-master;
  68. bitclock-master;
  69. };
  70. };
  71. };
  72. &adc0 {
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&pinctrl_adc0_ad5>;
  75. vref-supply = <&reg_vcc_3v3_mcu>;
  76. status = "okay";
  77. };
  78. &clks {
  79. clocks = <&sxosc>, <&fxosc>, <&enet_ext>, <&audio_ext>;
  80. clock-names = "sxosc", "fxosc", "enet_ext", "audio_ext";
  81. assigned-clocks = <&clks VF610_CLK_ENET_SEL>,
  82. <&clks VF610_CLK_ENET_TS_SEL>;
  83. assigned-clock-parents = <&clks VF610_CLK_ENET_EXT>,
  84. <&clks VF610_CLK_ENET_EXT>;
  85. };
  86. &dspi0 {
  87. bus-num = <0>;
  88. pinctrl-names = "default";
  89. pinctrl-0 = <&pinctrl_dspi0>;
  90. status = "okay";
  91. sflash: at26df081a@0 {
  92. #address-cells = <1>;
  93. #size-cells = <1>;
  94. compatible = "atmel,at26df081a";
  95. spi-max-frequency = <16000000>;
  96. spi-cpol;
  97. spi-cpha;
  98. reg = <0>;
  99. };
  100. };
  101. &edma0 {
  102. status = "okay";
  103. };
  104. &esdhc1 {
  105. pinctrl-names = "default";
  106. pinctrl-0 = <&pinctrl_esdhc1>;
  107. bus-width = <4>;
  108. cd-gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;
  109. status = "okay";
  110. };
  111. &fec0 {
  112. phy-mode = "rmii";
  113. phy-handle = <&ethphy0>;
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&pinctrl_fec0>;
  116. status = "okay";
  117. mdio {
  118. #address-cells = <1>;
  119. #size-cells = <0>;
  120. ethphy0: ethernet-phy@0 {
  121. reg = <0>;
  122. };
  123. ethphy1: ethernet-phy@1 {
  124. reg = <1>;
  125. };
  126. };
  127. };
  128. &fec1 {
  129. phy-mode = "rmii";
  130. phy-handle = <&ethphy1>;
  131. pinctrl-names = "default";
  132. pinctrl-0 = <&pinctrl_fec1>;
  133. status = "okay";
  134. };
  135. &i2c0 {
  136. clock-frequency = <100000>;
  137. pinctrl-names = "default";
  138. pinctrl-0 = <&pinctrl_i2c0>;
  139. status = "okay";
  140. codec: sgtl5000@a {
  141. #sound-dai-cells = <0>;
  142. compatible = "fsl,sgtl5000";
  143. reg = <0x0a>;
  144. VDDA-supply = <&reg_3p3v>;
  145. VDDIO-supply = <&reg_3p3v>;
  146. clocks = <&clks VF610_CLK_SAI2>;
  147. };
  148. };
  149. &iomuxc {
  150. vf610-twr {
  151. pinctrl_adc0_ad5: adc0ad5grp {
  152. fsl,pins = <
  153. VF610_PAD_PTC30__ADC0_SE5 0xa1
  154. >;
  155. };
  156. pinctrl_dspi0: dspi0grp {
  157. fsl,pins = <
  158. VF610_PAD_PTB19__DSPI0_CS0 0x1182
  159. VF610_PAD_PTB20__DSPI0_SIN 0x1181
  160. VF610_PAD_PTB21__DSPI0_SOUT 0x1182
  161. VF610_PAD_PTB22__DSPI0_SCK 0x1182
  162. >;
  163. };
  164. pinctrl_esdhc1: esdhc1grp {
  165. fsl,pins = <
  166. VF610_PAD_PTA24__ESDHC1_CLK 0x31ef
  167. VF610_PAD_PTA25__ESDHC1_CMD 0x31ef
  168. VF610_PAD_PTA26__ESDHC1_DAT0 0x31ef
  169. VF610_PAD_PTA27__ESDHC1_DAT1 0x31ef
  170. VF610_PAD_PTA28__ESDHC1_DATA2 0x31ef
  171. VF610_PAD_PTA29__ESDHC1_DAT3 0x31ef
  172. VF610_PAD_PTA7__GPIO_134 0x219d
  173. >;
  174. };
  175. pinctrl_fec0: fec0grp {
  176. fsl,pins = <
  177. VF610_PAD_PTA6__RMII_CLKIN 0x30d1
  178. VF610_PAD_PTC0__ENET_RMII0_MDC 0x30d3
  179. VF610_PAD_PTC1__ENET_RMII0_MDIO 0x30d1
  180. VF610_PAD_PTC2__ENET_RMII0_CRS 0x30d1
  181. VF610_PAD_PTC3__ENET_RMII0_RXD1 0x30d1
  182. VF610_PAD_PTC4__ENET_RMII0_RXD0 0x30d1
  183. VF610_PAD_PTC5__ENET_RMII0_RXER 0x30d1
  184. VF610_PAD_PTC6__ENET_RMII0_TXD1 0x30d2
  185. VF610_PAD_PTC7__ENET_RMII0_TXD0 0x30d2
  186. VF610_PAD_PTC8__ENET_RMII0_TXEN 0x30d2
  187. >;
  188. };
  189. pinctrl_fec1: fec1grp {
  190. fsl,pins = <
  191. VF610_PAD_PTC9__ENET_RMII1_MDC 0x30d2
  192. VF610_PAD_PTC10__ENET_RMII1_MDIO 0x30d3
  193. VF610_PAD_PTC11__ENET_RMII1_CRS 0x30d1
  194. VF610_PAD_PTC12__ENET_RMII1_RXD1 0x30d1
  195. VF610_PAD_PTC13__ENET_RMII1_RXD0 0x30d1
  196. VF610_PAD_PTC14__ENET_RMII1_RXER 0x30d1
  197. VF610_PAD_PTC15__ENET_RMII1_TXD1 0x30d2
  198. VF610_PAD_PTC16__ENET_RMII1_TXD0 0x30d2
  199. VF610_PAD_PTC17__ENET_RMII1_TXEN 0x30d2
  200. >;
  201. };
  202. pinctrl_i2c0: i2c0grp {
  203. fsl,pins = <
  204. VF610_PAD_PTB14__I2C0_SCL 0x30d3
  205. VF610_PAD_PTB15__I2C0_SDA 0x30d3
  206. >;
  207. };
  208. pinctrl_nfc: nfcgrp {
  209. fsl,pins = <
  210. VF610_PAD_PTD31__NF_IO15 0x28df
  211. VF610_PAD_PTD30__NF_IO14 0x28df
  212. VF610_PAD_PTD29__NF_IO13 0x28df
  213. VF610_PAD_PTD28__NF_IO12 0x28df
  214. VF610_PAD_PTD27__NF_IO11 0x28df
  215. VF610_PAD_PTD26__NF_IO10 0x28df
  216. VF610_PAD_PTD25__NF_IO9 0x28df
  217. VF610_PAD_PTD24__NF_IO8 0x28df
  218. VF610_PAD_PTD23__NF_IO7 0x28df
  219. VF610_PAD_PTD22__NF_IO6 0x28df
  220. VF610_PAD_PTD21__NF_IO5 0x28df
  221. VF610_PAD_PTD20__NF_IO4 0x28df
  222. VF610_PAD_PTD19__NF_IO3 0x28df
  223. VF610_PAD_PTD18__NF_IO2 0x28df
  224. VF610_PAD_PTD17__NF_IO1 0x28df
  225. VF610_PAD_PTD16__NF_IO0 0x28df
  226. VF610_PAD_PTB24__NF_WE_B 0x28c2
  227. VF610_PAD_PTB25__NF_CE0_B 0x28c2
  228. VF610_PAD_PTB27__NF_RE_B 0x28c2
  229. VF610_PAD_PTC26__NF_RB_B 0x283d
  230. VF610_PAD_PTC27__NF_ALE 0x28c2
  231. VF610_PAD_PTC28__NF_CLE 0x28c2
  232. >;
  233. };
  234. pinctrl_pwm0: pwm0grp {
  235. fsl,pins = <
  236. VF610_PAD_PTB0__FTM0_CH0 0x1582
  237. VF610_PAD_PTB1__FTM0_CH1 0x1582
  238. VF610_PAD_PTB2__FTM0_CH2 0x1582
  239. VF610_PAD_PTB3__FTM0_CH3 0x1582
  240. >;
  241. };
  242. pinctrl_sai2: sai2grp {
  243. fsl,pins = <
  244. VF610_PAD_PTA16__SAI2_TX_BCLK 0x02ed
  245. VF610_PAD_PTA18__SAI2_TX_DATA 0x02ee
  246. VF610_PAD_PTA19__SAI2_TX_SYNC 0x02ed
  247. VF610_PAD_PTA21__SAI2_RX_BCLK 0x02ed
  248. VF610_PAD_PTA22__SAI2_RX_DATA 0x02ed
  249. VF610_PAD_PTA23__SAI2_RX_SYNC 0x02ed
  250. VF610_PAD_PTB18__EXT_AUDIO_MCLK 0x02ed
  251. >;
  252. };
  253. pinctrl_uart1: uart1grp {
  254. fsl,pins = <
  255. VF610_PAD_PTB4__UART1_TX 0x21a2
  256. VF610_PAD_PTB5__UART1_RX 0x21a1
  257. >;
  258. };
  259. pinctrl_uart2: uart2grp {
  260. fsl,pins = <
  261. VF610_PAD_PTB6__UART2_TX 0x21a2
  262. VF610_PAD_PTB7__UART2_RX 0x21a1
  263. >;
  264. };
  265. };
  266. };
  267. &nfc {
  268. assigned-clocks = <&clks VF610_CLK_NFC>;
  269. assigned-clock-rates = <33000000>;
  270. pinctrl-names = "default";
  271. pinctrl-0 = <&pinctrl_nfc>;
  272. status = "okay";
  273. nand@0 {
  274. compatible = "fsl,vf610-nfc-nandcs";
  275. reg = <0>;
  276. #address-cells = <1>;
  277. #size-cells = <1>;
  278. nand-bus-width = <16>;
  279. nand-ecc-mode = "hw";
  280. nand-ecc-strength = <24>;
  281. nand-ecc-step-size = <2048>;
  282. nand-on-flash-bbt;
  283. };
  284. };
  285. &pwm0 {
  286. pinctrl-names = "default";
  287. pinctrl-0 = <&pinctrl_pwm0>;
  288. status = "okay";
  289. };
  290. &sai2 {
  291. #sound-dai-cells = <0>;
  292. pinctrl-names = "default";
  293. pinctrl-0 = <&pinctrl_sai2>;
  294. status = "okay";
  295. };
  296. &uart1 {
  297. pinctrl-names = "default";
  298. pinctrl-0 = <&pinctrl_uart1>;
  299. status = "okay";
  300. };
  301. &uart2 {
  302. pinctrl-names = "default";
  303. pinctrl-0 = <&pinctrl_uart2>;
  304. status = "okay";
  305. };
  306. &usbdev0 {
  307. disable-over-current;
  308. status = "okay";
  309. };
  310. &usbh1 {
  311. disable-over-current;
  312. status = "okay";
  313. };
  314. &usbmisc0 {
  315. status = "okay";
  316. };
  317. &usbmisc1 {
  318. status = "okay";
  319. };
  320. &usbphy0 {
  321. status = "okay";
  322. };
  323. &usbphy1 {
  324. status = "okay";
  325. };