Debug es8388 without node

log-codec.txt (119.2 KB)

There is no node when debugging es8388. See the attachment for the device tree and log.
What is the reason?
dts.tar.gz (3.5 KB)

Please provide details for what have been done, SW version…etc, then can know how to support.
Yopu can also refer to Audio Setup and Development — NVIDIA Jetson Linux Developer Guide 1 documentation to see if can find more clues. Thanks

SDK version Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2


image


Could you help me look into this issue?

Excuse me, is there a problem with the device tree configuration?



What is the reason?


Could you please help look into this issue?

Could you help me look into this issue?

Hi zhang,

In above comment, I could see APE card is registered. Is the codec node still not available? If yes, please share below details:

  • which debug node, could you please share the path?
  • DT file
  • dmesg logs
  • output of ls /sys/kernel/debug/regmap/

dtb.tar.gz (57.4 KB)

0001-dmesg.txt (79.9 KB)

When debugging started, no APE node was generated. After modifying the dts, APE was generated.
Now there is no sound when playing music.

Please help with some more details:

  • tegra i2s is master or codec is master. Could you please try with tegra i2s as master if not done already.
  • AUD MCLK pinmux settings are missing, incase it is used please do the settings as done for I2S.
  • Share the Mixer control settings done before starting the usecase. Also share the output of amixer – c APE contents > ~/settings.txt
  • Any error on command line, when playback started. Is command running for the duration of the file?

Is the tegra i2s as maste configured like this?

Is the AUD MCLK pinmux setup like this?

After following the above configuration, an error will be reported. How should I configure it now?

Could you help me look into this issue?

Hi,
From the recent log, the codec driver is throwing below error

No MCLK Configured

Did you modify machine driver to add support for snd_soc_dai_set_sysclk() callback to codec driver?, please refer Audio Setup and Development — Jetson Linux Developer Guide documentation

Due to above failure, the codec driver hw_params callback failed.

Can you fix the above issue and provide the error log if still issues exist.

es8388.txt (8.6 KB)

If you modify the driver according to the content in the link above, an error will occur. What is the problem?

Hi,
Seems the es8328 codec driver doesn’t support the snd_soc_dai_set_pll() callback. you can try removing the below code in the driver and check again

err = snd_soc_dai_set_pll(rtd->dais[rtd->num_cpus], 0,
pll_src, bclk_rate, srate * 256);
if (err < 0) {
printk(“failed to set codec pll\n”);
return err;
}

If the snd_soc_dai_set_pll function is removed, an error will still be reported.

Hi,

Sorry for the delay.

These properties makes tegra I2S as Slave. If these are not present it will be set as Master. Will suggest to try without setting these properties.

Please share the mixer controls details.

settings.txt (788.2 KB)
es8388.txt (6.2 KB)

es8388-logo.txt (101.7 KB)

See the attachment for the modification.

Could observe only ‘CVB-RT Left Mixer Right Bypass Volume’ and ‘CVB-RT Left Mixer Left Bypass Volume’ set to some non-zero value, apart from that no other codec controls related to switch not required to be ON as mentioned here The audio codec ES8388 does not work on Jetson nano - #17 by user32489?