imx6qdl-sabresd.dtsi 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. /*
  2. * Copyright 2012 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. / {
  13. memory {
  14. reg = <0x10000000 0x40000000>;
  15. };
  16. regulators {
  17. compatible = "simple-bus";
  18. reg_usb_otg_vbus: usb_otg_vbus {
  19. compatible = "regulator-fixed";
  20. regulator-name = "usb_otg_vbus";
  21. regulator-min-microvolt = <5000000>;
  22. regulator-max-microvolt = <5000000>;
  23. gpio = <&gpio3 22 0>;
  24. enable-active-high;
  25. };
  26. reg_audio: wm8962_supply {
  27. compatible = "regulator-fixed";
  28. regulator-name = "wm8962-supply";
  29. gpio = <&gpio4 10 0>;
  30. enable-active-high;
  31. };
  32. };
  33. gpio-keys {
  34. compatible = "gpio-keys";
  35. volume-up {
  36. label = "Volume Up";
  37. gpios = <&gpio1 4 0>;
  38. linux,code = <115>; /* KEY_VOLUMEUP */
  39. };
  40. volume-down {
  41. label = "Volume Down";
  42. gpios = <&gpio1 5 0>;
  43. linux,code = <114>; /* KEY_VOLUMEDOWN */
  44. };
  45. };
  46. sound {
  47. compatible = "fsl,imx6q-sabresd-wm8962",
  48. "fsl,imx-audio-wm8962";
  49. model = "wm8962-audio";
  50. ssi-controller = <&ssi2>;
  51. audio-codec = <&codec>;
  52. audio-routing =
  53. "Headphone Jack", "HPOUTL",
  54. "Headphone Jack", "HPOUTR",
  55. "Ext Spk", "SPKOUTL",
  56. "Ext Spk", "SPKOUTR",
  57. "MICBIAS", "AMIC",
  58. "IN3R", "MICBIAS",
  59. "DMIC", "MICBIAS",
  60. "DMICDAT", "DMIC";
  61. mux-int-port = <2>;
  62. mux-ext-port = <3>;
  63. };
  64. };
  65. &audmux {
  66. pinctrl-names = "default";
  67. pinctrl-0 = <&pinctrl_audmux_2>;
  68. status = "okay";
  69. };
  70. &ecspi1 {
  71. fsl,spi-num-chipselects = <1>;
  72. cs-gpios = <&gpio4 9 0>;
  73. pinctrl-names = "default";
  74. pinctrl-0 = <&pinctrl_ecspi1_2>;
  75. status = "okay";
  76. flash: m25p80@0 {
  77. #address-cells = <1>;
  78. #size-cells = <1>;
  79. compatible = "st,m25p32";
  80. spi-max-frequency = <20000000>;
  81. reg = <0>;
  82. };
  83. };
  84. &fec {
  85. pinctrl-names = "default";
  86. pinctrl-0 = <&pinctrl_enet_1>;
  87. phy-mode = "rgmii";
  88. status = "okay";
  89. };
  90. &i2c1 {
  91. clock-frequency = <100000>;
  92. pinctrl-names = "default";
  93. pinctrl-0 = <&pinctrl_i2c1_2>;
  94. status = "okay";
  95. codec: wm8962@1a {
  96. compatible = "wlf,wm8962";
  97. reg = <0x1a>;
  98. clocks = <&clks 201>;
  99. DCVDD-supply = <&reg_audio>;
  100. DBVDD-supply = <&reg_audio>;
  101. AVDD-supply = <&reg_audio>;
  102. CPVDD-supply = <&reg_audio>;
  103. MICVDD-supply = <&reg_audio>;
  104. PLLVDD-supply = <&reg_audio>;
  105. SPKVDD1-supply = <&reg_audio>;
  106. SPKVDD2-supply = <&reg_audio>;
  107. gpio-cfg = <
  108. 0x0000 /* 0:Default */
  109. 0x0000 /* 1:Default */
  110. 0x0013 /* 2:FN_DMICCLK */
  111. 0x0000 /* 3:Default */
  112. 0x8014 /* 4:FN_DMICCDAT */
  113. 0x0000 /* 5:Default */
  114. >;
  115. };
  116. };
  117. &iomuxc {
  118. pinctrl-names = "default";
  119. pinctrl-0 = <&pinctrl_hog>;
  120. hog {
  121. pinctrl_hog: hoggrp {
  122. fsl,pins = <
  123. MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x80000000
  124. MX6QDL_PAD_GPIO_5__GPIO1_IO05 0x80000000
  125. MX6QDL_PAD_NANDF_D0__GPIO2_IO00 0x80000000
  126. MX6QDL_PAD_NANDF_D1__GPIO2_IO01 0x80000000
  127. MX6QDL_PAD_NANDF_D2__GPIO2_IO02 0x80000000
  128. MX6QDL_PAD_NANDF_D3__GPIO2_IO03 0x80000000
  129. MX6QDL_PAD_GPIO_0__CCM_CLKO1 0x130b0
  130. >;
  131. };
  132. };
  133. };
  134. &ldb {
  135. status = "okay";
  136. lvds-channel@1 {
  137. fsl,data-mapping = "spwg";
  138. fsl,data-width = <18>;
  139. status = "okay";
  140. display-timings {
  141. native-mode = <&timing0>;
  142. timing0: hsd100pxn1 {
  143. clock-frequency = <65000000>;
  144. hactive = <1024>;
  145. vactive = <768>;
  146. hback-porch = <220>;
  147. hfront-porch = <40>;
  148. vback-porch = <21>;
  149. vfront-porch = <7>;
  150. hsync-len = <60>;
  151. vsync-len = <10>;
  152. };
  153. };
  154. };
  155. };
  156. &ssi2 {
  157. fsl,mode = "i2s-slave";
  158. status = "okay";
  159. };
  160. &uart1 {
  161. pinctrl-names = "default";
  162. pinctrl-0 = <&pinctrl_uart1_1>;
  163. status = "okay";
  164. };
  165. &usbh1 {
  166. status = "okay";
  167. };
  168. &usbotg {
  169. vbus-supply = <&reg_usb_otg_vbus>;
  170. pinctrl-names = "default";
  171. pinctrl-0 = <&pinctrl_usbotg_2>;
  172. disable-over-current;
  173. status = "okay";
  174. };
  175. &usdhc2 {
  176. pinctrl-names = "default";
  177. pinctrl-0 = <&pinctrl_usdhc2_1>;
  178. cd-gpios = <&gpio2 2 0>;
  179. wp-gpios = <&gpio2 3 0>;
  180. status = "okay";
  181. };
  182. &usdhc3 {
  183. pinctrl-names = "default";
  184. pinctrl-0 = <&pinctrl_usdhc3_1>;
  185. cd-gpios = <&gpio2 0 0>;
  186. wp-gpios = <&gpio2 1 0>;
  187. status = "okay";
  188. };