AnsweredAssumed Answered

iMX6 with wm8950 ssi issue

Question asked by Han Gun Woo on Jul 8, 2020
Latest reply on Jul 8, 2020 by igorpadykov

Hi.

I got a problem of wm8950 codec on imx6solo custom board.

Here is my dts configuration.

 

    sound {
        compatible = "fsl,imx6q-sabresd-wm8950",
               "fsl,imx-audio-wm8950";
        model = "wm8950-audio";
        audio-cpu = <&ssi2>;
        audio-codec = <&codec>;
        audio-routing =
            "AMIC", "Mic Bias";
        mux-int-port = <2>;
        mux-ext-port = <3>;
        mic-det-gpios = <&gpio1 9 1>;
    };   

 

&ssi2 {
    status = "okay";
};


&audmux {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_audmux>;
    status = "okay";
};

 

        pinctrl_audmux: audmuxgrp {
            fsl,pins = <
                MX6QDL_PAD_CSI0_DAT7__AUD3_RXD        0x130b0
                MX6QDL_PAD_CSI0_DAT4__AUD3_TXC        0x130b0
                MX6QDL_PAD_CSI0_DAT5__AUD3_TXD        0x110b0
                MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS        0x130b0
            >;
        };

 

&i2c1 {
    status = "okay";

 

    codec: wm8950@1a {
        compatible = "wlf,wm8950";
        reg = <0x1a>;
        clocks = <&clks IMX6QDL_CLK_CKO>;
        
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_wm8950>;

    };
};

 

And part of kernel log.

 

[    3.525426] fsl-ssi-dai 2028000.ssi: No cache defaults, reading back from HW
[    3.543013] hub 1-1:1.0: USB hub found
[    3.547353] hub 1-1:1.0: 4 ports detected
[    3.553644] wm8950_set_bias_level: SND_SOC_BIAS_STANDBY
[    4.188787] debugfs: Directory '2028000.ssi' with parent 'wm8950-audio' already present!
[    4.199678] imx-wm8950 sound: wm8950 <-> 2028000.ssi mapping ok
[    4.217692] NET: Registered protocol family 26
[    4.224455] NET: Registered protocol family 10
[    4.243077] Segment Routing with IPv6
[    4.246895] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    4.255100] NET: Registered protocol family 17
[    4.259611] can: controller area network core (rev 20170425 abi 9)
[    4.266112] NET: Registered protocol family 29
[    4.270593] can: raw protocol (rev 20170425)
[    4.275091] can: broadcast manager protocol (rev 20170425 t)
[    4.280805] can: netlink gateway (rev 20190810) max_hops=1
[    4.287025] Bluetooth: RFCOMM TTY layer initialized
[    4.292848] Bluetooth: RFCOMM socket layer initialized
[    4.298078] Bluetooth: RFCOMM ver 1.11
[    4.301973] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    4.307313] Bluetooth: BNEP filters: protocol multicast
[    4.312639] Bluetooth: BNEP socket layer initialized
[    4.317632] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    4.323777] Bluetooth: HIDP socket layer initialized
[    4.328887] lib80211: common routines for IEEE802.11 drivers
[    4.334868] Key type dns_resolver registered
[    4.340166] Registering SWP/SWPB emulation handler
[    4.345694] Loading compiled-in X.509 certificates
[    4.370772] imx_epdc_fb 20f4000.epdc: can't get/select pinctrl
[    4.515468] galcore 130000.gpu: ignoring dependency for device, assuming no driver
[    4.524382] mxc_vpu 2040000.vpu_fsl: ignoring dependency for device, assuming no driver
[    4.541560] input: gpio-keys as /devices/soc0/gpio-keys/input/input1
[    4.558838] snvs_rtc 20cc000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:01 UTC (1)
[    4.568668] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    4.583618] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    4.591510] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    4.600585] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[    4.609572] ALSA device list:
[    4.612850]   #0: wm8950-audio

 

 

root@imx6qsabresd:~# arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: wm8950audio [wm8950-audio], device 0: HiFi wm8950-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

 

root@imx6qsabresd:~# arecord -Dhw:0,0 -c 2 -r 44100 -f S16_LE -d 5 ~/test.wav
[ 3415.006926] fsl-ssi-dai 2028000.ssi: ASoC: can't open component 2028000.ssi: -6
arecord: main:730: audio open error: No such device or address

 

 

Is the wm8950 codec driver setting wrong?

I really can't figure out what is the problem.

 

Best regards.

Thanks.

Outcomes