int main(void) { /* Give control of p1.08 to GRTC */ nrf_gpio_pin_control_select(PIN_NUM, NRF_GPIO_PIN_SEL_GRTC); /* Set divider to 500 (250 * 2), so we get 32000 kHz out */ uint8_t grtc_div = 250; nrfy_grtc_clkout_divider_set(NRF_GRTC, grtc_div); nrfy_grtc_clkout_set(NRF_GRTC, NRF_GRTC_CLKOUT_FAST, true); k_sleep(K_FOREVER); return 0; }
west build -b nrf54l15dk/nrf54l15/cpuapp
EXPECTED CLOCK - 1 mHz
MEASURED CLOCK - 1.0043mHz

TEST 2
grtc_div = 250
EXPECTED CLOCK - 32 kHz
MEASURED CLOCK - 32.152 kHz

Instead of using GRTC we use a PWM peripheral to get a 32kHz clock
EXPECTED CLOCK - 32 kHz
MEASURED CLOCK - 32.132 kHz

Are we doing something wrong?
We are very confused why this is happening. We expected that we would be able to get a +-10ppm 32kHz clock output, but this is not the case.