[alsa-devel] iMX6UL EVK with kernel 4.6
Petr Kulhavy
brain at jikos.cz
Sun May 1 20:43:41 CEST 2016
On 01/05/16 20:27, Fabio Estevam wrote:
> On Sun, May 1, 2016 at 11:49 AM, Fabio Estevam <festevam at gmail.com> wrote:
>> On Sat, Apr 30, 2016 at 8:18 AM, Petr Kulhavy <brain at jikos.cz> wrote:
>>> Hi,
>>>
>>> I'm trying to run the latest mainline kernel 4.6 on the iMX6UL EVK. The
>>> board mostly works and the only problem is audio.
>>> Even though the sound card is detected and the ALSA mixer can be controlled
>>> there is no MCLK coming out of the SAI2 interface.
>> Also, have you tried setting bit 20 (SAI2_MCLK_DIR) of register IOMUXC_GPR_GPR1?
>>
>> You can set this bit in the bootloader for a quick test.
> So I tried it myself and here are the changes I did:
Hi Fabio,
and did that work for you?
In my DTS file I made a few more changes, see below.
Petr
> diff --git a/arch/arm/boot/dts/imx6ul-14x14-evk.dts
> b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
> index 7207280..8c20783 100644
> --- a/arch/arm/boot/dts/imx6ul-14x14-evk.dts
> +++ b/arch/arm/boot/dts/imx6ul-14x14-evk.dts
> @@ -36,6 +36,23 @@
> enable-active-high;
> };
> };
> +
> + sound {
> + compatible = "simple-audio-card";
> + simple-audio-card,name = "mx6ul-evk-sound-card";
> + simple-audio-card,format = "i2s";
> + simple-audio-card,bitclock-master = <&dailink_master>;
> + simple-audio-card,frame-master = <&dailink_master>;
simple-audio-card,widgets =
"Microphone", "Mic Jack",
"Line", "Line In",
"Line", "Line Out",
"Speaker", "Speaker",
"Headphone", "Headphone Jack";
simple-audio-card,routing =
"Headphone Jack", "HP_L",
"Headphone Jack", "HP_R",
"Speaker", "SPK_LP",
"Speaker", "SPK_LN",
"Speaker", "SPK_RP",
"Speaker", "SPK_RN",
"LINPUT1", "Mic Jack",
"LINPUT3", "Mic Jack",
"RINPUT1", "Mic Jack",
"RINPUT2", "Mic Jack";
> +
> + simple-audio-card,cpu {
> + sound-dai = <&sai2>;
> + };
> +
> + dailink_master: simple-audio-card,codec {
> + sound-dai = <&codec>;
> + clocks = <&clks IMX6UL_CLK_SAI2>;
> + };
> + };
> };
>
> &cpu0 {
> @@ -43,6 +60,20 @@
> soc-supply = <®_soc>;
> };
>
> +&i2c2 {
> + clock_frequency = <100000>;
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c2>;
> + status = "okay";
> +
> + codec: wm8960 at 1a {
> + #sound-dai-cells = <0>;
> + compatible = "wlf,wm8960";
> + reg = <0x1a>;
clocks = <&clks IMX6UL_CLK_SAI2>;
clock-names = "mclk";
> + wlf,shared-lrclk;
> + };
> +};
> +
> &fec1 {
> pinctrl-names = "default";
> pinctrl-0 = <&pinctrl_enet1>;
> @@ -86,6 +117,18 @@
> };
> };
>
> +&sai2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_sai2>;
> +
> + assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
> + <&clks IMX6UL_CLK_SAI2>;
> + assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
> + assigned-clock-rates = <0>, <12288000>;
> +
> + status = "okay";
> +};
> +
> &snvs_poweroff {
> status = "okay";
> };
> @@ -272,6 +315,17 @@
> >;
> };
>
> + pinctrl_sai2: sai2grp {
> + fsl,pins = <
> + MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088
> + MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088
> + MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088
> + MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088
> + MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088
> + MX6UL_PAD_SNVS_TAMPER4__GPIO5_IO04 0x17059
> + >;
> + };
> +
> pinctrl_pwm1: pwm1grp {
> fsl,pins = <
> MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0
More information about the Alsa-devel
mailing list