imx53-qsb-common.dtsi 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. /*
  2. * Copyright 2011 Freescale Semiconductor, Inc.
  3. * Copyright 2011 Linaro Ltd.
  4. *
  5. * The code contained herein is licensed under the GNU General Public
  6. * License. You may obtain a copy of the GNU General Public License
  7. * Version 2 or later at the following locations:
  8. *
  9. * http://www.opensource.org/licenses/gpl-license.html
  10. * http://www.gnu.org/copyleft/gpl.html
  11. */
  12. #include "imx53.dtsi"
  13. / {
  14. chosen {
  15. stdout-path = &uart1;
  16. };
  17. memory {
  18. reg = <0x70000000 0x20000000>,
  19. <0xb0000000 0x20000000>;
  20. };
  21. display0: display@di0 {
  22. compatible = "fsl,imx-parallel-display";
  23. interface-pix-fmt = "rgb565";
  24. pinctrl-names = "default";
  25. pinctrl-0 = <&pinctrl_ipu_disp0>;
  26. status = "disabled";
  27. display-timings {
  28. claawvga {
  29. native-mode;
  30. clock-frequency = <27000000>;
  31. hactive = <800>;
  32. vactive = <480>;
  33. hback-porch = <40>;
  34. hfront-porch = <60>;
  35. vback-porch = <10>;
  36. vfront-porch = <10>;
  37. hsync-len = <20>;
  38. vsync-len = <10>;
  39. hsync-active = <0>;
  40. vsync-active = <0>;
  41. de-active = <1>;
  42. pixelclk-active = <0>;
  43. };
  44. };
  45. port {
  46. display0_in: endpoint {
  47. remote-endpoint = <&ipu_di0_disp0>;
  48. };
  49. };
  50. };
  51. gpio-keys {
  52. compatible = "gpio-keys";
  53. power {
  54. label = "Power Button";
  55. gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
  56. linux,code = <KEY_POWER>;
  57. };
  58. volume-up {
  59. label = "Volume Up";
  60. gpios = <&gpio2 14 GPIO_ACTIVE_LOW>;
  61. linux,code = <KEY_VOLUMEUP>;
  62. wakeup-source;
  63. };
  64. volume-down {
  65. label = "Volume Down";
  66. gpios = <&gpio2 15 GPIO_ACTIVE_LOW>;
  67. linux,code = <KEY_VOLUMEDOWN>;
  68. wakeup-source;
  69. };
  70. };
  71. leds {
  72. compatible = "gpio-leds";
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&led_pin_gpio7_7>;
  75. user {
  76. label = "Heartbeat";
  77. gpios = <&gpio7 7 0>;
  78. linux,default-trigger = "heartbeat";
  79. };
  80. };
  81. regulators {
  82. compatible = "simple-bus";
  83. #address-cells = <1>;
  84. #size-cells = <0>;
  85. reg_3p2v: regulator@0 {
  86. compatible = "regulator-fixed";
  87. reg = <0>;
  88. regulator-name = "3P2V";
  89. regulator-min-microvolt = <3200000>;
  90. regulator-max-microvolt = <3200000>;
  91. regulator-always-on;
  92. };
  93. reg_usb_vbus: regulator@1 {
  94. compatible = "regulator-fixed";
  95. reg = <1>;
  96. regulator-name = "usb_vbus";
  97. regulator-min-microvolt = <5000000>;
  98. regulator-max-microvolt = <5000000>;
  99. gpio = <&gpio7 8 0>;
  100. enable-active-high;
  101. };
  102. };
  103. sound {
  104. compatible = "fsl,imx53-qsb-sgtl5000",
  105. "fsl,imx-audio-sgtl5000";
  106. model = "imx53-qsb-sgtl5000";
  107. ssi-controller = <&ssi2>;
  108. audio-codec = <&sgtl5000>;
  109. audio-routing =
  110. "MIC_IN", "Mic Jack",
  111. "Mic Jack", "Mic Bias",
  112. "Headphone Jack", "HP_OUT";
  113. mux-int-port = <2>;
  114. mux-ext-port = <5>;
  115. };
  116. };
  117. &esdhc1 {
  118. pinctrl-names = "default";
  119. pinctrl-0 = <&pinctrl_esdhc1>;
  120. status = "okay";
  121. };
  122. &ipu_di0_disp0 {
  123. remote-endpoint = <&display0_in>;
  124. };
  125. &ssi2 {
  126. status = "okay";
  127. };
  128. &esdhc3 {
  129. pinctrl-names = "default";
  130. pinctrl-0 = <&pinctrl_esdhc3>;
  131. cd-gpios = <&gpio3 11 GPIO_ACTIVE_LOW>;
  132. wp-gpios = <&gpio3 12 GPIO_ACTIVE_HIGH>;
  133. bus-width = <8>;
  134. status = "okay";
  135. };
  136. &iomuxc {
  137. pinctrl-names = "default";
  138. pinctrl-0 = <&pinctrl_hog>;
  139. imx53-qsb {
  140. pinctrl_hog: hoggrp {
  141. fsl,pins = <
  142. MX53_PAD_GPIO_0__CCM_SSI_EXT1_CLK 0x80000000
  143. MX53_PAD_GPIO_8__GPIO1_8 0x80000000
  144. MX53_PAD_PATA_DATA14__GPIO2_14 0x80000000
  145. MX53_PAD_PATA_DATA15__GPIO2_15 0x80000000
  146. MX53_PAD_EIM_DA11__GPIO3_11 0x80000000
  147. MX53_PAD_EIM_DA12__GPIO3_12 0x80000000
  148. MX53_PAD_PATA_DA_0__GPIO7_6 0x80000000
  149. MX53_PAD_PATA_DA_2__GPIO7_8 0x80000000
  150. MX53_PAD_GPIO_16__GPIO7_11 0x80000000
  151. >;
  152. };
  153. led_pin_gpio7_7: led_gpio7_7@0 {
  154. fsl,pins = <
  155. MX53_PAD_PATA_DA_1__GPIO7_7 0x80000000
  156. >;
  157. };
  158. pinctrl_audmux: audmuxgrp {
  159. fsl,pins = <
  160. MX53_PAD_KEY_COL0__AUDMUX_AUD5_TXC 0x80000000
  161. MX53_PAD_KEY_ROW0__AUDMUX_AUD5_TXD 0x80000000
  162. MX53_PAD_KEY_COL1__AUDMUX_AUD5_TXFS 0x80000000
  163. MX53_PAD_KEY_ROW1__AUDMUX_AUD5_RXD 0x80000000
  164. >;
  165. };
  166. pinctrl_esdhc1: esdhc1grp {
  167. fsl,pins = <
  168. MX53_PAD_SD1_DATA0__ESDHC1_DAT0 0x1d5
  169. MX53_PAD_SD1_DATA1__ESDHC1_DAT1 0x1d5
  170. MX53_PAD_SD1_DATA2__ESDHC1_DAT2 0x1d5
  171. MX53_PAD_SD1_DATA3__ESDHC1_DAT3 0x1d5
  172. MX53_PAD_SD1_CMD__ESDHC1_CMD 0x1d5
  173. MX53_PAD_SD1_CLK__ESDHC1_CLK 0x1d5
  174. >;
  175. };
  176. pinctrl_esdhc3: esdhc3grp {
  177. fsl,pins = <
  178. MX53_PAD_PATA_DATA8__ESDHC3_DAT0 0x1d5
  179. MX53_PAD_PATA_DATA9__ESDHC3_DAT1 0x1d5
  180. MX53_PAD_PATA_DATA10__ESDHC3_DAT2 0x1d5
  181. MX53_PAD_PATA_DATA11__ESDHC3_DAT3 0x1d5
  182. MX53_PAD_PATA_DATA0__ESDHC3_DAT4 0x1d5
  183. MX53_PAD_PATA_DATA1__ESDHC3_DAT5 0x1d5
  184. MX53_PAD_PATA_DATA2__ESDHC3_DAT6 0x1d5
  185. MX53_PAD_PATA_DATA3__ESDHC3_DAT7 0x1d5
  186. MX53_PAD_PATA_RESET_B__ESDHC3_CMD 0x1d5
  187. MX53_PAD_PATA_IORDY__ESDHC3_CLK 0x1d5
  188. >;
  189. };
  190. pinctrl_fec: fecgrp {
  191. fsl,pins = <
  192. MX53_PAD_FEC_MDC__FEC_MDC 0x80000000
  193. MX53_PAD_FEC_MDIO__FEC_MDIO 0x80000000
  194. MX53_PAD_FEC_REF_CLK__FEC_TX_CLK 0x80000000
  195. MX53_PAD_FEC_RX_ER__FEC_RX_ER 0x80000000
  196. MX53_PAD_FEC_CRS_DV__FEC_RX_DV 0x80000000
  197. MX53_PAD_FEC_RXD1__FEC_RDATA_1 0x80000000
  198. MX53_PAD_FEC_RXD0__FEC_RDATA_0 0x80000000
  199. MX53_PAD_FEC_TX_EN__FEC_TX_EN 0x80000000
  200. MX53_PAD_FEC_TXD1__FEC_TDATA_1 0x80000000
  201. MX53_PAD_FEC_TXD0__FEC_TDATA_0 0x80000000
  202. >;
  203. };
  204. /* open drain */
  205. pinctrl_i2c1: i2c1grp {
  206. fsl,pins = <
  207. MX53_PAD_CSI0_DAT8__I2C1_SDA 0x400001ec
  208. MX53_PAD_CSI0_DAT9__I2C1_SCL 0x400001ec
  209. >;
  210. };
  211. pinctrl_i2c2: i2c2grp {
  212. fsl,pins = <
  213. MX53_PAD_KEY_ROW3__I2C2_SDA 0xc0000000
  214. MX53_PAD_KEY_COL3__I2C2_SCL 0xc0000000
  215. >;
  216. };
  217. pinctrl_ipu_disp0: ipudisp0grp {
  218. fsl,pins = <
  219. MX53_PAD_DI0_DISP_CLK__IPU_DI0_DISP_CLK 0x5
  220. MX53_PAD_DI0_PIN15__IPU_DI0_PIN15 0x5
  221. MX53_PAD_DI0_PIN2__IPU_DI0_PIN2 0x5
  222. MX53_PAD_DI0_PIN3__IPU_DI0_PIN3 0x5
  223. MX53_PAD_DISP0_DAT0__IPU_DISP0_DAT_0 0x5
  224. MX53_PAD_DISP0_DAT1__IPU_DISP0_DAT_1 0x5
  225. MX53_PAD_DISP0_DAT2__IPU_DISP0_DAT_2 0x5
  226. MX53_PAD_DISP0_DAT3__IPU_DISP0_DAT_3 0x5
  227. MX53_PAD_DISP0_DAT4__IPU_DISP0_DAT_4 0x5
  228. MX53_PAD_DISP0_DAT5__IPU_DISP0_DAT_5 0x5
  229. MX53_PAD_DISP0_DAT6__IPU_DISP0_DAT_6 0x5
  230. MX53_PAD_DISP0_DAT7__IPU_DISP0_DAT_7 0x5
  231. MX53_PAD_DISP0_DAT8__IPU_DISP0_DAT_8 0x5
  232. MX53_PAD_DISP0_DAT9__IPU_DISP0_DAT_9 0x5
  233. MX53_PAD_DISP0_DAT10__IPU_DISP0_DAT_10 0x5
  234. MX53_PAD_DISP0_DAT11__IPU_DISP0_DAT_11 0x5
  235. MX53_PAD_DISP0_DAT12__IPU_DISP0_DAT_12 0x5
  236. MX53_PAD_DISP0_DAT13__IPU_DISP0_DAT_13 0x5
  237. MX53_PAD_DISP0_DAT14__IPU_DISP0_DAT_14 0x5
  238. MX53_PAD_DISP0_DAT15__IPU_DISP0_DAT_15 0x5
  239. MX53_PAD_DISP0_DAT16__IPU_DISP0_DAT_16 0x5
  240. MX53_PAD_DISP0_DAT17__IPU_DISP0_DAT_17 0x5
  241. MX53_PAD_DISP0_DAT18__IPU_DISP0_DAT_18 0x5
  242. MX53_PAD_DISP0_DAT19__IPU_DISP0_DAT_19 0x5
  243. MX53_PAD_DISP0_DAT20__IPU_DISP0_DAT_20 0x5
  244. MX53_PAD_DISP0_DAT21__IPU_DISP0_DAT_21 0x5
  245. MX53_PAD_DISP0_DAT22__IPU_DISP0_DAT_22 0x5
  246. MX53_PAD_DISP0_DAT23__IPU_DISP0_DAT_23 0x5
  247. >;
  248. };
  249. pinctrl_vga_sync: vgasync-grp {
  250. fsl,pins = <
  251. /* VGA_HSYNC, VSYNC with max drive strength */
  252. MX53_PAD_EIM_OE__IPU_DI1_PIN7 0xe6
  253. MX53_PAD_EIM_RW__IPU_DI1_PIN8 0xe6
  254. >;
  255. };
  256. pinctrl_uart1: uart1grp {
  257. fsl,pins = <
  258. MX53_PAD_CSI0_DAT10__UART1_TXD_MUX 0x1e4
  259. MX53_PAD_CSI0_DAT11__UART1_RXD_MUX 0x1e4
  260. >;
  261. };
  262. };
  263. };
  264. &tve {
  265. pinctrl-names = "default";
  266. pinctrl-0 = <&pinctrl_vga_sync>;
  267. ddc-i2c-bus = <&i2c2>;
  268. fsl,tve-mode = "vga";
  269. fsl,hsync-pin = <7>; /* IPU DI1 PIN7 via EIM_OE */
  270. fsl,vsync-pin = <8>; /* IPU DI1 PIN8 via EIM_RW */
  271. status = "okay";
  272. };
  273. &uart1 {
  274. pinctrl-names = "default";
  275. pinctrl-0 = <&pinctrl_uart1>;
  276. status = "okay";
  277. };
  278. &i2c2 {
  279. pinctrl-names = "default";
  280. pinctrl-0 = <&pinctrl_i2c2>;
  281. status = "okay";
  282. sgtl5000: codec@0a {
  283. compatible = "fsl,sgtl5000";
  284. reg = <0x0a>;
  285. VDDA-supply = <&reg_3p2v>;
  286. VDDIO-supply = <&reg_3p2v>;
  287. clocks = <&clks IMX5_CLK_SSI_EXT1_GATE>;
  288. };
  289. };
  290. &i2c1 {
  291. pinctrl-names = "default";
  292. pinctrl-0 = <&pinctrl_i2c1>;
  293. status = "okay";
  294. accelerometer: mma8450@1c {
  295. compatible = "fsl,mma8450";
  296. reg = <0x1c>;
  297. };
  298. };
  299. &audmux {
  300. pinctrl-names = "default";
  301. pinctrl-0 = <&pinctrl_audmux>;
  302. status = "okay";
  303. };
  304. &fec {
  305. pinctrl-names = "default";
  306. pinctrl-0 = <&pinctrl_fec>;
  307. phy-mode = "rmii";
  308. phy-reset-gpios = <&gpio7 6 0>;
  309. status = "okay";
  310. };
  311. &sata {
  312. status = "okay";
  313. };
  314. &vpu {
  315. status = "okay";
  316. };
  317. &usbh1 {
  318. vbus-supply = <&reg_usb_vbus>;
  319. phy_type = "utmi";
  320. status = "okay";
  321. };
  322. &usbotg {
  323. dr_mode = "peripheral";
  324. status = "okay";
  325. };