Waveshare wm8960 audio board speaker can not work

I use jetson AGX orin 64G Jetson Linux 36.4.4 is part of JetPack 6.2.1

WM8960 Audio Board - Waveshare Wiki

jetson-audio-waveshare-wm8960.txt (3.6 KB)

tegra_codecs.txt (9.5 KB)

now speaker can’t work ,i don’t know how to do

*** Please note that this reply is generated by LLM automatically ***

Based on the provided context, it appears that you are using a Jetson AGX Orin 64GB module with a WM8960 Audio Board from Waveshare. You are experiencing issues with the speaker not working.

Firstly, let’s compare the audio capabilities of the Jetson AGX Orin module with the WM8960 Audio Board. The Jetson AGX Orin module has an HD Audio Header (J511) that supports Intel’s HD front panel audio connector, which is connected internally to the RT5640 codec. The WM8960 Audio Board, on the other hand, is a separate audio board that uses the WM8960 codec.

To troubleshoot the issue, let’s check the following:

  1. Audio Formats Supported: The Jetson AGX Orin ASoC driver supports various audio formats, including sample sizes of 8 bits (S8), 16 bits (S16_LE), or 24/32 bits (S32_LE), and sample rates of 8000, 11025, 16000, 22050, 24000, 32000, 44100, 48000, 88400, 96000, 176400, or 192000 Hz. The WM8960 Audio Board should be compatible with these formats.
  2. Audio Configuration: Ensure that the audio configuration is correct. You can check the tegra_codec.txt file to verify the audio configuration. The file should contain the correct settings for the WM8960 Audio Board.
  3. Device Tree Configuration: The device tree configuration might need to be updated to support the WM8960 Audio Board. You can check the jetson-agx-orin-devkit.dts file to verify the device tree configuration.
  4. Kernel Configuration: The kernel configuration might need to be updated to support the WM8960 Audio Board. You can check the jetson-agx-orin.conf file to verify the kernel configuration.
  5. Audio Board Connection: Ensure that the WM8960 Audio Board is properly connected to the Jetson AGX Orin module. Check the connections and ensure that they are secure.

To resolve the issue, you can try the following:

  1. Update the audio configuration: Update the tegra_codec.txt file to reflect the correct settings for the WM8960 Audio Board.
  2. Update the device tree configuration: Update the jetson-agx-orin-devkit.dts file to reflect the correct settings for the WM8960 Audio Board.
  3. Update the kernel configuration: Update the jetson-agx-orin.conf file to reflect the correct settings for the WM8960 Audio Board.
  4. Reboot the system: Reboot the system to apply the changes.
  5. Test the audio: Test the audio to ensure that it is working correctly.

If the issue persists, you can try comparing the configuration with other similar setups or seeking further assistance from the Waveshare community or NVIDIA support.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

Due to it’s 3rd party board, please contact with them to get the support. Thanks

hi,kayccc

I don’t know how to use snd_soc_dai_set_sysclk and snd_soc_dai_set_pll in tegra_codecs.c

I need your help. Thank you very much.

Hi,

  • Could you please fetch DT logs from the platform and share. Refer How to fetch debug logs
  • Is it possible to try mclk rather than pll?

dmesg.log (75.4 KB)

regmap.log (1.0 KB)

Hello Sheetal.G

1.I add print in wm8960.c ,I found that wm8960_configure_clocking is executed after wm8960_hw_param. The variables wm8960->bclk and wm8960->lrclk have not been initialized, which resulted in the error “failed to configure clock via PLL”.

2.when i use mclk,The error “failed to configure clock” will occur.

Could you please try setting the controls as mentioned here Audio Codec WM8960 on TX2 - #38 by MarkusHess .

Also please make sure the pinmux settings are done correctly for I2S and aud_mclk.