diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2016-05-02 19:56:26 -0400 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2016-05-03 08:49:45 -0400 |
commit | bf3251e112a0139c8dec796c9f12f2e8f01a73ca (patch) | |
tree | da4a665c0c9a8be5f1388c066e9f58aca235d4c0 | |
parent | c77ebb4534aa8f1d74d62c4604cc8ac1bf40f5ec (diff) |
ARM: dts: imx6ul-14x14-evk: Add audio support
imx6ul-14x14-evk has a wm8960 codec connected via SAI2 port.
Add support for it.
Thanks to Petr Kulhavy <brain@jikos.cz> for the hint on initializing
the PLL4 frequency to get a correct MCLK.
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
-rw-r--r-- | arch/arm/boot/dts/imx6ul-14x14-evk.dts | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dts b/arch/arm/boot/dts/imx6ul-14x14-evk.dts index 720728001d3c..668a72997590 100644 --- a/arch/arm/boot/dts/imx6ul-14x14-evk.dts +++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dts | |||
@@ -36,6 +36,45 @@ | |||
36 | enable-active-high; | 36 | enable-active-high; |
37 | }; | 37 | }; |
38 | }; | 38 | }; |
39 | |||
40 | sound { | ||
41 | compatible = "simple-audio-card"; | ||
42 | simple-audio-card,name = "mx6ul-wm8960"; | ||
43 | simple-audio-card,format = "i2s"; | ||
44 | simple-audio-card,bitclock-master = <&dailink_master>; | ||
45 | simple-audio-card,frame-master = <&dailink_master>; | ||
46 | simple-audio-card,widgets = | ||
47 | "Microphone", "Mic Jack", | ||
48 | "Line", "Line In", | ||
49 | "Line", "Line Out", | ||
50 | "Speaker", "Speaker", | ||
51 | "Headphone", "Headphone Jack"; | ||
52 | simple-audio-card,routing = | ||
53 | "Headphone Jack", "HP_L", | ||
54 | "Headphone Jack", "HP_R", | ||
55 | "Speaker", "SPK_LP", | ||
56 | "Speaker", "SPK_LN", | ||
57 | "Speaker", "SPK_RP", | ||
58 | "Speaker", "SPK_RN", | ||
59 | "LINPUT1", "Mic Jack", | ||
60 | "LINPUT3", "Mic Jack", | ||
61 | "RINPUT1", "Mic Jack", | ||
62 | "RINPUT2", "Mic Jack"; | ||
63 | |||
64 | simple-audio-card,cpu { | ||
65 | sound-dai = <&sai2>; | ||
66 | }; | ||
67 | |||
68 | dailink_master: simple-audio-card,codec { | ||
69 | sound-dai = <&codec>; | ||
70 | clocks = <&clks IMX6UL_CLK_SAI2>; | ||
71 | }; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | &clks { | ||
76 | assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; | ||
77 | assigned-clock-rates = <786432000>; | ||
39 | }; | 78 | }; |
40 | 79 | ||
41 | &cpu0 { | 80 | &cpu0 { |
@@ -43,6 +82,20 @@ | |||
43 | soc-supply = <®_soc>; | 82 | soc-supply = <®_soc>; |
44 | }; | 83 | }; |
45 | 84 | ||
85 | &i2c2 { | ||
86 | clock_frequency = <100000>; | ||
87 | pinctrl-names = "default"; | ||
88 | pinctrl-0 = <&pinctrl_i2c2>; | ||
89 | status = "okay"; | ||
90 | |||
91 | codec: wm8960@1a { | ||
92 | #sound-dai-cells = <0>; | ||
93 | compatible = "wlf,wm8960"; | ||
94 | reg = <0x1a>; | ||
95 | wlf,shared-lrclk; | ||
96 | }; | ||
97 | }; | ||
98 | |||
46 | &fec1 { | 99 | &fec1 { |
47 | pinctrl-names = "default"; | 100 | pinctrl-names = "default"; |
48 | pinctrl-0 = <&pinctrl_enet1>; | 101 | pinctrl-0 = <&pinctrl_enet1>; |
@@ -86,6 +139,16 @@ | |||
86 | }; | 139 | }; |
87 | }; | 140 | }; |
88 | 141 | ||
142 | &sai2 { | ||
143 | pinctrl-names = "default"; | ||
144 | pinctrl-0 = <&pinctrl_sai2>; | ||
145 | assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>, | ||
146 | <&clks IMX6UL_CLK_SAI2>; | ||
147 | assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>; | ||
148 | assigned-clock-rates = <0>, <12288000>; | ||
149 | status = "okay"; | ||
150 | }; | ||
151 | |||
89 | &snvs_poweroff { | 152 | &snvs_poweroff { |
90 | status = "okay"; | 153 | status = "okay"; |
91 | }; | 154 | }; |
@@ -272,6 +335,17 @@ | |||
272 | >; | 335 | >; |
273 | }; | 336 | }; |
274 | 337 | ||
338 | pinctrl_sai2: sai2grp { | ||
339 | fsl,pins = < | ||
340 | MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088 | ||
341 | MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088 | ||
342 | MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088 | ||
343 | MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088 | ||
344 | MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088 | ||
345 | MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059 | ||
346 | >; | ||
347 | }; | ||
348 | |||
275 | pinctrl_pwm1: pwm1grp { | 349 | pinctrl_pwm1: pwm1grp { |
276 | fsl,pins = < | 350 | fsl,pins = < |
277 | MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0 | 351 | MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0 |