imx6ul-prti6g.dts 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
  2. /*
  3. * Copyright (c) 2016 Protonic Holland
  4. * Copyright (c) 2020 Oleksij Rempel <[email protected]>, Pengutronix
  5. */
  6. /dts-v1/;
  7. #include "imx6ul.dtsi"
  8. #include <dt-bindings/gpio/gpio.h>
  9. / {
  10. model = "Protonic PRTI6G Board";
  11. compatible = "prt,prti6g", "fsl,imx6ul";
  12. chosen {
  13. stdout-path = &uart1;
  14. };
  15. clock_ksz8081_in: clock-ksz8081-in {
  16. compatible = "fixed-clock";
  17. #clock-cells = <0>;
  18. clock-frequency = <25000000>;
  19. };
  20. clock_ksz8081_out: clock-ksz8081-out {
  21. compatible = "fixed-clock";
  22. #clock-cells = <0>;
  23. clock-frequency = <50000000>;
  24. };
  25. leds {
  26. compatible = "gpio-leds";
  27. pinctrl-names = "default";
  28. pinctrl-0 = <&pinctrl_leds>;
  29. led-0 {
  30. label = "debug0";
  31. gpios = <&gpio4 16 GPIO_ACTIVE_HIGH>;
  32. linux,default-trigger = "heartbeat";
  33. };
  34. };
  35. reg_3v2: regulator-3v2 {
  36. compatible = "regulator-fixed";
  37. regulator-name = "3v2";
  38. regulator-min-microvolt = <3200000>;
  39. regulator-max-microvolt = <3200000>;
  40. };
  41. };
  42. &can1 {
  43. pinctrl-names = "default";
  44. pinctrl-0 = <&pinctrl_can1>;
  45. status = "okay";
  46. };
  47. &can2 {
  48. pinctrl-names = "default";
  49. pinctrl-0 = <&pinctrl_can2>;
  50. status = "okay";
  51. };
  52. &ecspi1 {
  53. cs-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>;
  54. pinctrl-names = "default";
  55. pinctrl-0 = <&pinctrl_ecspi1>;
  56. status = "okay";
  57. flash@0 {
  58. compatible = "jedec,spi-nor";
  59. reg = <0>;
  60. spi-max-frequency = <20000000>;
  61. };
  62. };
  63. &ecspi2 {
  64. cs-gpios = <&gpio4 22 GPIO_ACTIVE_LOW>;
  65. pinctrl-names = "default";
  66. pinctrl-0 = <&pinctrl_ecspi2>;
  67. status = "okay";
  68. };
  69. &fec1 {
  70. pinctrl-names = "default";
  71. pinctrl-0 = <&pinctrl_eth1>;
  72. phy-mode = "rmii";
  73. phy-handle = <&rmii_phy>;
  74. clocks = <&clks IMX6UL_CLK_ENET>,
  75. <&clks IMX6UL_CLK_ENET_AHB>,
  76. <&clks IMX6UL_CLK_ENET_PTP>,
  77. <&clock_ksz8081_out>;
  78. clock-names = "ipg", "ahb", "ptp",
  79. "enet_clk_ref";
  80. status = "okay";
  81. mdio {
  82. #address-cells = <1>;
  83. #size-cells = <0>;
  84. /* Microchip KSZ8081RNA PHY */
  85. rmii_phy: ethernet-phy@0 {
  86. reg = <0>;
  87. interrupts-extended = <&gpio5 1 IRQ_TYPE_LEVEL_LOW>;
  88. reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>;
  89. reset-assert-us = <10000>;
  90. reset-deassert-us = <300>;
  91. clocks = <&clock_ksz8081_in>;
  92. clock-names = "rmii-ref";
  93. };
  94. };
  95. };
  96. &i2c1 {
  97. pinctrl-names = "default";
  98. pinctrl-0 = <&pinctrl_i2c1>;
  99. clock-frequency = <100000>;
  100. status = "okay";
  101. /* additional i2c devices are added automatically by the boot loader */
  102. };
  103. &i2c2 {
  104. pinctrl-names = "default";
  105. pinctrl-0 = <&pinctrl_i2c2>;
  106. clock-frequency = <100000>;
  107. status = "okay";
  108. adc@49 {
  109. compatible = "ti,ads1015";
  110. reg = <0x49>;
  111. #address-cells = <1>;
  112. #size-cells = <0>;
  113. channel@4 {
  114. reg = <4>;
  115. ti,gain = <3>;
  116. ti,datarate = <3>;
  117. };
  118. channel@5 {
  119. reg = <5>;
  120. ti,gain = <3>;
  121. ti,datarate = <3>;
  122. };
  123. channel@6 {
  124. reg = <6>;
  125. ti,gain = <3>;
  126. ti,datarate = <3>;
  127. };
  128. channel@7 {
  129. reg = <7>;
  130. ti,gain = <3>;
  131. ti,datarate = <3>;
  132. };
  133. };
  134. rtc@51 {
  135. compatible = "nxp,pcf8563";
  136. reg = <0x51>;
  137. };
  138. temperature-sensor@70 {
  139. compatible = "ti,tmp103";
  140. reg = <0x70>;
  141. };
  142. };
  143. &uart1 {
  144. pinctrl-names = "default";
  145. pinctrl-0 = <&pinctrl_uart1>;
  146. status = "okay";
  147. };
  148. &usbotg1 {
  149. dr_mode = "host";
  150. status = "okay";
  151. };
  152. &usdhc1 {
  153. pinctrl-names = "default";
  154. pinctrl-0 = <&pinctrl_usdhc1>;
  155. cd-gpios = <&gpio4 12 GPIO_ACTIVE_LOW>;
  156. vmmc-supply = <&reg_3v2>;
  157. no-1-8-v;
  158. disable-wp;
  159. cap-sd-highspeed;
  160. no-mmc;
  161. no-sdio;
  162. status = "okay";
  163. };
  164. &usdhc2 {
  165. pinctrl-names = "default";
  166. pinctrl-0 = <&pinctrl_usdhc2>;
  167. bus-width = <8>;
  168. no-1-8-v;
  169. non-removable;
  170. no-sd;
  171. no-sdio;
  172. status = "okay";
  173. };
  174. &iomuxc {
  175. pinctrl-names = "default";
  176. pinctrl-0 = <&pinctrl_hog>;
  177. pinctrl_can1: can1grp {
  178. fsl,pins = <
  179. MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x0b0b0
  180. MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x0b0b0
  181. /* SR */
  182. MX6UL_PAD_SNVS_TAMPER3__GPIO5_IO03 0x0b0b0
  183. /* TERM */
  184. MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x0b0b0
  185. /* nSMBALERT */
  186. MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02 0x0b0b0
  187. >;
  188. };
  189. pinctrl_can2: can2grp {
  190. fsl,pins = <
  191. MX6UL_PAD_UART2_CTS_B__FLEXCAN2_TX 0x0b0b0
  192. MX6UL_PAD_UART2_RTS_B__FLEXCAN2_RX 0x0b0b0
  193. /* SR */
  194. MX6UL_PAD_SNVS_TAMPER5__GPIO5_IO05 0x0b0b0
  195. >;
  196. };
  197. pinctrl_ecspi1: ecspi1grp {
  198. fsl,pins = <
  199. MX6UL_PAD_CSI_DATA04__ECSPI1_SCLK 0x0b0b0
  200. MX6UL_PAD_CSI_DATA05__GPIO4_IO26 0x000b1
  201. MX6UL_PAD_CSI_DATA06__ECSPI1_MOSI 0x0b0b0
  202. MX6UL_PAD_CSI_DATA07__ECSPI1_MISO 0x0b0b0
  203. >;
  204. };
  205. pinctrl_ecspi2: ecspi2grp {
  206. fsl,pins = <
  207. MX6UL_PAD_CSI_DATA00__ECSPI2_SCLK 0x0b0b0
  208. MX6UL_PAD_CSI_DATA01__GPIO4_IO22 0x000b1
  209. MX6UL_PAD_CSI_DATA02__ECSPI2_MOSI 0x0b0b0
  210. MX6UL_PAD_CSI_DATA03__ECSPI2_MISO 0x0b0b0
  211. >;
  212. };
  213. pinctrl_eth1: eth1grp {
  214. fsl,pins = <
  215. MX6UL_PAD_GPIO1_IO07__ENET1_MDC 0x1b0b0
  216. MX6UL_PAD_GPIO1_IO06__ENET1_MDIO 0x100b0
  217. MX6UL_PAD_ENET1_RX_DATA0__ENET1_RDATA00 0x1b0b0
  218. MX6UL_PAD_ENET1_RX_DATA1__ENET1_RDATA01 0x1b0b0
  219. MX6UL_PAD_ENET1_RX_EN__ENET1_RX_EN 0x100b0
  220. MX6UL_PAD_ENET1_RX_ER__ENET1_RX_ER 0x1b0b0
  221. MX6UL_PAD_ENET1_TX_EN__ENET1_TX_EN 0x1b0b0
  222. MX6UL_PAD_ENET1_TX_DATA0__ENET1_TDATA00 0x1b0b0
  223. MX6UL_PAD_ENET1_TX_DATA1__ENET1_TDATA01 0x1b0b0
  224. MX6UL_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 0x1b000
  225. /* PHY ENET1_RST */
  226. MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x00880
  227. /* PHY ENET1_IRQ */
  228. MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01 0x00880
  229. >;
  230. };
  231. pinctrl_hog: hoggrp {
  232. fsl,pins = <
  233. /* HW revision detect */
  234. /* REV_ID0 */
  235. MX6UL_PAD_ENET2_RX_DATA0__GPIO2_IO08 0x1b0b0
  236. /* REV_ID1 */
  237. MX6UL_PAD_ENET2_RX_DATA1__GPIO2_IO09 0x1b0b0
  238. /* REV_ID2 */
  239. MX6UL_PAD_ENET2_RX_EN__GPIO2_IO10 0x1b0b0
  240. /* REV_ID3 */
  241. MX6UL_PAD_ENET2_TX_DATA0__GPIO2_IO11 0x1b0b0
  242. /* BOARD_ID0 */
  243. MX6UL_PAD_ENET2_TX_EN__GPIO2_IO13 0x1b0b0
  244. /* BOARD_ID1 */
  245. MX6UL_PAD_ENET2_TX_CLK__GPIO2_IO14 0x1b0b0
  246. /* BOARD_ID2 */
  247. MX6UL_PAD_ENET2_RX_ER__GPIO2_IO15 0x1b0b0
  248. /* BOARD_ID3 */
  249. MX6UL_PAD_ENET2_TX_DATA1__GPIO2_IO12 0x1b0b0
  250. /* Safety controller IO */
  251. /* WAKE_SC */
  252. MX6UL_PAD_SNVS_TAMPER6__GPIO5_IO06 0x1b0b0
  253. /* PROGRAM_SC */
  254. MX6UL_PAD_SNVS_TAMPER7__GPIO5_IO07 0x1b0b0
  255. >;
  256. };
  257. pinctrl_i2c1: i2c1grp {
  258. fsl,pins = <
  259. MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001b8b0
  260. MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001b8b0
  261. >;
  262. };
  263. pinctrl_i2c2: i2c2grp {
  264. fsl,pins = <
  265. MX6UL_PAD_CSI_VSYNC__I2C2_SDA 0x4001b8b0
  266. MX6UL_PAD_CSI_HSYNC__I2C2_SCL 0x4001b8b0
  267. >;
  268. };
  269. pinctrl_leds: ledsgrp {
  270. fsl,pins = <
  271. MX6UL_PAD_NAND_DQS__GPIO4_IO16 0x1b0b0
  272. >;
  273. };
  274. pinctrl_uart1: uart1grp {
  275. fsl,pins = <
  276. MX6UL_PAD_UART1_TX_DATA__UART1_DCE_TX 0x1b0b1
  277. MX6UL_PAD_UART1_RX_DATA__UART1_DCE_RX 0x1b0b1
  278. >;
  279. };
  280. pinctrl_usdhc1: usdhc1grp {
  281. fsl,pins = <
  282. MX6UL_PAD_SD1_CMD__USDHC1_CMD 0x070b1
  283. MX6UL_PAD_SD1_CLK__USDHC1_CLK 0x07099
  284. MX6UL_PAD_SD1_DATA0__USDHC1_DATA0 0x070b1
  285. MX6UL_PAD_SD1_DATA1__USDHC1_DATA1 0x070b1
  286. MX6UL_PAD_SD1_DATA2__USDHC1_DATA2 0x070b1
  287. MX6UL_PAD_SD1_DATA3__USDHC1_DATA3 0x070b1
  288. /* SD1 CD */
  289. MX6UL_PAD_NAND_READY_B__GPIO4_IO12 0x170b0
  290. >;
  291. };
  292. pinctrl_usdhc2: usdhc2grp {
  293. fsl,pins = <
  294. MX6UL_PAD_NAND_WE_B__USDHC2_CMD 0x170f9
  295. MX6UL_PAD_NAND_RE_B__USDHC2_CLK 0x100f9
  296. MX6UL_PAD_NAND_DATA00__USDHC2_DATA0 0x170f9
  297. MX6UL_PAD_NAND_DATA01__USDHC2_DATA1 0x170f9
  298. MX6UL_PAD_NAND_DATA02__USDHC2_DATA2 0x170f9
  299. MX6UL_PAD_NAND_DATA03__USDHC2_DATA3 0x170f9
  300. MX6UL_PAD_NAND_DATA04__USDHC2_DATA4 0x170f9
  301. MX6UL_PAD_NAND_DATA05__USDHC2_DATA5 0x170f9
  302. MX6UL_PAD_NAND_DATA06__USDHC2_DATA6 0x170f9
  303. MX6UL_PAD_NAND_DATA07__USDHC2_DATA7 0x170f9
  304. MX6UL_PAD_NAND_ALE__USDHC2_RESET_B 0x170b0
  305. >;
  306. };
  307. };