AnsweredAssumed Answered

WM8960 audio broken on MCIMX7SABRE dev board using prebuilt SD card image ?

Question asked by Rimas Avizienis on May 8, 2018
Latest reply on May 9, 2018 by igorpadykov

Greetings,

 

I am trying to get audio working using the WM8960 codec present on the MCIMX7SABRE development board.   I have downloaded this SD card image:

 

fsl-image-machine-test-imx7dsabresd-20180428-96.rootfs.sdcard.gz

 

Looking through the boot messages, I see the following:

 

imx-wm8960 sound: failed to get gpr property
imx-wm8960: probe of sound failed with error -2
imx-sii902x sound-hdmi: snd-soc-dummy-dai <-> 308c0000.sai mapping ok

 

and only the sound-hdmi device shows up when looking at /proc/asound/pcm

 

looking at the source code (imx-wm8960.c), I see that the failure occurs here:

 

if (ret) {
   dev_err(&pdev->dev, "failed to get gpr property\n");
   goto fail;
} else {
   data->gpr = syscon_node_to_regmap(args.np);
   if (IS_ERR(data->gpr)) {
      ret = PTR_ERR(data->gpr);
      dev_err(&pdev->dev, "failed to get gpr regmap\n");
      goto fail;
   }
   regmap_update_bits(data->gpr, args.args[0], args.args[1], args.args[2]);
}

 

decompiling the device tree blob (imx7d-sdb.dtb), I see the following definition for "sound":

 

sound {
   compatible = "fsl,imx7d-evk-wm8960", "fsl,imx-audio-wm8960";
   model = "wm8960-audio";
   cpu-dai = <0x66>;
   audio-codec = <0x67>;
   codec-master;
   hp-det = <0x2 0x0>;
   hp-det-gpios = <0x39 0x1c 0x0>;
   audio-routing = "Headphone Jack", "HP_L", "Headphone Jack", "HP_R", "Ext Spk", "SPK_LP", "Ext Spk",   "SPK_LN", "Ext Spk", "SPK_RP", "Ext Spk", "SPK_RN", "LINPUT1", "Main MIC",
"Main MIC", "MICB";
   assigned-clocks = <0x1 0x14b 0x1 0x14a>;
   assigned-clock-parents = <0x1 0x1ae>;
   assigned-clock-rates = <0x0 0xbb8000>;
};

 

but there is no definition for gpr.  Does anyone have any hints as to how to make the imx-wm8960 driver work correctly?  I am attaching a log of the boot messages.

 

Thanks!!

Attachments

Outcomes