imx28-evk.dts 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. // SPDX-License-Identifier: GPL-2.0+
  2. //
  3. // Copyright 2012 Freescale Semiconductor, Inc.
  4. /dts-v1/;
  5. #include "imx28.dtsi"
  6. / {
  7. model = "Freescale i.MX28 Evaluation Kit";
  8. compatible = "fsl,imx28-evk", "fsl,imx28";
  9. memory@40000000 {
  10. device_type = "memory";
  11. reg = <0x40000000 0x08000000>;
  12. };
  13. reg_3p3v: regulator-3p3v {
  14. compatible = "regulator-fixed";
  15. regulator-name = "3P3V";
  16. regulator-min-microvolt = <3300000>;
  17. regulator-max-microvolt = <3300000>;
  18. regulator-always-on;
  19. };
  20. reg_vddio_sd0: regulator-vddio-sd0 {
  21. compatible = "regulator-fixed";
  22. regulator-name = "vddio-sd0";
  23. regulator-min-microvolt = <3300000>;
  24. regulator-max-microvolt = <3300000>;
  25. gpio = <&gpio3 28 0>;
  26. };
  27. reg_fec_3v3: regulator-fec-3v3 {
  28. compatible = "regulator-fixed";
  29. regulator-name = "fec-3v3";
  30. regulator-min-microvolt = <3300000>;
  31. regulator-max-microvolt = <3300000>;
  32. gpio = <&gpio2 15 0>;
  33. };
  34. reg_usb0_vbus: regulator-usb0-vbus {
  35. compatible = "regulator-fixed";
  36. regulator-name = "usb0_vbus";
  37. regulator-min-microvolt = <5000000>;
  38. regulator-max-microvolt = <5000000>;
  39. gpio = <&gpio3 9 0>;
  40. enable-active-high;
  41. };
  42. reg_usb1_vbus: regulator-usb1-vbus {
  43. compatible = "regulator-fixed";
  44. regulator-name = "usb1_vbus";
  45. regulator-min-microvolt = <5000000>;
  46. regulator-max-microvolt = <5000000>;
  47. gpio = <&gpio3 8 0>;
  48. enable-active-high;
  49. };
  50. reg_lcd_3v3: regulator-lcd-3v3 {
  51. compatible = "regulator-fixed";
  52. regulator-name = "lcd-3v3";
  53. regulator-min-microvolt = <3300000>;
  54. regulator-max-microvolt = <3300000>;
  55. gpio = <&gpio3 30 0>;
  56. enable-active-high;
  57. };
  58. reg_can_3v3: regulator-can-3v3 {
  59. compatible = "regulator-fixed";
  60. regulator-name = "can-3v3";
  61. regulator-min-microvolt = <3300000>;
  62. regulator-max-microvolt = <3300000>;
  63. gpio = <&gpio2 13 0>;
  64. enable-active-high;
  65. };
  66. reg_lcd_5v: regulator-lcd-5v {
  67. compatible = "regulator-fixed";
  68. regulator-name = "lcd-5v";
  69. regulator-min-microvolt = <5000000>;
  70. regulator-max-microvolt = <5000000>;
  71. };
  72. panel {
  73. compatible = "sii,43wvf1g";
  74. backlight = <&backlight_display>;
  75. dvdd-supply = <&reg_lcd_3v3>;
  76. avdd-supply = <&reg_lcd_5v>;
  77. port {
  78. panel_in: endpoint {
  79. remote-endpoint = <&display_out>;
  80. };
  81. };
  82. };
  83. apb@80000000 {
  84. apbh@80000000 {
  85. nand-controller@8000c000 {
  86. pinctrl-names = "default";
  87. pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg
  88. &gpmi_pins_evk>;
  89. status = "okay";
  90. };
  91. ssp0: spi@80010000 {
  92. compatible = "fsl,imx28-mmc";
  93. pinctrl-names = "default";
  94. pinctrl-0 = <&mmc0_8bit_pins_a
  95. &mmc0_cd_cfg &mmc0_sck_cfg>;
  96. bus-width = <8>;
  97. wp-gpios = <&gpio2 12 0>;
  98. vmmc-supply = <&reg_vddio_sd0>;
  99. status = "okay";
  100. };
  101. ssp1: spi@80012000 {
  102. compatible = "fsl,imx28-mmc";
  103. bus-width = <8>;
  104. wp-gpios = <&gpio0 28 0>;
  105. };
  106. ssp2: spi@80014000 {
  107. #address-cells = <1>;
  108. #size-cells = <0>;
  109. compatible = "fsl,imx28-spi";
  110. pinctrl-names = "default";
  111. pinctrl-0 = <&spi2_pins_a>;
  112. status = "okay";
  113. flash: flash@0 {
  114. #address-cells = <1>;
  115. #size-cells = <1>;
  116. compatible = "sst,sst25vf016b", "jedec,spi-nor";
  117. spi-max-frequency = <40000000>;
  118. reg = <0>;
  119. };
  120. };
  121. pinctrl@80018000 {
  122. pinctrl-names = "default";
  123. pinctrl-0 = <&hog_pins_a>;
  124. hog_pins_a: hog@0 {
  125. reg = <0>;
  126. fsl,pinmux-ids = <
  127. MX28_PAD_SSP1_CMD__GPIO_2_13
  128. MX28_PAD_SSP1_DATA3__GPIO_2_15
  129. MX28_PAD_ENET0_RX_CLK__GPIO_4_13
  130. MX28_PAD_SSP1_SCK__GPIO_2_12
  131. MX28_PAD_PWM3__GPIO_3_28
  132. MX28_PAD_LCD_RESET__GPIO_3_30
  133. MX28_PAD_AUART2_RX__GPIO_3_8
  134. MX28_PAD_AUART2_TX__GPIO_3_9
  135. >;
  136. fsl,drive-strength = <MXS_DRIVE_4mA>;
  137. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  138. fsl,pull-up = <MXS_PULL_DISABLE>;
  139. };
  140. led_pin_gpio3_5: led_gpio3_5@0 {
  141. reg = <0>;
  142. fsl,pinmux-ids = <
  143. MX28_PAD_AUART1_TX__GPIO_3_5
  144. >;
  145. fsl,drive-strength = <MXS_DRIVE_4mA>;
  146. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  147. fsl,pull-up = <MXS_PULL_DISABLE>;
  148. };
  149. gpmi_pins_evk: gpmi-nand-evk@0 {
  150. reg = <0>;
  151. fsl,pinmux-ids = <
  152. MX28_PAD_GPMI_CE1N__GPMI_CE1N
  153. MX28_PAD_GPMI_RDY1__GPMI_READY1
  154. >;
  155. fsl,drive-strength = <MXS_DRIVE_4mA>;
  156. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  157. fsl,pull-up = <MXS_PULL_DISABLE>;
  158. };
  159. lcdif_pins_evk: lcdif-evk@0 {
  160. reg = <0>;
  161. fsl,pinmux-ids = <
  162. MX28_PAD_LCD_RD_E__LCD_VSYNC
  163. MX28_PAD_LCD_WR_RWN__LCD_HSYNC
  164. MX28_PAD_LCD_RS__LCD_DOTCLK
  165. MX28_PAD_LCD_CS__LCD_ENABLE
  166. >;
  167. fsl,drive-strength = <MXS_DRIVE_4mA>;
  168. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  169. fsl,pull-up = <MXS_PULL_DISABLE>;
  170. };
  171. };
  172. lcdif@80030000 {
  173. pinctrl-names = "default";
  174. pinctrl-0 = <&lcdif_24bit_pins_a
  175. &lcdif_pins_evk>;
  176. status = "okay";
  177. port {
  178. display_out: endpoint {
  179. remote-endpoint = <&panel_in>;
  180. };
  181. };
  182. };
  183. can0: can@80032000 {
  184. pinctrl-names = "default";
  185. pinctrl-0 = <&can0_pins_a>;
  186. xceiver-supply = <&reg_can_3v3>;
  187. status = "okay";
  188. };
  189. can1: can@80034000 {
  190. pinctrl-names = "default";
  191. pinctrl-0 = <&can1_pins_a>;
  192. xceiver-supply = <&reg_can_3v3>;
  193. status = "okay";
  194. };
  195. };
  196. apbx@80040000 {
  197. saif0: saif@80042000 {
  198. pinctrl-names = "default";
  199. pinctrl-0 = <&saif0_pins_a>;
  200. status = "okay";
  201. };
  202. saif1: saif@80046000 {
  203. pinctrl-names = "default";
  204. pinctrl-0 = <&saif1_pins_a>;
  205. fsl,saif-master = <&saif0>;
  206. status = "okay";
  207. };
  208. lradc@80050000 {
  209. status = "okay";
  210. fsl,lradc-touchscreen-wires = <4>;
  211. fsl,ave-ctrl = <4>;
  212. fsl,ave-delay = <2>;
  213. fsl,settling = <10>;
  214. };
  215. i2c0: i2c@80058000 {
  216. pinctrl-names = "default";
  217. pinctrl-0 = <&i2c0_pins_a>;
  218. status = "okay";
  219. sgtl5000: codec@a {
  220. compatible = "fsl,sgtl5000";
  221. reg = <0x0a>;
  222. #sound-dai-cells = <0>;
  223. VDDA-supply = <&reg_3p3v>;
  224. VDDIO-supply = <&reg_3p3v>;
  225. clocks = <&saif0>;
  226. };
  227. at24@51 {
  228. compatible = "atmel,24c32";
  229. pagesize = <32>;
  230. reg = <0x51>;
  231. };
  232. };
  233. pwm: pwm@80064000 {
  234. pinctrl-names = "default";
  235. pinctrl-0 = <&pwm2_pins_a>;
  236. status = "okay";
  237. };
  238. duart: serial@80074000 {
  239. pinctrl-names = "default";
  240. pinctrl-0 = <&duart_pins_a>;
  241. status = "okay";
  242. };
  243. auart0: serial@8006a000 {
  244. pinctrl-names = "default";
  245. pinctrl-0 = <&auart0_pins_a>;
  246. uart-has-rtscts;
  247. status = "okay";
  248. };
  249. auart3: serial@80070000 {
  250. pinctrl-names = "default";
  251. pinctrl-0 = <&auart3_pins_a>;
  252. status = "okay";
  253. };
  254. usbphy0: usbphy@8007c000 {
  255. status = "okay";
  256. };
  257. usbphy1: usbphy@8007e000 {
  258. status = "okay";
  259. };
  260. };
  261. };
  262. ahb@80080000 {
  263. usb0: usb@80080000 {
  264. pinctrl-names = "default";
  265. pinctrl-0 = <&usb0_id_pins_a>;
  266. vbus-supply = <&reg_usb0_vbus>;
  267. status = "okay";
  268. };
  269. usb1: usb@80090000 {
  270. vbus-supply = <&reg_usb1_vbus>;
  271. status = "okay";
  272. };
  273. mac0: ethernet@800f0000 {
  274. phy-mode = "rmii";
  275. pinctrl-names = "default";
  276. pinctrl-0 = <&mac0_pins_a>;
  277. phy-supply = <&reg_fec_3v3>;
  278. phy-reset-gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;
  279. phy-reset-duration = <100>;
  280. status = "okay";
  281. };
  282. mac1: ethernet@800f4000 {
  283. phy-mode = "rmii";
  284. pinctrl-names = "default";
  285. pinctrl-0 = <&mac1_pins_a>;
  286. status = "okay";
  287. };
  288. };
  289. sound {
  290. compatible = "fsl,imx28-evk-sgtl5000",
  291. "fsl,mxs-audio-sgtl5000";
  292. model = "imx28-evk-sgtl5000";
  293. saif-controllers = <&saif0 &saif1>;
  294. audio-codec = <&sgtl5000>;
  295. };
  296. leds {
  297. compatible = "gpio-leds";
  298. pinctrl-names = "default";
  299. pinctrl-0 = <&led_pin_gpio3_5>;
  300. user {
  301. label = "Heartbeat";
  302. gpios = <&gpio3 5 0>;
  303. linux,default-trigger = "heartbeat";
  304. };
  305. };
  306. backlight_display: backlight {
  307. compatible = "pwm-backlight";
  308. pwms = <&pwm 2 5000000>;
  309. brightness-levels = <0 4 8 16 32 64 128 255>;
  310. default-brightness-level = <6>;
  311. };
  312. };