imx25-pdk.dts 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. /*
  2. * Copyright 2013 Freescale Semiconductor, Inc.
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. /dts-v1/;
  12. #include <dt-bindings/input/input.h>
  13. #include "imx25.dtsi"
  14. / {
  15. model = "Freescale i.MX25 Product Development Kit";
  16. compatible = "fsl,imx25-pdk", "fsl,imx25";
  17. memory {
  18. reg = <0x80000000 0x4000000>;
  19. };
  20. regulators {
  21. compatible = "simple-bus";
  22. #address-cells = <1>;
  23. #size-cells = <0>;
  24. reg_fec_3v3: regulator@0 {
  25. compatible = "regulator-fixed";
  26. reg = <0>;
  27. regulator-name = "fec-3v3";
  28. regulator-min-microvolt = <3300000>;
  29. regulator-max-microvolt = <3300000>;
  30. gpio = <&gpio2 3 0>;
  31. enable-active-high;
  32. };
  33. reg_2p5v: regulator@1 {
  34. compatible = "regulator-fixed";
  35. reg = <1>;
  36. regulator-name = "2P5V";
  37. regulator-min-microvolt = <2500000>;
  38. regulator-max-microvolt = <2500000>;
  39. };
  40. reg_3p3v: regulator@2 {
  41. compatible = "regulator-fixed";
  42. reg = <2>;
  43. regulator-name = "3P3V";
  44. regulator-min-microvolt = <3300000>;
  45. regulator-max-microvolt = <3300000>;
  46. };
  47. reg_can_3v3: regulator@3 {
  48. compatible = "regulator-fixed";
  49. reg = <3>;
  50. regulator-name = "can-3v3";
  51. regulator-min-microvolt = <3300000>;
  52. regulator-max-microvolt = <3300000>;
  53. gpio = <&gpio4 6 0>;
  54. };
  55. };
  56. sound {
  57. compatible = "fsl,imx25-pdk-sgtl5000",
  58. "fsl,imx-audio-sgtl5000";
  59. model = "imx25-pdk-sgtl5000";
  60. ssi-controller = <&ssi1>;
  61. audio-codec = <&codec>;
  62. audio-routing =
  63. "MIC_IN", "Mic Jack",
  64. "Mic Jack", "Mic Bias",
  65. "Headphone Jack", "HP_OUT";
  66. mux-int-port = <1>;
  67. mux-ext-port = <4>;
  68. };
  69. };
  70. &audmux {
  71. pinctrl-names = "default";
  72. pinctrl-0 = <&pinctrl_audmux>;
  73. status = "okay";
  74. };
  75. &can1 {
  76. pinctrl-names = "default";
  77. pinctrl-0 = <&pinctrl_can1>;
  78. xceiver-supply = <&reg_can_3v3>;
  79. status = "okay";
  80. };
  81. &esdhc1 {
  82. pinctrl-names = "default";
  83. pinctrl-0 = <&pinctrl_esdhc1>;
  84. cd-gpios = <&gpio2 1 0>;
  85. wp-gpios = <&gpio2 0 0>;
  86. status = "okay";
  87. };
  88. &fec {
  89. phy-mode = "rmii";
  90. pinctrl-names = "default";
  91. pinctrl-0 = <&pinctrl_fec>;
  92. phy-supply = <&reg_fec_3v3>;
  93. phy-reset-gpios = <&gpio4 8 0>;
  94. status = "okay";
  95. };
  96. &i2c1 {
  97. clock-frequency = <100000>;
  98. pinctrl-names = "default";
  99. pinctrl-0 = <&pinctrl_i2c1>;
  100. status = "okay";
  101. codec: sgtl5000@0a {
  102. compatible = "fsl,sgtl5000";
  103. reg = <0x0a>;
  104. clocks = <&clks 129>;
  105. VDDA-supply = <&reg_2p5v>;
  106. VDDIO-supply = <&reg_3p3v>;
  107. };
  108. };
  109. &iomuxc {
  110. imx25-pdk {
  111. pinctrl_audmux: audmuxgrp {
  112. fsl,pins = <
  113. MX25_PAD_RW__AUD4_TXFS 0xe0
  114. MX25_PAD_OE__AUD4_TXC 0xe0
  115. MX25_PAD_EB0__AUD4_TXD 0xe0
  116. MX25_PAD_EB1__AUD4_RXD 0xe0
  117. >;
  118. };
  119. pinctrl_can1: can1grp {
  120. fsl,pins = <
  121. MX25_PAD_GPIO_A__CAN1_TX 0x0
  122. MX25_PAD_GPIO_B__CAN1_RX 0x0
  123. MX25_PAD_D14__GPIO_4_6 0x80000000
  124. >;
  125. };
  126. pinctrl_esdhc1: esdhc1grp {
  127. fsl,pins = <
  128. MX25_PAD_SD1_CMD__SD1_CMD 0x80000000
  129. MX25_PAD_SD1_CLK__SD1_CLK 0x80000000
  130. MX25_PAD_SD1_DATA0__SD1_DATA0 0x80000000
  131. MX25_PAD_SD1_DATA1__SD1_DATA1 0x80000000
  132. MX25_PAD_SD1_DATA2__SD1_DATA2 0x80000000
  133. MX25_PAD_SD1_DATA3__SD1_DATA3 0x80000000
  134. MX25_PAD_A14__GPIO_2_0 0x80000000
  135. MX25_PAD_A15__GPIO_2_1 0x80000000
  136. >;
  137. };
  138. pinctrl_fec: fecgrp {
  139. fsl,pins = <
  140. MX25_PAD_FEC_MDC__FEC_MDC 0x80000000
  141. MX25_PAD_FEC_MDIO__FEC_MDIO 0x400001e0
  142. MX25_PAD_FEC_TDATA0__FEC_TDATA0 0x80000000
  143. MX25_PAD_FEC_TDATA1__FEC_TDATA1 0x80000000
  144. MX25_PAD_FEC_TX_EN__FEC_TX_EN 0x80000000
  145. MX25_PAD_FEC_RDATA0__FEC_RDATA0 0x80000000
  146. MX25_PAD_FEC_RDATA1__FEC_RDATA1 0x80000000
  147. MX25_PAD_FEC_RX_DV__FEC_RX_DV 0x80000000
  148. MX25_PAD_FEC_TX_CLK__FEC_TX_CLK 0x1c0
  149. MX25_PAD_A17__GPIO_2_3 0x80000000
  150. MX25_PAD_D12__GPIO_4_8 0x80000000
  151. >;
  152. };
  153. pinctrl_i2c1: i2c1grp {
  154. fsl,pins = <
  155. MX25_PAD_I2C1_CLK__I2C1_CLK 0x80000000
  156. MX25_PAD_I2C1_DAT__I2C1_DAT 0x80000000
  157. >;
  158. };
  159. pinctrl_kpp: kppgrp {
  160. fsl,pins = <
  161. MX25_PAD_KPP_ROW0__KPP_ROW0 0x80000000
  162. MX25_PAD_KPP_ROW1__KPP_ROW1 0x80000000
  163. MX25_PAD_KPP_ROW2__KPP_ROW2 0x80000000
  164. MX25_PAD_KPP_ROW3__KPP_ROW3 0x80000000
  165. MX25_PAD_KPP_COL0__KPP_COL0 0x80000000
  166. MX25_PAD_KPP_COL1__KPP_COL1 0x80000000
  167. MX25_PAD_KPP_COL2__KPP_COL2 0x80000000
  168. MX25_PAD_KPP_COL3__KPP_COL3 0x80000000
  169. >;
  170. };
  171. pinctrl_uart1: uart1grp {
  172. fsl,pins = <
  173. MX25_PAD_UART1_RTS__UART1_RTS 0xe0
  174. MX25_PAD_UART1_CTS__UART1_CTS 0xe0
  175. MX25_PAD_UART1_TXD__UART1_TXD 0x80000000
  176. MX25_PAD_UART1_RXD__UART1_RXD 0xc0
  177. >;
  178. };
  179. };
  180. };
  181. &nfc {
  182. nand-on-flash-bbt;
  183. status = "okay";
  184. };
  185. &kpp {
  186. pinctrl-names = "default";
  187. pinctrl-0 = <&pinctrl_kpp>;
  188. linux,keymap = <
  189. MATRIX_KEY(0x0, 0x0, KEY_UP)
  190. MATRIX_KEY(0x0, 0x1, KEY_DOWN)
  191. MATRIX_KEY(0x0, 0x2, KEY_VOLUMEDOWN)
  192. MATRIX_KEY(0x0, 0x3, KEY_HOME)
  193. MATRIX_KEY(0x1, 0x0, KEY_RIGHT)
  194. MATRIX_KEY(0x1, 0x1, KEY_LEFT)
  195. MATRIX_KEY(0x1, 0x2, KEY_ENTER)
  196. MATRIX_KEY(0x1, 0x3, KEY_VOLUMEUP)
  197. MATRIX_KEY(0x2, 0x0, KEY_F6)
  198. MATRIX_KEY(0x2, 0x1, KEY_F8)
  199. MATRIX_KEY(0x2, 0x2, KEY_F9)
  200. MATRIX_KEY(0x2, 0x3, KEY_F10)
  201. MATRIX_KEY(0x3, 0x0, KEY_F1)
  202. MATRIX_KEY(0x3, 0x1, KEY_F2)
  203. MATRIX_KEY(0x3, 0x2, KEY_F3)
  204. MATRIX_KEY(0x3, 0x2, KEY_POWER)
  205. >;
  206. status = "okay";
  207. };
  208. &ssi1 {
  209. codec-handle = <&codec>;
  210. status = "okay";
  211. };
  212. &uart1 {
  213. pinctrl-names = "default";
  214. pinctrl-0 = <&pinctrl_uart1>;
  215. fsl,uart-has-rtscts;
  216. status = "okay";
  217. };
  218. &usbhost1 {
  219. phy_type = "serial";
  220. dr_mode = "host";
  221. status = "okay";
  222. };
  223. &usbotg {
  224. phy_type = "utmi";
  225. dr_mode = "otg";
  226. external-vbus-divider;
  227. status = "okay";
  228. };