drivers: nrf_auxpll: Add CHECK_DTS_BINDING_VS_MDK macro

Macro added to compare the devicetree bindings against
values in the MDK to clean up code and check out-div
bindings.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
This commit is contained in:
David Jewsbury
2025-12-01 16:40:10 +00:00
committed by Anas Nashif
parent 2a395ba0b9
commit 6450eaab48

View File

@@ -20,16 +20,24 @@
/* Check dt-bindings match MDK frequency division definitions*/
BUILD_ASSERT(NRF_AUXPLL_FREQ_DIV_MIN == NRF_AUXPLL_FREQUENCY_DIV_MIN,
"Different AUXPLL_FREQ_DIV_MIN definition in MDK and devicetree binding");
BUILD_ASSERT(NRF_AUXPLL_FREQ_DIV_AUDIO_44K1 == NRF_AUXPLL_FREQUENCY_AUDIO_44K1,
"Different AUXPLL_FREQ_DIV_AUDIO_44K1 definition in MDK and devicetree binding");
BUILD_ASSERT(NRF_AUXPLL_FREQ_DIV_USB24M == NRF_AUXPLL_FREQUENCY_USB_24M,
"Different AUXPLL_FREQ_DIV_USB24M definition in MDK and devicetree binding");
BUILD_ASSERT(NRF_AUXPLL_FREQ_DIV_AUDIO_48K == NRF_AUXPLL_FREQUENCY_AUDIO_48K,
"Different AUXPLL_FREQ_DIV_AUDIO_48K definition in MDK and devicetree binding");
BUILD_ASSERT(NRF_AUXPLL_FREQ_DIV_MAX == NRF_AUXPLL_FREQUENCY_DIV_MAX,
"Different AUXPLL_FREQ_DIV_MAX definition in MDK and devicetree binding");
#define CHECK_DTS_BINDING_VS_MDK(dt, mdk) \
BUILD_ASSERT((mdk) == (dt), \
"Different " #mdk " definition in MDK and devicetree binding")
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_FREQ_DIV_MIN, NRF_AUXPLL_FREQUENCY_DIV_MIN);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_FREQ_DIV_AUDIO_44K1, NRF_AUXPLL_FREQUENCY_AUDIO_44K1);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_FREQ_DIV_USB24M, NRF_AUXPLL_FREQUENCY_USB_24M);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_FREQ_DIV_AUDIO_48K, NRF_AUXPLL_FREQUENCY_AUDIO_48K);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_FREQ_DIV_MAX, NRF_AUXPLL_FREQUENCY_DIV_MAX);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_1, NRF_AUXPLL_CTRL_OUTSEL_DIV_1);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_2, NRF_AUXPLL_CTRL_OUTSEL_DIV_2);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_3, NRF_AUXPLL_CTRL_OUTSEL_DIV_3);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_4, NRF_AUXPLL_CTRL_OUTSEL_DIV_4);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_6, NRF_AUXPLL_CTRL_OUTSEL_DIV_6);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_8, NRF_AUXPLL_CTRL_OUTSEL_DIV_8);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_12, NRF_AUXPLL_CTRL_OUTSEL_DIV_12);
CHECK_DTS_BINDING_VS_MDK(NRF_AUXPLL_OUT_DIV_16, NRF_AUXPLL_CTRL_OUTSEL_DIV_16);
/* maximum lock time in us, >10x time observed experimentally */
#define AUXPLL_LOCK_TIME_MAX_US 20000