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 |
