Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 18 additions & 10 deletions drivers/clock_control/clock_control_nrf_auxpll.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,25 @@


/* 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);

Check notice on line 41 in drivers/clock_control/clock_control_nrf_auxpll.c

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

drivers/clock_control/clock_control_nrf_auxpll.c:41 -#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); +#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); +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
/* lock wait step in us*/
Expand Down
18 changes: 9 additions & 9 deletions dts/bindings/clock/nordic,nrf-auxpll.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,15 +48,15 @@ properties:
nordic,out-div:
type: int
enum:
- 1
- 2
- 3
- 4
- 6
- 8
- 12
- 16
description: PLL output divider.
- 1 # Division of 1
- 2 # Division of 2
- 3 # Division of 3
- 4 # Division of 4
- 5 # Division of 6
- 6 # Division of 8
- 7 # Division of 12
- 8 # Division of 16
description: PLL output divider. Valid values shown in dt-bindings/clock/nrf-auxpll.h.

nordic,out-drive:
type: int
Expand Down
2 changes: 1 addition & 1 deletion dts/vendor/nordic/nrf54h20.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -686,7 +686,7 @@
#clock-cells = <0>;
nordic,ficrs = <&ficr NRF_FICR_TRIM_GLOBAL_CANPLL_TRIM_CTUNE>;
nordic,frequency = <NRF_AUXPLL_FREQ_DIV_MIN>;
nordic,out-div = <2>;
nordic,out-div = <NRF_AUXPLL_OUT_DIV_2>;
nordic,out-drive = <0>;
nordic,current-tune = <6>;
nordic,sdm-disable;
Expand Down
5 changes: 3 additions & 2 deletions dts/vendor/nordic/nrf9280.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
#include <zephyr/dt-bindings/misc/nordic-domain-id-nrf9230.h>
#include <zephyr/dt-bindings/misc/nordic-owner-id-nrf9230.h>
#include <zephyr/dt-bindings/reserved-memory/nordic-owned-memory.h>
#include <zephyr/dt-bindings/clock/nrf-auxpll.h>

/delete-node/ &sw_pwm;

Expand Down Expand Up @@ -443,8 +444,8 @@
clocks = <&hfxo>;
#clock-cells = <0>;
nordic,ficrs = <&ficr NRF_FICR_TRIM_GLOBAL_CANPLL_TRIM_CTUNE>;
nordic,frequency = <0>;
nordic,out-div = <2>;
nordic,frequency = <NRF_AUXPLL_FREQ_DIV_MIN>;
nordic,out-div = <NRF_AUXPLL_OUT_DIV_2>;
nordic,out-drive = <0>;
nordic,current-tune = <6>;
nordic,sdm-disable;
Expand Down
10 changes: 10 additions & 0 deletions include/zephyr/dt-bindings/clock/nrf-auxpll.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,14 @@
#define NRF_AUXPLL_FREQ_DIV_AUDIO_48K 39845
#define NRF_AUXPLL_FREQ_DIV_MAX 65535

#define NRF_AUXPLL_OUT_DIV_DISABLED 0
#define NRF_AUXPLL_OUT_DIV_1 1
#define NRF_AUXPLL_OUT_DIV_2 2
#define NRF_AUXPLL_OUT_DIV_3 3
#define NRF_AUXPLL_OUT_DIV_4 4
#define NRF_AUXPLL_OUT_DIV_6 5
#define NRF_AUXPLL_OUT_DIV_8 6
#define NRF_AUXPLL_OUT_DIV_12 7
#define NRF_AUXPLL_OUT_DIV_16 8

#endif /* #define ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_NRF_AUXPLL_H_ */
Loading