imx6qdl-udoo.dtsi 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. // SPDX-License-Identifier: GPL-2.0
  2. /*
  3. * Copyright 2013 Freescale Semiconductor, Inc.
  4. *
  5. * Author: Fabio Estevam <fabio.estevam@freescale.com>
  6. */
  7. / {
  8. aliases {
  9. backlight = &backlight;
  10. panelchan = &panelchan;
  11. panel7 = &panel7;
  12. touchscreenp7 = &touchscreenp7;
  13. };
  14. chosen {
  15. stdout-path = &uart2;
  16. };
  17. backlight: backlight {
  18. compatible = "gpio-backlight";
  19. gpios = <&gpio1 4 0>;
  20. default-on;
  21. status = "disabled";
  22. };
  23. gpio-poweroff {
  24. compatible = "gpio-poweroff";
  25. gpios = <&gpio2 4 0>;
  26. pinctrl-0 = <&pinctrl_power_off>;
  27. pinctrl-names = "default";
  28. };
  29. memory@10000000 {
  30. device_type = "memory";
  31. reg = <0x10000000 0x40000000>;
  32. };
  33. panel7: panel7 {
  34. /*
  35. * in reality it is a -20t (parallel) model,
  36. * but with LVDS bridge chip attached,
  37. * so it is equivalent to -19t model in drive
  38. * characteristics
  39. */
  40. compatible = "urt,umsh-8596md-19t";
  41. pinctrl-names = "default";
  42. pinctrl-0 = <&pinctrl_panel>;
  43. power-supply = <&reg_panel>;
  44. backlight = <&backlight>;
  45. status = "disabled";
  46. port {
  47. panel_in: endpoint {
  48. remote-endpoint = <&lvds0_out>;
  49. };
  50. };
  51. };
  52. regulators {
  53. compatible = "simple-bus";
  54. #address-cells = <1>;
  55. #size-cells = <0>;
  56. reg_usb_h1_vbus: regulator@0 {
  57. compatible = "regulator-fixed";
  58. reg = <0>;
  59. regulator-name = "usb_h1_vbus";
  60. regulator-min-microvolt = <5000000>;
  61. regulator-max-microvolt = <5000000>;
  62. enable-active-high;
  63. startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */
  64. gpio = <&gpio7 12 0>;
  65. };
  66. reg_panel: regulator@1 {
  67. compatible = "regulator-fixed";
  68. reg = <1>;
  69. regulator-name = "lcd_panel";
  70. enable-active-high;
  71. gpio = <&gpio1 2 0>;
  72. };
  73. };
  74. sound {
  75. compatible = "fsl,imx6q-udoo-ac97",
  76. "fsl,imx-audio-ac97";
  77. model = "fsl,imx6q-udoo-ac97";
  78. audio-cpu = <&ssi1>;
  79. audio-routing =
  80. "RX", "Mic Jack",
  81. "Headphone Jack", "TX";
  82. mux-int-port = <1>;
  83. mux-ext-port = <6>;
  84. };
  85. };
  86. &fec {
  87. pinctrl-names = "default";
  88. pinctrl-0 = <&pinctrl_enet>;
  89. phy-mode = "rgmii-id";
  90. status = "okay";
  91. };
  92. &hdmi {
  93. ddc-i2c-bus = <&i2c2>;
  94. status = "okay";
  95. };
  96. &i2c2 {
  97. clock-frequency = <100000>;
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_i2c2>;
  100. status = "okay";
  101. };
  102. &i2c3 {
  103. clock-frequency = <100000>;
  104. pinctrl-names = "default";
  105. pinctrl-0 = <&pinctrl_i2c3>;
  106. status = "okay";
  107. touchscreenp7: touchscreenp7@55 {
  108. compatible = "sitronix,st1232";
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&pinctrl_touchscreenp7>;
  111. reg = <0x55>;
  112. interrupt-parent = <&gpio1>;
  113. interrupts = <13 8>;
  114. gpios = <&gpio1 15 0>;
  115. status = "disabled";
  116. };
  117. };
  118. &iomuxc {
  119. imx6q-udoo {
  120. pinctrl_enet: enetgrp {
  121. fsl,pins = <
  122. MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030
  123. MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030
  124. MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030
  125. MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030
  126. MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030
  127. MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030
  128. MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030
  129. MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030
  130. MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030
  131. MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030
  132. MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030
  133. MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030
  134. MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
  135. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  136. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  137. MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
  138. >;
  139. };
  140. pinctrl_i2c2: i2c2grp {
  141. fsl,pins = <
  142. MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
  143. MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
  144. >;
  145. };
  146. pinctrl_i2c3: i2c3grp {
  147. fsl,pins = <
  148. MX6QDL_PAD_GPIO_5__I2C3_SCL 0x4001f8b1
  149. MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001f8b1
  150. >;
  151. };
  152. pinctrl_panel: panelgrp {
  153. fsl,pins = <
  154. MX6QDL_PAD_GPIO_2__GPIO1_IO02 0x70
  155. MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x70
  156. >;
  157. };
  158. pinctrl_power_off: poweroffgrp {
  159. fsl,pins = <
  160. MX6QDL_PAD_NANDF_D4__GPIO2_IO04 0x30
  161. >;
  162. };
  163. pinctrl_touchscreenp7: touchscreenp7grp {
  164. fsl,pins = <
  165. MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x70
  166. MX6QDL_PAD_SD2_DAT2__GPIO1_IO13 0x1b0b0
  167. >;
  168. };
  169. pinctrl_uart2: uart2grp {
  170. fsl,pins = <
  171. MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
  172. MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
  173. >;
  174. };
  175. pinctrl_uart4: uart4grp {
  176. fsl,pins = <
  177. MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
  178. MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  179. >;
  180. };
  181. pinctrl_usbh: usbhgrp {
  182. fsl,pins = <
  183. MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x80000000
  184. MX6QDL_PAD_NANDF_CS2__CCM_CLKO2 0x130b0
  185. >;
  186. };
  187. pinctrl_usbotg: usbotg {
  188. fsl,pins = <
  189. MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
  190. MX6QDL_PAD_EIM_D22__USB_OTG_PWR 0x17059
  191. MX6QDL_PAD_EIM_D21__USB_OTG_OC 0x17059
  192. >;
  193. };
  194. pinctrl_usdhc3: usdhc3grp {
  195. fsl,pins = <
  196. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
  197. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
  198. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  199. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  200. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  201. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  202. >;
  203. };
  204. pinctrl_ac97_running: ac97running {
  205. fsl,pins = <
  206. MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x1b0b0
  207. MX6QDL_PAD_DI0_PIN3__AUD6_TXFS 0x1b0b0
  208. MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080
  209. MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080
  210. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
  211. >;
  212. };
  213. pinctrl_ac97_warm_reset: ac97warmreset {
  214. fsl,pins = <
  215. MX6QDL_PAD_DI0_PIN2__AUD6_TXD 0x1b0b0
  216. MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x1b0b0
  217. MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080
  218. MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080
  219. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
  220. >;
  221. };
  222. pinctrl_ac97_reset: ac97reset {
  223. fsl,pins = <
  224. MX6QDL_PAD_DI0_PIN2__GPIO4_IO18 0x1b0b0
  225. MX6QDL_PAD_DI0_PIN3__GPIO4_IO19 0x1b0b0
  226. MX6QDL_PAD_DI0_PIN4__AUD6_RXD 0x13080
  227. MX6QDL_PAD_DI0_PIN15__AUD6_TXC 0x13080
  228. MX6QDL_PAD_EIM_EB2__GPIO2_IO30 0x1b0b0
  229. >;
  230. };
  231. };
  232. };
  233. &ldb {
  234. status = "okay";
  235. panelchan: lvds-channel@0 {
  236. port@4 {
  237. reg = <4>;
  238. lvds0_out: endpoint {
  239. remote-endpoint = <&panel_in>;
  240. };
  241. };
  242. };
  243. };
  244. &uart2 {
  245. pinctrl-names = "default";
  246. pinctrl-0 = <&pinctrl_uart2>;
  247. status = "okay";
  248. };
  249. &uart4 {
  250. pinctrl-names = "default";
  251. pinctrl-0 = <&pinctrl_uart4>;
  252. status = "okay";
  253. };
  254. &usbh1 {
  255. pinctrl-names = "default";
  256. pinctrl-0 = <&pinctrl_usbh>;
  257. vbus-supply = <&reg_usb_h1_vbus>;
  258. clocks = <&clks IMX6QDL_CLK_CKO>;
  259. status = "okay";
  260. };
  261. &usbotg {
  262. pinctrl-names = "default";
  263. pinctrl-0 = <&pinctrl_usbotg>;
  264. status = "okay";
  265. };
  266. &usdhc3 {
  267. pinctrl-names = "default";
  268. pinctrl-0 = <&pinctrl_usdhc3>;
  269. non-removable;
  270. status = "okay";
  271. };
  272. &audmux {
  273. status = "okay";
  274. };
  275. &ssi1 {
  276. cell-index = <0>;
  277. fsl,mode = "ac97-slave";
  278. pinctrl-names = "ac97-running", "ac97-reset", "ac97-warm-reset";
  279. pinctrl-0 = <&pinctrl_ac97_running>;
  280. pinctrl-1 = <&pinctrl_ac97_reset>;
  281. pinctrl-2 = <&pinctrl_ac97_warm_reset>;
  282. ac97-gpios = <&gpio4 19 0 &gpio4 18 0 &gpio2 30 0>;
  283. status = "okay";
  284. };