imx6qdl-wandboard.dtsi 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. /*
  2. * Copyright 2013 Freescale Semiconductor, Inc.
  3. *
  4. * Author: Fabio Estevam <fabio.estevam@freescale.com>
  5. *
  6. * This program is free software; you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License version 2 as
  8. * published by the Free Software Foundation.
  9. *
  10. */
  11. / {
  12. regulators {
  13. compatible = "simple-bus";
  14. #address-cells = <1>;
  15. #size-cells = <0>;
  16. reg_2p5v: regulator@0 {
  17. compatible = "regulator-fixed";
  18. reg = <0>;
  19. regulator-name = "2P5V";
  20. regulator-min-microvolt = <2500000>;
  21. regulator-max-microvolt = <2500000>;
  22. regulator-always-on;
  23. };
  24. reg_3p3v: regulator@1 {
  25. compatible = "regulator-fixed";
  26. reg = <1>;
  27. regulator-name = "3P3V";
  28. regulator-min-microvolt = <3300000>;
  29. regulator-max-microvolt = <3300000>;
  30. regulator-always-on;
  31. };
  32. };
  33. sound {
  34. compatible = "fsl,imx6-wandboard-sgtl5000",
  35. "fsl,imx-audio-sgtl5000";
  36. model = "imx6-wandboard-sgtl5000";
  37. ssi-controller = <&ssi1>;
  38. audio-codec = <&codec>;
  39. audio-routing =
  40. "MIC_IN", "Mic Jack",
  41. "Mic Jack", "Mic Bias",
  42. "Headphone Jack", "HP_OUT";
  43. mux-int-port = <1>;
  44. mux-ext-port = <3>;
  45. };
  46. sound-spdif {
  47. compatible = "fsl,imx-audio-spdif";
  48. model = "imx-spdif";
  49. spdif-controller = <&spdif>;
  50. spdif-out;
  51. };
  52. };
  53. &audmux {
  54. pinctrl-names = "default";
  55. pinctrl-0 = <&pinctrl_audmux>;
  56. status = "okay";
  57. };
  58. &hdmi {
  59. ddc-i2c-bus = <&i2c1>;
  60. status = "okay";
  61. };
  62. &i2c1 {
  63. clock-frequency = <100000>;
  64. pinctrl-names = "default";
  65. pinctrl-0 = <&pinctrl_i2c1>;
  66. status = "okay";
  67. };
  68. &i2c2 {
  69. clock-frequency = <100000>;
  70. pinctrl-names = "default";
  71. pinctrl-0 = <&pinctrl_i2c2>;
  72. status = "okay";
  73. codec: sgtl5000@0a {
  74. compatible = "fsl,sgtl5000";
  75. reg = <0x0a>;
  76. clocks = <&clks 201>;
  77. VDDA-supply = <&reg_2p5v>;
  78. VDDIO-supply = <&reg_3p3v>;
  79. };
  80. };
  81. &iomuxc {
  82. pinctrl-names = "default";
  83. imx6qdl-wandboard {
  84. pinctrl_audmux: audmuxgrp {
  85. fsl,pins = <
  86. MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0
  87. MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0
  88. MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x110b0
  89. MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0
  90. >;
  91. };
  92. pinctrl_enet: enetgrp {
  93. fsl,pins = <
  94. MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0
  95. MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0
  96. MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b0b0
  97. MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b0b0
  98. MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b0b0
  99. MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b0b0
  100. MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b0b0
  101. MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b0b0
  102. MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0
  103. MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b0b0
  104. MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b0b0
  105. MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b0b0
  106. MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b0b0
  107. MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b0b0
  108. MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b0b0
  109. MX6QDL_PAD_GPIO_16__ENET_REF_CLK 0x4001b0a8
  110. MX6QDL_PAD_GPIO_6__ENET_IRQ 0x000b1
  111. >;
  112. };
  113. pinctrl_i2c1: i2c1grp {
  114. fsl,pins = <
  115. MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1
  116. MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1
  117. >;
  118. };
  119. pinctrl_i2c2: i2c2grp {
  120. fsl,pins = <
  121. MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1
  122. MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1
  123. >;
  124. };
  125. pinctrl_spdif: spdifgrp {
  126. fsl,pins = <
  127. MX6QDL_PAD_ENET_RXD0__SPDIF_OUT 0x1b0b0
  128. >;
  129. };
  130. pinctrl_uart1: uart1grp {
  131. fsl,pins = <
  132. MX6QDL_PAD_CSI0_DAT10__UART1_TX_DATA 0x1b0b1
  133. MX6QDL_PAD_CSI0_DAT11__UART1_RX_DATA 0x1b0b1
  134. >;
  135. };
  136. pinctrl_uart3: uart3grp {
  137. fsl,pins = <
  138. MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
  139. MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
  140. MX6QDL_PAD_EIM_D23__UART3_CTS_B 0x1b0b1
  141. MX6QDL_PAD_EIM_EB3__UART3_RTS_B 0x1b0b1
  142. >;
  143. };
  144. pinctrl_usbotg: usbotggrp {
  145. fsl,pins = <
  146. MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059
  147. >;
  148. };
  149. pinctrl_usdhc1: usdhc1grp {
  150. fsl,pins = <
  151. MX6QDL_PAD_SD1_CMD__SD1_CMD 0x17059
  152. MX6QDL_PAD_SD1_CLK__SD1_CLK 0x10059
  153. MX6QDL_PAD_SD1_DAT0__SD1_DATA0 0x17059
  154. MX6QDL_PAD_SD1_DAT1__SD1_DATA1 0x17059
  155. MX6QDL_PAD_SD1_DAT2__SD1_DATA2 0x17059
  156. MX6QDL_PAD_SD1_DAT3__SD1_DATA3 0x17059
  157. >;
  158. };
  159. pinctrl_usdhc2: usdhc2grp {
  160. fsl,pins = <
  161. MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059
  162. MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059
  163. MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059
  164. MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059
  165. MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059
  166. MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059
  167. >;
  168. };
  169. pinctrl_usdhc3: usdhc3grp {
  170. fsl,pins = <
  171. MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059
  172. MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059
  173. MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059
  174. MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059
  175. MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059
  176. MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059
  177. >;
  178. };
  179. };
  180. };
  181. &fec {
  182. pinctrl-names = "default";
  183. pinctrl-0 = <&pinctrl_enet>;
  184. phy-mode = "rgmii";
  185. phy-reset-gpios = <&gpio3 29 0>;
  186. interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>,
  187. <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>;
  188. status = "okay";
  189. };
  190. &spdif {
  191. pinctrl-names = "default";
  192. pinctrl-0 = <&pinctrl_spdif>;
  193. status = "okay";
  194. };
  195. &ssi1 {
  196. status = "okay";
  197. };
  198. &uart1 {
  199. pinctrl-names = "default";
  200. pinctrl-0 = <&pinctrl_uart1>;
  201. status = "okay";
  202. };
  203. &uart3 {
  204. pinctrl-names = "default";
  205. pinctrl-0 = <&pinctrl_uart3>;
  206. fsl,uart-has-rtscts;
  207. status = "okay";
  208. };
  209. &usbh1 {
  210. status = "okay";
  211. };
  212. &usbotg {
  213. pinctrl-names = "default";
  214. pinctrl-0 = <&pinctrl_usbotg>;
  215. disable-over-current;
  216. dr_mode = "peripheral";
  217. status = "okay";
  218. };
  219. &usdhc1 {
  220. pinctrl-names = "default";
  221. pinctrl-0 = <&pinctrl_usdhc1>;
  222. cd-gpios = <&gpio1 2 0>;
  223. status = "okay";
  224. };
  225. &usdhc3 {
  226. pinctrl-names = "default";
  227. pinctrl-0 = <&pinctrl_usdhc3>;
  228. cd-gpios = <&gpio3 9 0>;
  229. status = "okay";
  230. };