imx28-m28evk.dts 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275
  1. /*
  2. * Copyright (C) 2012 Marek Vasut <marex@denx.de>
  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 "imx28-m28.dtsi"
  13. / {
  14. model = "DENX M28EVK";
  15. compatible = "denx,m28evk", "fsl,imx28";
  16. apb@80000000 {
  17. apbh@80000000 {
  18. ssp0: ssp@80010000 {
  19. compatible = "fsl,imx28-mmc";
  20. pinctrl-names = "default";
  21. pinctrl-0 = <&mmc0_8bit_pins_a
  22. &mmc0_cd_cfg
  23. &mmc0_sck_cfg>;
  24. bus-width = <8>;
  25. wp-gpios = <&gpio3 10 0>;
  26. vmmc-supply = <&reg_vddio_sd0>;
  27. status = "okay";
  28. };
  29. ssp2: ssp@80014000 {
  30. #address-cells = <1>;
  31. #size-cells = <0>;
  32. compatible = "fsl,imx28-spi";
  33. pinctrl-names = "default";
  34. pinctrl-0 = <&spi2_pins_a>;
  35. status = "okay";
  36. flash: m25p80@0 {
  37. #address-cells = <1>;
  38. #size-cells = <1>;
  39. compatible = "m25p80";
  40. spi-max-frequency = <40000000>;
  41. reg = <0>;
  42. };
  43. };
  44. pinctrl@80018000 {
  45. pinctrl-names = "default";
  46. pinctrl-0 = <&hog_pins_a>;
  47. hog_pins_a: hog@0 {
  48. reg = <0>;
  49. fsl,pinmux-ids = <
  50. MX28_PAD_PWM3__GPIO_3_28
  51. MX28_PAD_AUART2_CTS__GPIO_3_10
  52. MX28_PAD_AUART2_RTS__GPIO_3_11
  53. MX28_PAD_AUART3_RX__GPIO_3_12
  54. MX28_PAD_AUART3_TX__GPIO_3_13
  55. >;
  56. fsl,drive-strength = <MXS_DRIVE_4mA>;
  57. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  58. fsl,pull-up = <MXS_PULL_DISABLE>;
  59. };
  60. lcdif_pins_m28: lcdif-m28@0 {
  61. reg = <0>;
  62. fsl,pinmux-ids = <
  63. MX28_PAD_LCD_DOTCLK__LCD_DOTCLK
  64. MX28_PAD_LCD_ENABLE__LCD_ENABLE
  65. >;
  66. fsl,drive-strength = <MXS_DRIVE_4mA>;
  67. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  68. fsl,pull-up = <MXS_PULL_DISABLE>;
  69. };
  70. };
  71. lcdif@80030000 {
  72. pinctrl-names = "default";
  73. pinctrl-0 = <&lcdif_24bit_pins_a
  74. &lcdif_pins_m28>;
  75. display = <&display0>;
  76. status = "okay";
  77. display0: display0 {
  78. bits-per-pixel = <16>;
  79. bus-width = <18>;
  80. display-timings {
  81. native-mode = <&timing0>;
  82. timing0: timing0 {
  83. clock-frequency = <33260000>;
  84. hactive = <800>;
  85. vactive = <480>;
  86. hback-porch = <0>;
  87. hfront-porch = <256>;
  88. vback-porch = <0>;
  89. vfront-porch = <45>;
  90. hsync-len = <1>;
  91. vsync-len = <1>;
  92. hsync-active = <0>;
  93. vsync-active = <0>;
  94. de-active = <1>;
  95. pixelclk-active = <1>;
  96. };
  97. };
  98. };
  99. };
  100. can0: can@80032000 {
  101. pinctrl-names = "default";
  102. pinctrl-0 = <&can0_pins_a>;
  103. status = "okay";
  104. };
  105. can1: can@80034000 {
  106. pinctrl-names = "default";
  107. pinctrl-0 = <&can1_pins_a>;
  108. status = "okay";
  109. };
  110. };
  111. apbx@80040000 {
  112. saif0: saif@80042000 {
  113. pinctrl-names = "default";
  114. pinctrl-0 = <&saif0_pins_a>;
  115. status = "okay";
  116. };
  117. saif1: saif@80046000 {
  118. pinctrl-names = "default";
  119. pinctrl-0 = <&saif1_pins_a>;
  120. fsl,saif-master = <&saif0>;
  121. status = "okay";
  122. };
  123. i2c0: i2c@80058000 {
  124. sgtl5000: codec@0a {
  125. compatible = "fsl,sgtl5000";
  126. reg = <0x0a>;
  127. VDDA-supply = <&reg_3p3v>;
  128. VDDIO-supply = <&reg_3p3v>;
  129. clocks = <&saif0>;
  130. };
  131. eeprom: eeprom@51 {
  132. compatible = "atmel,24c128";
  133. reg = <0x51>;
  134. pagesize = <32>;
  135. };
  136. };
  137. lradc@80050000 {
  138. status = "okay";
  139. fsl,lradc-touchscreen-wires = <4>;
  140. };
  141. duart: serial@80074000 {
  142. pinctrl-names = "default";
  143. pinctrl-0 = <&duart_pins_a>;
  144. status = "okay";
  145. };
  146. usbphy0: usbphy@8007c000 {
  147. status = "okay";
  148. };
  149. usbphy1: usbphy@8007e000 {
  150. status = "okay";
  151. };
  152. auart0: serial@8006a000 {
  153. pinctrl-names = "default";
  154. pinctrl-0 = <&auart0_pins_a>;
  155. status = "okay";
  156. };
  157. auart1: serial@8006c000 {
  158. pinctrl-names = "default";
  159. pinctrl-0 = <&auart1_pins_a>;
  160. status = "okay";
  161. };
  162. auart2: serial@8006e000 {
  163. pinctrl-names = "default";
  164. pinctrl-0 = <&auart2_2pins_b>;
  165. status = "okay";
  166. };
  167. pwm: pwm@80064000 {
  168. pinctrl-names = "default";
  169. pinctrl-0 = <&pwm4_pins_a>;
  170. status = "okay";
  171. };
  172. };
  173. };
  174. ahb@80080000 {
  175. usb0: usb@80080000 {
  176. vbus-supply = <&reg_usb0_vbus>;
  177. pinctrl-names = "default";
  178. pinctrl-0 = <&usb0_pins_a>;
  179. status = "okay";
  180. };
  181. usb1: usb@80090000 {
  182. vbus-supply = <&reg_usb1_vbus>;
  183. pinctrl-names = "default";
  184. pinctrl-0 = <&usb1_pins_a>;
  185. status = "okay";
  186. };
  187. mac0: ethernet@800f0000 {
  188. phy-mode = "rmii";
  189. pinctrl-names = "default";
  190. pinctrl-0 = <&mac0_pins_a>;
  191. clocks = <&clks 57>, <&clks 57>;
  192. clock-names = "ipg", "ahb";
  193. status = "okay";
  194. };
  195. mac1: ethernet@800f4000 {
  196. phy-mode = "rmii";
  197. pinctrl-names = "default";
  198. pinctrl-0 = <&mac1_pins_a>;
  199. status = "okay";
  200. };
  201. };
  202. backlight {
  203. compatible = "pwm-backlight";
  204. pwms = <&pwm 4 5000000>;
  205. brightness-levels = <0 4 8 16 32 64 128 255>;
  206. default-brightness-level = <6>;
  207. };
  208. regulators {
  209. reg_vddio_sd0: regulator@1 {
  210. compatible = "regulator-fixed";
  211. reg = <1>;
  212. regulator-name = "vddio-sd0";
  213. regulator-min-microvolt = <3300000>;
  214. regulator-max-microvolt = <3300000>;
  215. gpio = <&gpio3 28 0>;
  216. };
  217. reg_usb0_vbus: regulator@2 {
  218. compatible = "regulator-fixed";
  219. reg = <2>;
  220. regulator-name = "usb0_vbus";
  221. regulator-min-microvolt = <5000000>;
  222. regulator-max-microvolt = <5000000>;
  223. gpio = <&gpio3 12 0>;
  224. };
  225. reg_usb1_vbus: regulator@3 {
  226. compatible = "regulator-fixed";
  227. reg = <3>;
  228. regulator-name = "usb1_vbus";
  229. regulator-min-microvolt = <5000000>;
  230. regulator-max-microvolt = <5000000>;
  231. gpio = <&gpio3 13 0>;
  232. };
  233. };
  234. sound {
  235. compatible = "denx,m28evk-sgtl5000",
  236. "fsl,mxs-audio-sgtl5000";
  237. model = "m28evk-sgtl5000";
  238. saif-controllers = <&saif0 &saif1>;
  239. audio-codec = <&sgtl5000>;
  240. };
  241. };