imx28-m28evk.dts 5.6 KB

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