imx28-apf28dev.dts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. /*
  2. * Copyright 2012 Armadeus Systems - <support@armadeus.com>
  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. /* APF28Dev is a docking board for the APF28 SOM */
  12. #include "imx28-apf28.dts"
  13. / {
  14. model = "Armadeus Systems APF28Dev docking/development board";
  15. compatible = "armadeus,imx28-apf28dev", "armadeus,imx28-apf28", "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_4bit_pins_a
  22. &mmc0_cd_cfg &mmc0_sck_cfg>;
  23. bus-width = <4>;
  24. status = "okay";
  25. };
  26. ssp2: ssp@80014000 {
  27. compatible = "fsl,imx28-spi";
  28. pinctrl-names = "default";
  29. pinctrl-0 = <&spi2_pins_a>;
  30. status = "okay";
  31. };
  32. pinctrl@80018000 {
  33. pinctrl-names = "default";
  34. pinctrl-0 = <&hog_pins_apf28dev>;
  35. hog_pins_apf28dev: hog@0 {
  36. reg = <0>;
  37. fsl,pinmux-ids = <
  38. MX28_PAD_LCD_D16__GPIO_1_16
  39. MX28_PAD_LCD_D17__GPIO_1_17
  40. MX28_PAD_LCD_D18__GPIO_1_18
  41. MX28_PAD_LCD_D19__GPIO_1_19
  42. MX28_PAD_LCD_D20__GPIO_1_20
  43. MX28_PAD_LCD_D21__GPIO_1_21
  44. MX28_PAD_LCD_D22__GPIO_1_22
  45. MX28_PAD_GPMI_CE1N__GPIO_0_17
  46. >;
  47. fsl,drive-strength = <MXS_DRIVE_4mA>;
  48. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  49. fsl,pull-up = <MXS_PULL_DISABLE>;
  50. };
  51. lcdif_pins_apf28dev: lcdif-apf28dev@0 {
  52. reg = <0>;
  53. fsl,pinmux-ids = <
  54. MX28_PAD_LCD_RD_E__LCD_VSYNC
  55. MX28_PAD_LCD_WR_RWN__LCD_HSYNC
  56. MX28_PAD_LCD_RS__LCD_DOTCLK
  57. MX28_PAD_LCD_CS__LCD_ENABLE
  58. >;
  59. fsl,drive-strength = <MXS_DRIVE_4mA>;
  60. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  61. fsl,pull-up = <MXS_PULL_DISABLE>;
  62. };
  63. usb0_otg_apf28dev: otg-apf28dev@0 {
  64. reg = <0>;
  65. fsl,pinmux-ids = <
  66. MX28_PAD_LCD_D23__GPIO_1_23
  67. >;
  68. fsl,drive-strength = <MXS_DRIVE_4mA>;
  69. fsl,voltage = <MXS_VOLTAGE_HIGH>;
  70. fsl,pull-up = <MXS_PULL_DISABLE>;
  71. };
  72. };
  73. lcdif@80030000 {
  74. pinctrl-names = "default";
  75. pinctrl-0 = <&lcdif_16bit_pins_a
  76. &lcdif_pins_apf28dev>;
  77. display = <&display0>;
  78. status = "okay";
  79. display0: display0 {
  80. bits-per-pixel = <16>;
  81. bus-width = <16>;
  82. display-timings {
  83. native-mode = <&timing0>;
  84. timing0: timing0 {
  85. clock-frequency = <33000033>;
  86. hactive = <800>;
  87. vactive = <480>;
  88. hback-porch = <96>;
  89. hfront-porch = <96>;
  90. vback-porch = <20>;
  91. vfront-porch = <21>;
  92. hsync-len = <64>;
  93. vsync-len = <4>;
  94. hsync-active = <1>;
  95. vsync-active = <1>;
  96. de-active = <1>;
  97. pixelclk-active = <0>;
  98. };
  99. };
  100. };
  101. };
  102. };
  103. apbx@80040000 {
  104. lradc@80050000 {
  105. fsl,lradc-touchscreen-wires = <4>;
  106. status = "okay";
  107. };
  108. i2c0: i2c@80058000 {
  109. pinctrl-names = "default";
  110. pinctrl-0 = <&i2c0_pins_a>;
  111. status = "okay";
  112. };
  113. pwm: pwm@80064000 {
  114. pinctrl-names = "default";
  115. pinctrl-0 = <&pwm3_pins_a &pwm4_pins_a>;
  116. status = "okay";
  117. };
  118. usbphy0: usbphy@8007c000 {
  119. status = "okay";
  120. };
  121. usbphy1: usbphy@8007e000 {
  122. status = "okay";
  123. };
  124. };
  125. };
  126. ahb@80080000 {
  127. usb0: usb@80080000 {
  128. pinctrl-names = "default";
  129. pinctrl-0 = <&usb0_otg_apf28dev>;
  130. vbus-supply = <&reg_usb0_vbus>;
  131. status = "okay";
  132. };
  133. usb1: usb@80090000 {
  134. status = "okay";
  135. };
  136. mac1: ethernet@800f4000 {
  137. phy-mode = "rmii";
  138. pinctrl-names = "default";
  139. pinctrl-0 = <&mac1_pins_a>;
  140. phy-reset-gpios = <&gpio0 23 0>;
  141. status = "okay";
  142. };
  143. };
  144. regulators {
  145. compatible = "simple-bus";
  146. #address-cells = <1>;
  147. #size-cells = <0>;
  148. reg_usb0_vbus: regulator@0 {
  149. compatible = "regulator-fixed";
  150. reg = <0>;
  151. regulator-name = "usb0_vbus";
  152. regulator-min-microvolt = <5000000>;
  153. regulator-max-microvolt = <5000000>;
  154. gpio = <&gpio1 23 1>;
  155. enable-active-high;
  156. };
  157. };
  158. leds {
  159. compatible = "gpio-leds";
  160. user {
  161. label = "Heartbeat";
  162. gpios = <&gpio0 21 0>;
  163. linux,default-trigger = "heartbeat";
  164. };
  165. };
  166. backlight {
  167. compatible = "pwm-backlight";
  168. pwms = <&pwm 3 191000>;
  169. brightness-levels = <0 4 8 16 32 64 128 255>;
  170. default-brightness-level = <6>;
  171. };
  172. gpio-keys {
  173. compatible = "gpio-keys";
  174. user-button {
  175. label = "User button";
  176. gpios = <&gpio0 17 0>;
  177. linux,code = <0x100>;
  178. };
  179. };
  180. };