diff options
author | Fabio Estevam <fabio.estevam@freescale.com> | 2014-02-06 05:57:51 -0500 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2014-02-10 03:27:44 -0500 |
commit | 032de438cf659cf105c59c8d013b85aaf11a727c (patch) | |
tree | 6a63af2ead858439d46225ae086235537a5095f1 | |
parent | 56df2680c062466686e52ba1bf559ead7006ce7e (diff) |
ARM: dts: imx6sl-evk: Add audio support
imx6sl-evk has a wm8962 codec. Add support for it.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r-- | arch/arm/boot/dts/imx6sl-evk.dts | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6sl-evk.dts b/arch/arm/boot/dts/imx6sl-evk.dts index 1899f8549dc2..3216edec46e9 100644 --- a/arch/arm/boot/dts/imx6sl-evk.dts +++ b/arch/arm/boot/dts/imx6sl-evk.dts | |||
@@ -43,9 +43,49 @@ | |||
43 | gpio = <&gpio4 2 0>; | 43 | gpio = <&gpio4 2 0>; |
44 | enable-active-high; | 44 | enable-active-high; |
45 | }; | 45 | }; |
46 | |||
47 | reg_aud3v: regulator@2 { | ||
48 | compatible = "regulator-fixed"; | ||
49 | reg = <2>; | ||
50 | regulator-name = "wm8962-supply-3v15"; | ||
51 | regulator-min-microvolt = <3150000>; | ||
52 | regulator-max-microvolt = <3150000>; | ||
53 | regulator-boot-on; | ||
54 | }; | ||
55 | |||
56 | reg_aud4v: regulator@3 { | ||
57 | compatible = "regulator-fixed"; | ||
58 | reg = <3>; | ||
59 | regulator-name = "wm8962-supply-4v2"; | ||
60 | regulator-min-microvolt = <4325000>; | ||
61 | regulator-max-microvolt = <4325000>; | ||
62 | regulator-boot-on; | ||
63 | }; | ||
64 | }; | ||
65 | |||
66 | sound { | ||
67 | compatible = "fsl,imx6sl-evk-wm8962", "fsl,imx-audio-wm8962"; | ||
68 | model = "wm8962-audio"; | ||
69 | ssi-controller = <&ssi2>; | ||
70 | audio-codec = <&codec>; | ||
71 | audio-routing = | ||
72 | "Headphone Jack", "HPOUTL", | ||
73 | "Headphone Jack", "HPOUTR", | ||
74 | "Ext Spk", "SPKOUTL", | ||
75 | "Ext Spk", "SPKOUTR", | ||
76 | "AMIC", "MICBIAS", | ||
77 | "IN3R", "AMIC"; | ||
78 | mux-int-port = <2>; | ||
79 | mux-ext-port = <3>; | ||
46 | }; | 80 | }; |
47 | }; | 81 | }; |
48 | 82 | ||
83 | &audmux { | ||
84 | pinctrl-names = "default"; | ||
85 | pinctrl-0 = <&pinctrl_audmux3>; | ||
86 | status = "okay"; | ||
87 | }; | ||
88 | |||
49 | &ecspi1 { | 89 | &ecspi1 { |
50 | fsl,spi-num-chipselects = <1>; | 90 | fsl,spi-num-chipselects = <1>; |
51 | cs-gpios = <&gpio4 11 0>; | 91 | cs-gpios = <&gpio4 11 0>; |
@@ -175,6 +215,27 @@ | |||
175 | }; | 215 | }; |
176 | }; | 216 | }; |
177 | 217 | ||
218 | &i2c2 { | ||
219 | clock-frequency = <100000>; | ||
220 | pinctrl-names = "default"; | ||
221 | pinctrl-0 = <&pinctrl_i2c2>; | ||
222 | status = "okay"; | ||
223 | |||
224 | codec: wm8962@1a { | ||
225 | compatible = "wlf,wm8962"; | ||
226 | reg = <0x1a>; | ||
227 | clocks = <&clks IMX6SL_CLK_EXTERN_AUDIO>; | ||
228 | DCVDD-supply = <&vgen3_reg>; | ||
229 | DBVDD-supply = <®_aud3v>; | ||
230 | AVDD-supply = <&vgen3_reg>; | ||
231 | CPVDD-supply = <&vgen3_reg>; | ||
232 | MICVDD-supply = <®_aud3v>; | ||
233 | PLLVDD-supply = <&vgen3_reg>; | ||
234 | SPKVDD1-supply = <®_aud4v>; | ||
235 | SPKVDD2-supply = <®_aud4v>; | ||
236 | }; | ||
237 | }; | ||
238 | |||
178 | &iomuxc { | 239 | &iomuxc { |
179 | pinctrl-names = "default"; | 240 | pinctrl-names = "default"; |
180 | pinctrl-0 = <&pinctrl_hog>; | 241 | pinctrl-0 = <&pinctrl_hog>; |
@@ -189,6 +250,16 @@ | |||
189 | MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059 | 250 | MX6SL_PAD_REF_CLK_32K__GPIO3_IO22 0x17059 |
190 | MX6SL_PAD_KEY_COL4__GPIO4_IO00 0x80000000 | 251 | MX6SL_PAD_KEY_COL4__GPIO4_IO00 0x80000000 |
191 | MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x80000000 | 252 | MX6SL_PAD_KEY_COL5__GPIO4_IO02 0x80000000 |
253 | MX6SL_PAD_AUD_MCLK__AUDIO_CLK_OUT 0x4130b0 | ||
254 | >; | ||
255 | }; | ||
256 | |||
257 | pinctrl_audmux3: audmux3grp { | ||
258 | fsl,pins = < | ||
259 | MX6SL_PAD_AUD_RXD__AUD3_RXD 0x4130b0 | ||
260 | MX6SL_PAD_AUD_TXC__AUD3_TXC 0x4130b0 | ||
261 | MX6SL_PAD_AUD_TXD__AUD3_TXD 0x4110b0 | ||
262 | MX6SL_PAD_AUD_TXFS__AUD3_TXFS 0x4130b0 | ||
192 | >; | 263 | >; |
193 | }; | 264 | }; |
194 | 265 | ||
@@ -221,6 +292,14 @@ | |||
221 | >; | 292 | >; |
222 | }; | 293 | }; |
223 | 294 | ||
295 | |||
296 | pinctrl_i2c2: i2c2grp { | ||
297 | fsl,pins = < | ||
298 | MX6SL_PAD_I2C2_SCL__I2C2_SCL 0x4001b8b1 | ||
299 | MX6SL_PAD_I2C2_SDA__I2C2_SDA 0x4001b8b1 | ||
300 | >; | ||
301 | }; | ||
302 | |||
224 | pinctrl_kpp: kppgrp { | 303 | pinctrl_kpp: kppgrp { |
225 | fsl,pins = < | 304 | fsl,pins = < |
226 | MX6SL_PAD_KEY_ROW0__KEY_ROW0 0x1b010 | 305 | MX6SL_PAD_KEY_ROW0__KEY_ROW0 0x1b010 |
@@ -374,6 +453,11 @@ | |||
374 | status = "okay"; | 453 | status = "okay"; |
375 | }; | 454 | }; |
376 | 455 | ||
456 | &ssi2 { | ||
457 | fsl,mode = "i2s-slave"; | ||
458 | status = "okay"; | ||
459 | }; | ||
460 | |||
377 | &uart1 { | 461 | &uart1 { |
378 | pinctrl-names = "default"; | 462 | pinctrl-names = "default"; |
379 | pinctrl-0 = <&pinctrl_uart1>; | 463 | pinctrl-0 = <&pinctrl_uart1>; |