AnsweredAssumed Answered

adau1702: Linux, no master clocks

Question asked by flatmax on Aug 6, 2016
Latest reply on Aug 9, 2016 by larsc


Hi there,

 

I have a board setup with the ADAU1702, and it appears to be wired correctly. All of the supplies are @3.3 V and the VDD input pin is at  1.8V.

 

I have the software setup with the DTS shown below [1]. The board boots and the linux driver starts well.

I have loaded in an almost empty firmware, I am expecting the linux driver to reset the registers correctly.

When I  boot I see the reset gpio pulse when the driver resets.

I put a cro on the XTI line and see that my crystal is clocking nicely - the OSCO pin's waveform is showing the correct frequency sinusoid.

 

dmesg reports the machine driver and the adau1701 driver talking nicely :

my-machine soc:sound: adau1701 <-> 3f203000.i2s mapping

 

My machine is setup like so :

.dai_fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF

.init = audioinjector_octo_soundcard_dai_init,

static int audioinjector_octo_soundcard_dai_init(struct snd_soc_pcm_runtime *rtd)

{

  return snd_soc_dai_set_sysclk(rtd->codec_dai, ADAU1701_CLK_SRC_OSC, 12288000, SND_SOC_CLOCK_IN);

}

 

All setup to go !

When I try

$ alsamixer

cannot load mixer controls: Input/output error

 

When I try to aplay a tone, it hangs ... I don't see any LRLCK nor any BCLK and I get the following :

aplay: pcm_write:1939: write error: Input/output error

 

Any ideas on how to help me ?

 

thanks

Matt

 

[1]

adau1702@34 {

     #sound-dai-cells = <0>;

     compatible = "adi,adau1701";

     reg = <0x34>;

     reset-gpio = <&gpio 26 0>;

     status = "okay";

};

Outcomes