-
Notifications
You must be signed in to change notification settings - Fork 7.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESP32-P4 APLL/MCLK/WS not working at TDM8 32-bit (IDFGH-13404) #14311
Comments
Just spotted in esp-idf/components/esp_hw_support/port/esp32p4/esp_clk_tree.c: // case SOC_MOD_CLK_APLL: TODO: IDF-8884 That explains the APLL not working. How can I stay apprised of the status of IDF-8884? Any word on when it's planned to be implemented? |
Same issue here - trying to work with TDM16. It is partially working at 22050Hz, but not properly. |
Hi @ftab @DatanoiseTV , thanks for your reporting! See the similar issue #14448. And the APLL support patch is uploaded there for testing. |
I can confirm the patch works. Thanks! |
FYI, APLL has been supported on the master in this commit You can rebase on the master to use APLL as well |
@L-KAYA we have been testing this on the P4 EV board and noticed we're only getting about 83 dB signal to noise ratio (A-weighted) with a PCM1681 DAC. We think it's due to jitter on MCLK. Is there any way to improve this? |
Hi @ftab, sorry for the late reply, I didn't test how MCLK affect the SNR before. If you think it could be the jitter from MCLK, maybe you can try to adjust the MCLK frequency meanwhile keep the same sample rate (like increase the |
This issue is going to be closed since the original issue have been solved. If there are any other issues need to be discussed, welcome to open a new issue~ |
Answers checklist.
IDF version.
v5.3
Espressif SoC revision.
ESP32-P4 v0.1
Operating System used.
Linux
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-P4 EV board
Power Supply used.
USB
What is the expected behavior?
Create I2S clock from APLL
What is the actual behavior?
fails to initialize clock
Steps to reproduce.
Using ESP-ADF i2s_stream in a simple audio pipeline to read /usb/test.mp3, split from 2 to 8 channels with our audio DSP code, then play to a PCM1681 (8ch DAC) over I2S TDM
Here is the snippet of code where the i2s stream is set up
Debug Logs.
More Information.
Using my fork of ESP-ADF that hacks some stuff out to work on the P4 as ESP-ADF v2.7 is not released yet: https://github.com/radiosound-com/esp-adf/tree/radiosound-modded-v2.6-141-g218cf614-idf-v5.3-modded
When I change I2S_CLK_SRC_APLL to I2S_CLK_SRC_DEFAULT, i2s does initialize, but MCLK is running at 20mhz (expected: 44,100 x 768 = 33,868,800) and WS runs at 26khz instead of 44.1khz
The text was updated successfully, but these errors were encountered: