keystone-k2g-evm.dts 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Device Tree Source for K2G EVM
  4. *
  5. * Copyright (C) 2016-2017 Texas Instruments Incorporated - http://www.ti.com/
  6. */
  7. /dts-v1/;
  8. #include "keystone-k2g.dtsi"
  9. / {
  10. compatible = "ti,k2g-evm", "ti,k2g", "ti,keystone";
  11. model = "Texas Instruments K2G General Purpose EVM";
  12. memory@800000000 {
  13. device_type = "memory";
  14. reg = <0x00000008 0x00000000 0x00000000 0x80000000>;
  15. };
  16. reserved-memory {
  17. #address-cells = <2>;
  18. #size-cells = <2>;
  19. ranges;
  20. dsp_common_memory: dsp-common-memory@81f800000 {
  21. compatible = "shared-dma-pool";
  22. reg = <0x00000008 0x1f800000 0x00000000 0x800000>;
  23. reusable;
  24. status = "okay";
  25. };
  26. };
  27. vcc3v3_dcin_reg: fixedregulator-vcc3v3-dcin {
  28. compatible = "regulator-fixed";
  29. regulator-name = "mmc0_fixed";
  30. regulator-min-microvolt = <3300000>;
  31. regulator-max-microvolt = <3300000>;
  32. regulator-always-on;
  33. };
  34. vcc1v8_ldo1_reg: fixedregulator-vcc1v8-ldo1 {
  35. compatible = "regulator-fixed";
  36. regulator-name = "ldo1";
  37. regulator-min-microvolt = <1800000>;
  38. regulator-max-microvolt = <1800000>;
  39. regulator-always-on;
  40. };
  41. vcc1v8_ldo2_reg: fixedregulator-vcc1v8-ldo2 {
  42. compatible = "regulator-fixed";
  43. regulator-name = "ldo2";
  44. regulator-min-microvolt = <1800000>;
  45. regulator-max-microvolt = <1800000>;
  46. regulator-always-on;
  47. };
  48. hdmi: connector {
  49. compatible = "hdmi-connector";
  50. label = "hdmi";
  51. type = "a";
  52. port {
  53. hdmi_connector_in: endpoint {
  54. remote-endpoint = <&sii9022_out>;
  55. };
  56. };
  57. };
  58. aud_mclk: aud_mclk {
  59. compatible = "fixed-clock";
  60. #clock-cells = <0>;
  61. clock-frequency = <12288000>;
  62. };
  63. sound0: sound@0 {
  64. compatible = "simple-audio-card";
  65. simple-audio-card,name = "K2G-EVM";
  66. simple-audio-card,widgets =
  67. "Headphone", "Headphone Jack",
  68. "Line", "Line In";
  69. simple-audio-card,routing =
  70. "Headphone Jack", "HPLOUT",
  71. "Headphone Jack", "HPROUT",
  72. "LINE1L", "Line In",
  73. "LINE1R", "Line In";
  74. simple-audio-card,dai-link@0 {
  75. format = "i2s";
  76. bitclock-master = <&sound0_0_master>;
  77. frame-master = <&sound0_0_master>;
  78. sound0_0_master: cpu {
  79. sound-dai = <&mcasp2>;
  80. clocks = <&k2g_clks 0x6 1>;
  81. system-clock-direction-out;
  82. };
  83. codec {
  84. sound-dai = <&tlv320aic3106>;
  85. clocks = <&aud_mclk>;
  86. };
  87. };
  88. simple-audio-card,dai-link@1 {
  89. format = "i2s";
  90. bitclock-master = <&sound0_1_master>;
  91. frame-master = <&sound0_1_master>;
  92. sound0_1_master: cpu {
  93. sound-dai = <&mcasp2>;
  94. clocks = <&k2g_clks 0x6 1>;
  95. system-clock-direction-out;
  96. };
  97. codec {
  98. sound-dai = <&sii9022>;
  99. clocks = <&aud_mclk>;
  100. };
  101. };
  102. };
  103. };
  104. &k2g_pinctrl {
  105. uart0_pins: pinmux_uart0_pins {
  106. pinctrl-single,pins = <
  107. K2G_CORE_IOPAD(0x11cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* uart0_rxd.uart0_rxd */
  108. K2G_CORE_IOPAD(0x11d0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
  109. >;
  110. };
  111. mmc0_pins: pinmux_mmc0_pins {
  112. pinctrl-single,pins = <
  113. K2G_CORE_IOPAD(0x1300) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat3.mmc0_dat3 */
  114. K2G_CORE_IOPAD(0x1304) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat2.mmc0_dat2 */
  115. K2G_CORE_IOPAD(0x1308) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat1.mmc0_dat1 */
  116. K2G_CORE_IOPAD(0x130c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_dat0.mmc0_dat0 */
  117. K2G_CORE_IOPAD(0x1310) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_clk.mmc0_clk */
  118. K2G_CORE_IOPAD(0x1314) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE2) /* mmc0_cmd.mmc0_cmd */
  119. K2G_CORE_IOPAD(0x12ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE3) /* mmc0_sdcd.gpio1_12 */
  120. >;
  121. };
  122. mmc1_pins: pinmux_mmc1_pins {
  123. pinctrl-single,pins = <
  124. K2G_CORE_IOPAD(0x10ec) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat7.mmc1_dat7 */
  125. K2G_CORE_IOPAD(0x10f0) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat6.mmc1_dat6 */
  126. K2G_CORE_IOPAD(0x10f4) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat5.mmc1_dat5 */
  127. K2G_CORE_IOPAD(0x10f8) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat4.mmc1_dat4 */
  128. K2G_CORE_IOPAD(0x10fc) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat3.mmc1_dat3 */
  129. K2G_CORE_IOPAD(0x1100) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat2.mmc1_dat2 */
  130. K2G_CORE_IOPAD(0x1104) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat1.mmc1_dat1 */
  131. K2G_CORE_IOPAD(0x1108) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_dat0.mmc1_dat0 */
  132. K2G_CORE_IOPAD(0x110c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_clk.mmc1_clk */
  133. K2G_CORE_IOPAD(0x1110) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* mmc1_cmd.mmc1_cmd */
  134. >;
  135. };
  136. i2c0_pins: pinmux_i2c0_pins {
  137. pinctrl-single,pins = <
  138. K2G_CORE_IOPAD(0x137c) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
  139. K2G_CORE_IOPAD(0x1380) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
  140. >;
  141. };
  142. i2c1_pins: pinmux_i2c1_pins {
  143. pinctrl-single,pins = <
  144. K2G_CORE_IOPAD(0x1384) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* i2c1_scl.i2c1_scl */
  145. K2G_CORE_IOPAD(0x1388) (BUFFER_CLASS_B | PIN_PULLUP | MUX_MODE0) /* i2c1_sda.i2c1_sda */
  146. >;
  147. };
  148. ecap0_pins: ecap0_pins {
  149. pinctrl-single,pins = <
  150. K2G_CORE_IOPAD(0x1374) (BUFFER_CLASS_B | MUX_MODE4) /* pr1_mdio_data.ecap0_in_apwm0_out */
  151. >;
  152. };
  153. spi1_pins: pinmux_spi1_pins {
  154. pinctrl-single,pins = <
  155. K2G_CORE_IOPAD(0x11a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* spi1_scs0.spi1_scs0 */
  156. K2G_CORE_IOPAD(0x11ac) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* spi1_clk.spi1_clk */
  157. K2G_CORE_IOPAD(0x11b0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* spi1_miso.spi1_miso */
  158. K2G_CORE_IOPAD(0x11b4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* spi1_mosi.spi1_mosi */
  159. >;
  160. };
  161. qspi_pins: pinmux_qspi_pins {
  162. pinctrl-single,pins = <
  163. K2G_CORE_IOPAD(0x1204) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_clk.qspi_clk */
  164. K2G_CORE_IOPAD(0x1208) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_rclk.qspi_rclk */
  165. K2G_CORE_IOPAD(0x120c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_d0.qspi_d0 */
  166. K2G_CORE_IOPAD(0x1210) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_d1.qspi_d1 */
  167. K2G_CORE_IOPAD(0x1214) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_d2.qspi_d2 */
  168. K2G_CORE_IOPAD(0x1218) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_d3.qspi_d3 */
  169. K2G_CORE_IOPAD(0x121c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* qspi_csn0.qspi_csn0 */
  170. >;
  171. };
  172. uart2_pins: pinmux_uart2_pins {
  173. pinctrl-single,pins = <
  174. K2G_CORE_IOPAD(0x11ec) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* uart2_rxd.uart2_rxd */
  175. K2G_CORE_IOPAD(0x11f0) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* uart2_txd.uart2_txd */
  176. >;
  177. };
  178. dcan0_pins: pinmux_dcan0_pins {
  179. pinctrl-single,pins = <
  180. K2G_CORE_IOPAD(0x11fc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dcan0tx.dcan0tx */
  181. K2G_CORE_IOPAD(0x1200) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE0) /* dcan0rx.dcan0rx */
  182. >;
  183. };
  184. dcan1_pins: pinmux_dcan1_pins {
  185. pinctrl-single,pins = <
  186. K2G_CORE_IOPAD(0x1224) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE1) /* qspicsn2.dcan1tx */
  187. K2G_CORE_IOPAD(0x1228) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE1) /* qspicsn3.dcan1rx */
  188. >;
  189. };
  190. emac_pins: pinmux_emac_pins {
  191. pinctrl-single,pins = <
  192. K2G_CORE_IOPAD(0x113C) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXD1.RGMII_RXD1 */
  193. K2G_CORE_IOPAD(0x1138) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXD2.RGMII_RXD2 */
  194. K2G_CORE_IOPAD(0x1134) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXD3.RGMII_RXD3 */
  195. K2G_CORE_IOPAD(0x1140) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXD0.RGMII_RXD0 */
  196. K2G_CORE_IOPAD(0x1178) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXD0.RGMII_TXD0 */
  197. K2G_CORE_IOPAD(0x1174) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXD1.RGMII_TXD1 */
  198. K2G_CORE_IOPAD(0x1170) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXD2.RGMII_TXD2 */
  199. K2G_CORE_IOPAD(0x116C) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXD3.RGMII_TXD3 */
  200. K2G_CORE_IOPAD(0x1154) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXCLK.RGMII_TXC */
  201. K2G_CORE_IOPAD(0x117C) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_TXEN.RGMII_TXCTL */
  202. K2G_CORE_IOPAD(0x1120) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXCLK.RGMII_RXC */
  203. K2G_CORE_IOPAD(0x1144) (BUFFER_CLASS_D | PULL_DISABLE | MUX_MODE1) /* MII_RXDV.RGMII_RXCTL */
  204. >;
  205. };
  206. mdio_pins: pinmux_mdio_pins {
  207. pinctrl-single,pins = <
  208. K2G_CORE_IOPAD(0x118C) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* MDIO_CLK.MDIO_CLK */
  209. K2G_CORE_IOPAD(0x1188) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* MDIO_DATA.MDIO_DATA */
  210. >;
  211. };
  212. vout_pins: pinmux_vout_pins {
  213. pinctrl-single,pins = <
  214. K2G_CORE_IOPAD(0x1078) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata23.dssdata23 */
  215. K2G_CORE_IOPAD(0x107c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata22.dssdata22 */
  216. K2G_CORE_IOPAD(0x1080) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata21.dssdata21 */
  217. K2G_CORE_IOPAD(0x1084) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata20.dssdata20 */
  218. K2G_CORE_IOPAD(0x1088) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata19.dssdata19 */
  219. K2G_CORE_IOPAD(0x108c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata18.dssdata18 */
  220. K2G_CORE_IOPAD(0x1090) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata17.dssdata17 */
  221. K2G_CORE_IOPAD(0x1094) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata16.dssdata16 */
  222. K2G_CORE_IOPAD(0x1098) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata15.dssdata15 */
  223. K2G_CORE_IOPAD(0x109c) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata14.dssdata14 */
  224. K2G_CORE_IOPAD(0x10a0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata13.dssdata13 */
  225. K2G_CORE_IOPAD(0x10a4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata12.dssdata12 */
  226. K2G_CORE_IOPAD(0x10a8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata11.dssdata11 */
  227. K2G_CORE_IOPAD(0x10ac) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata10.dssdata10 */
  228. K2G_CORE_IOPAD(0x10b0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata9.dssdata9 */
  229. K2G_CORE_IOPAD(0x10b4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata8.dssdata8 */
  230. K2G_CORE_IOPAD(0x10b8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata7.dssdata7 */
  231. K2G_CORE_IOPAD(0x10bc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata6.dssdata6 */
  232. K2G_CORE_IOPAD(0x10c0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata5.dssdata5 */
  233. K2G_CORE_IOPAD(0x10c4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata4.dssdata4 */
  234. K2G_CORE_IOPAD(0x10c8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata3.dssdata3 */
  235. K2G_CORE_IOPAD(0x10cc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata2.dssdata2 */
  236. K2G_CORE_IOPAD(0x10d0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata1.dssdata1 */
  237. K2G_CORE_IOPAD(0x10d4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssdata0.dssdata0 */
  238. K2G_CORE_IOPAD(0x10d8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssvsync.dssvsync */
  239. K2G_CORE_IOPAD(0x10dc) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dsshsync.dsshsync */
  240. K2G_CORE_IOPAD(0x10e0) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dsspclk.dsspclk */
  241. K2G_CORE_IOPAD(0x10e4) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssde.dssde */
  242. K2G_CORE_IOPAD(0x10e8) (BUFFER_CLASS_B | PULL_DISABLE | MUX_MODE0) /* dssfid.dssfid */
  243. >;
  244. };
  245. mcasp2_pins: pinmux_mcasp2_pins {
  246. pinctrl-single,pins = <
  247. K2G_CORE_IOPAD(0x1234) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo2.mcasp2_axr2 */
  248. K2G_CORE_IOPAD(0x1238) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo3.mcasp2_axr3 */
  249. K2G_CORE_IOPAD(0x1254) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo10.mcasp2_afsx */
  250. K2G_CORE_IOPAD(0x125c) (BUFFER_CLASS_B | PIN_PULLDOWN | MUX_MODE4) /* pr0_pru_gpo12.mcasp2_aclkx */
  251. >;
  252. };
  253. };
  254. &uart0 {
  255. pinctrl-names = "default";
  256. pinctrl-0 = <&uart0_pins>;
  257. status = "okay";
  258. };
  259. &gpio1 {
  260. status = "okay";
  261. };
  262. &mmc0 {
  263. pinctrl-names = "default";
  264. pinctrl-0 = <&mmc0_pins>;
  265. vmmc-supply = <&vcc3v3_dcin_reg>;
  266. vqmmc-supply = <&vcc3v3_dcin_reg>;
  267. cd-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
  268. status = "okay";
  269. };
  270. &mmc1 {
  271. pinctrl-names = "default";
  272. pinctrl-0 = <&mmc1_pins>;
  273. vmmc-supply = <&vcc3v3_dcin_reg>; /* VCC3V3_EMMC is connected to VCC3V3_DCIN */
  274. vqmmc-supply = <&vcc1v8_ldo1_reg>;
  275. ti,non-removable;
  276. status = "okay";
  277. };
  278. &dsp0 {
  279. memory-region = <&dsp_common_memory>;
  280. status = "okay";
  281. };
  282. &i2c0 {
  283. pinctrl-names = "default";
  284. pinctrl-0 = <&i2c0_pins>;
  285. status = "okay";
  286. eeprom@50 {
  287. compatible = "atmel,24c1024";
  288. reg = <0x50>;
  289. };
  290. };
  291. &keystone_usb0 {
  292. status = "okay";
  293. };
  294. &usb0_phy {
  295. status = "okay";
  296. };
  297. &usb0 {
  298. dr_mode = "host";
  299. status = "okay";
  300. };
  301. &keystone_usb1 {
  302. status = "okay";
  303. };
  304. &usb1_phy {
  305. status = "okay";
  306. };
  307. &usb1 {
  308. dr_mode = "peripheral";
  309. status = "okay";
  310. };
  311. &ecap0 {
  312. status = "okay";
  313. pinctrl-names = "default";
  314. pinctrl-0 = <&ecap0_pins>;
  315. };
  316. &spi1 {
  317. pinctrl-names = "default";
  318. pinctrl-0 = <&spi1_pins>;
  319. status = "okay";
  320. spi_nor: flash@0 {
  321. #address-cells = <1>;
  322. #size-cells = <1>;
  323. compatible = "jedec,spi-nor";
  324. spi-max-frequency = <5000000>;
  325. m25p,fast-read;
  326. reg = <0>;
  327. partition@0 {
  328. label = "u-boot-spl";
  329. reg = <0x0 0x100000>;
  330. read-only;
  331. };
  332. partition@1 {
  333. label = "misc";
  334. reg = <0x100000 0xf00000>;
  335. };
  336. };
  337. };
  338. &qspi {
  339. status = "okay";
  340. pinctrl-names = "default";
  341. pinctrl-0 = <&qspi_pins>;
  342. cdns,rclk-en;
  343. flash0: flash@0 {
  344. compatible = "s25fl512s", "jedec,spi-nor";
  345. reg = <0>;
  346. spi-tx-bus-width = <1>;
  347. spi-rx-bus-width = <4>;
  348. spi-max-frequency = <96000000>;
  349. #address-cells = <1>;
  350. #size-cells = <1>;
  351. cdns,read-delay = <5>;
  352. cdns,tshsl-ns = <500>;
  353. cdns,tsd2d-ns = <500>;
  354. cdns,tchsh-ns = <119>;
  355. cdns,tslch-ns = <119>;
  356. partition@0 {
  357. label = "QSPI.u-boot-spl-os";
  358. reg = <0x00000000 0x00100000>;
  359. };
  360. partition@1 {
  361. label = "QSPI.u-boot-env";
  362. reg = <0x00100000 0x00040000>;
  363. };
  364. partition@2 {
  365. label = "QSPI.skern";
  366. reg = <0x00140000 0x0040000>;
  367. };
  368. partition@3 {
  369. label = "QSPI.pmmc-firmware";
  370. reg = <0x00180000 0x0040000>;
  371. };
  372. partition@4 {
  373. label = "QSPI.kernel";
  374. reg = <0x001C0000 0x0800000>;
  375. };
  376. partition@5 {
  377. label = "QSPI.file-system";
  378. reg = <0x009C0000 0x3640000>;
  379. };
  380. };
  381. };
  382. &uart2 {
  383. pinctrl-names = "default";
  384. pinctrl-0 = <&uart2_pins>;
  385. status = "okay";
  386. };
  387. &dcan0 {
  388. pinctrl-names = "default";
  389. pinctrl-0 = <&dcan0_pins>;
  390. status = "okay";
  391. };
  392. &dcan1 {
  393. pinctrl-names = "default";
  394. pinctrl-0 = <&dcan1_pins>;
  395. status = "okay";
  396. };
  397. &qmss {
  398. status = "okay";
  399. };
  400. &knav_dmas {
  401. status = "okay";
  402. };
  403. &mdio {
  404. pinctrl-names = "default";
  405. pinctrl-0 = <&mdio_pins>;
  406. status = "okay";
  407. ethphy0: ethernet-phy@0 {
  408. reg = <0>;
  409. };
  410. };
  411. &gbe0 {
  412. phy-handle = <&ethphy0>;
  413. phy-mode = "rgmii-rxid";
  414. status = "okay";
  415. };
  416. &netcp {
  417. pinctrl-names = "default";
  418. pinctrl-0 = <&emac_pins>;
  419. status = "okay";
  420. };
  421. &i2c1 {
  422. pinctrl-names = "default";
  423. pinctrl-0 = <&i2c1_pins>;
  424. status = "okay";
  425. clock-frequency = <400000>;
  426. sii9022: sii9022@3b {
  427. #sound-dai-cells = <0>;
  428. compatible = "sil,sii9022";
  429. reg = <0x3b>;
  430. sil,i2s-data-lanes = < 0 >;
  431. clocks = <&aud_mclk>;
  432. clock-names = "mclk";
  433. ports {
  434. #address-cells = <1>;
  435. #size-cells = <0>;
  436. port@0 {
  437. reg = <0>;
  438. sii9022_in: endpoint {
  439. remote-endpoint = <&dpi_out>;
  440. };
  441. };
  442. port@1 {
  443. reg = <1>;
  444. sii9022_out: endpoint {
  445. remote-endpoint = <&hdmi_connector_in>;
  446. };
  447. };
  448. };
  449. };
  450. tlv320aic3106: tlv320aic3106@1b {
  451. #sound-dai-cells = <0>;
  452. compatible = "ti,tlv320aic3106";
  453. reg = <0x1b>;
  454. status = "okay";
  455. /* Regulators */
  456. AVDD-supply = <&vcc3v3_dcin_reg>;
  457. IOVDD-supply = <&vcc3v3_dcin_reg>;
  458. DRVDD-supply = <&vcc3v3_dcin_reg>;
  459. DVDD-supply = <&vcc1v8_ldo2_reg>;
  460. };
  461. };
  462. &dss {
  463. pinctrl-names = "default";
  464. pinctrl-0 = <&vout_pins>;
  465. status = "ok";
  466. port {
  467. dpi_out: endpoint {
  468. remote-endpoint = <&sii9022_in>;
  469. data-lines = <24>;
  470. };
  471. };
  472. };
  473. &mcasp2 {
  474. #sound-dai-cells = <0>;
  475. pinctrl-names = "default";
  476. pinctrl-0 = <&mcasp2_pins>;
  477. assigned-clocks = <&k2g_clks 0x4c 2>, <&k2g_clks 0x6 1>;
  478. assigned-clock-parents = <0>, <&k2g_clks 0x6 2>;
  479. assigned-clock-rates = <22579200>, <0>;
  480. status = "okay";
  481. op-mode = <0>; /* MCASP_IIS_MODE */
  482. tdm-slots = <2>;
  483. /* 6 serializer */
  484. serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
  485. 0 0 1 2 0 0 // AXR2: TX, AXR3: rx
  486. >;
  487. tx-num-evt = <32>;
  488. rx-num-evt = <32>;
  489. };