drivers: clock_control: nrf: Move NRF_PERIPH_GET_FREQUENCY

Move macro from nrf_clock_control.h to soc_nrf_common.h. Clock control
header fetches many dependencies (e.g. onoff.h) so move macro to more
low level header.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruściński 2025-02-18 14:58:13 +01:00 committed by Carles Cufí
commit 074215a30f
3 changed files with 20 additions and 19 deletions

View file

@ -236,6 +236,25 @@
DT_PINCTRL_HAS_NAME(node_id, sleep), \
DT_NODE_PATH(node_id) " defined without sleep state")
/** @brief Get clock frequency that is used for the given node.
*
* Macro checks if node has clock property and if yes then if clock has clock_frequency property
* then it is returned. If it has supported_clock_frequency property with the list of supported
* frequencies then the last one is returned with assumption that they are ordered and the last
* one is the highest. If node does not have clock then 16 MHz is returned which is the default
* frequency.
*
* @param node Devicetree node.
*
* @return Frequency of the clock that is used for the node.
*/
#define NRF_PERIPH_GET_FREQUENCY(node) \
COND_CODE_1(DT_CLOCKS_HAS_IDX(node, 0), \
(COND_CODE_1(DT_NODE_HAS_PROP(DT_CLOCKS_CTLR(node), clock_frequency), \
(DT_PROP(DT_CLOCKS_CTLR(node), clock_frequency)), \
(DT_PROP_LAST(DT_CLOCKS_CTLR(node), supported_clock_frequency)))), \
(NRFX_MHZ_TO_HZ(16)))
#endif /* !_ASMLANGUAGE */
#endif