nRF54L15 PDM — 48 kHz output sample rate listed in PS but not achievable from 32 MHz base clock? Also: maximum PDM clock frequency?

The nRF54L15 Product Specification lists the following PDM feature:

"8 kHz, 16 kHz, 32 kHz, or 48 kHz output sample rate"
"Supports digital microphone clocks at 768 kHz, 800 kHz, 1. 024 MHz , 1.536 MHz, 2.048 MHz , 3.072 MHz , 1.28 MHz, and 2.56 MHz"

However, when working through the actual hardware, I cannot find a way to achieve exactly 48 kHz. I want to confirm whether this is a documentation inaccuracy or whether I'm missing a clock source. I also have a second question about the maximum PDM clock frequency.


Question 1: 48 kHz output sample rate

The PDM20 peripheral on nRF54L15 has a single PRESCALER.DIVISOR register (integer, range 4–126) that divides PCLK32M (32 MHz). There is no MCLKCONFIG or CLKSELECT register in the SVD — only the prescaler. The supported decimation ratios are 32, 48, 50, 64, 80, 96, 100, and 128.

For exact 48 kHz output, we need:

32,000,000 / prescaler / ratio = 48,000
→ prescaler × ratio = 666.666...

This is not an integer for any combination of integer prescaler and supported ratio. The closest achievable values are:

Ratio Prescaler Actual rate Error
48 14 47,619 Hz −0.80%
64 10 50,000 Hz +4.17%

By comparison, 8 kHz (32M/40/100), 16 kHz (32M/25/80), and 32 kHz (32M/20/50) are all achievable exactly.

What I've ruled out:

I checked whether nRF54L15 has an AUXPLL that could supply an audio clock (as seen in dmic_nrfx_pdm.c's #elif DT_NODE_HAS_STATUS_OKAY(NODE_AUDIO_AUXPLL) path). The AUXPLL DTS node does not appear in any nRF54L15 DTS files — it's only present for nRF54H20, nRF7120, and nRF9280. Zephyr's dmic driver confirms this by hardcoding DMIC_NRFX_CLOCK_FREQ = MHZ(32) for nRF54L15 with no audio clock fallback.

Questions:

  1. Is the "48 kHz" bullet in the PS a documentation error, or is there a clock source on nRF54L15 that enables it that I'm not seeing?
  2. If it is a documentation error, what is the correct statement of supported output sample rates?
  3. Is there any planned errata or PS update to address this?

Question 2: Maximum PDM clock frequency

The PRESCALER.DIVISOR field has a documented minimum of 4, which implies a theoretical maximum PDM clock of 32 MHz / 4 = 8 MHz. However, I cannot find a specified maximum PDM clock frequency for the nRF54L15 PDM peripheral anywhere in the PS or datasheet.

We are considering a microphone rated for PDM clocks up to 4.8 MHz, so we'd like to drive the PDM clock as high as the nRF54L15 can reliably support.

Questions:

  1. Is there a specified maximum PDM clock frequency for the nRF54L15 PDM peripheral?
  2. If the minimum prescaler is 4 (8 MHz theoretical max), is the full range actually usable in practice, or is there an undocumented upper limit we should observe?
  3. Is driving the PDM clock at 4.571 MHz (prescaler=7, 32M/7) a supported operating condition?
  4. If the PDM clock can be high like above, can nRF54L15 support higher output sample rates such as 96kHz?

SDK version: NCS v3.2.4

Related