Skip to content

Commit a9e0cf0

Browse files
committed
[nrf fromlist] treewide: Replace clock api with clock api v2
Replaced old clock_control.h api with nrf_clock_control.h api. Old api is still available when CONFIG_CLOCK_CONTROL_NRF is set. Upstream PR #: 99290 Signed-off-by: Michal Frankiewicz <[email protected]>
1 parent d404352 commit a9e0cf0

File tree

52 files changed

+1067
-275
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+1067
-275
lines changed

drivers/audio/dmic_nrfx_pdm.c

Lines changed: 54 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,23 @@ BUILD_ASSERT((AUXPLL_FREQUENCY_SETTING == NRF_AUXPLL_FREQ_DIV_AUDIO_48K) ||
3333
#define DMIC_NRFX_AUDIO_CLOCK_FREQ CLOCK_CONTROL_NRF_AUXPLL_GET_FREQ(NODE_AUDIO_AUXPLL)
3434

3535
#define DMIC_NRFX_CLOCK_FREQ MHZ(32)
36-
37-
#else
36+
#elif CONFIG_CLOCK_CONTROL_NRF
3837
#define DMIC_NRFX_CLOCK_FREQ MHZ(32)
3938
#define DMIC_NRFX_AUDIO_CLOCK_FREQ DT_PROP_OR(DT_NODELABEL(aclk), clock_frequency, \
4039
DT_PROP_OR(DT_NODELABEL(clock), hfclkaudio_frequency, 0))
40+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO)
41+
#define DMIC_NRFX_CLOCK_FREQ MHZ(32)
42+
#define DMIC_NRFX_AUDIO_CLOCK_FREQ \
43+
DT_PROP_OR(DT_NODELABEL(aclk), clock_frequency, \
44+
DT_PROP_OR(DT_NODELABEL(hfclkaudio), hfclkaudio_frequency, 0))
45+
#endif
46+
47+
#if defined(CONFIG_CLOCK_CONTORL_NRF)
48+
#define HFCLKAUDIO_NODE clock
49+
#define HFCLKAUDIO_NODE_DESC "hfclkaudio-frequency in the nordic,nrf-clock node, "
50+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO)
51+
#define HFCLKAUDIO_NODE hfclkaudio
52+
#define HFCLKAUDIO_NODE_DESC "hfclkaudio-frequency in the nordic,nrf-clock-hfclkaudio node, "
4153
#endif
4254

4355
struct dmic_nrfx_pdm_drv_data {
@@ -46,6 +58,9 @@ struct dmic_nrfx_pdm_drv_data {
4658
const struct device *audiopll_dev;
4759
#elif CONFIG_CLOCK_CONTROL_NRF
4860
struct onoff_manager *clk_mgr;
61+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO) || defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLK) || \
62+
defined(CONFIG_CLOCK_CONTROL_NRFX_XO)
63+
const struct device *clk_dev;
4964
#endif
5065
struct onoff_client clk_cli;
5166
struct k_mem_slab *mem_slab;
@@ -91,6 +106,9 @@ static int request_clock(struct dmic_nrfx_pdm_drv_data *drv_data)
91106
return nrf_clock_control_request(drv_data->audiopll_dev, NULL, &drv_data->clk_cli);
92107
#elif CONFIG_CLOCK_CONTROL_NRF
93108
return onoff_request(drv_data->clk_mgr, &drv_data->clk_cli);
109+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO) || defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLK) || \
110+
defined(CONFIG_CLOCK_CONTROL_NRFX_XO)
111+
return nrf_clock_control_request(drv_data->clk_dev, NULL, &drv_data->clk_cli);
94112
#else
95113
return -ENOTSUP;
96114
#endif
@@ -105,6 +123,9 @@ static int release_clock(struct dmic_nrfx_pdm_drv_data *drv_data)
105123
return nrf_clock_control_release(drv_data->audiopll_dev, NULL);
106124
#elif CONFIG_CLOCK_CONTROL_NRF
107125
return onoff_release(drv_data->clk_mgr);
126+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO) || defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLK) || \
127+
defined(CONFIG_CLOCK_CONTROL_NRFX_XO)
128+
return nrf_clock_control_release(drv_data->clk_dev, NULL);
108129
#else
109130
return -ENOTSUP;
110131
#endif
@@ -478,14 +499,33 @@ static void init_clock_manager(const struct device *dev)
478499

479500
if (drv_cfg->clk_src == ACLK) {
480501
subsys = CLOCK_CONTROL_NRF_SUBSYS_HFAUDIO;
481-
} else
502+
} else {
482503
#endif
483-
{
484504
subsys = CLOCK_CONTROL_NRF_SUBSYS_HF;
505+
#if NRF_CLOCK_HAS_HFCLKAUDIO
485506
}
507+
#endif
486508

487509
drv_data->clk_mgr = z_nrf_clock_control_get_onoff(subsys);
488510
__ASSERT_NO_MSG(drv_data->clk_mgr != NULL);
511+
#elif defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO) || defined(CONFIG_CLOCK_CONTROL_NRFX_HFCLK) || \
512+
defined(CONFIG_CLOCK_CONTROL_NRFX_XO)
513+
struct dmic_nrfx_pdm_drv_data *drv_data = dev->data;
514+
#if NRF_CLOCK_HAS_HFCLKAUDIO
515+
const struct dmic_nrfx_pdm_drv_cfg *drv_cfg = dev->config;
516+
517+
if (drv_cfg->clk_src == ACLK) {
518+
drv_data->clk_dev = DEVICE_DT_GET_ONE(nordic_nrf_clock_hfclkaudio);
519+
} else {
520+
#endif
521+
drv_data->clk_dev = DEVICE_DT_GET_ONE(COND_CODE_1((NRF_CLOCK_HAS_HFCLK),
522+
(nordic_nrf_clock_hfclk),
523+
(nordic_nrf_clock_xo)));
524+
#if NRF_CLOCK_HAS_HFCLKAUDIO
525+
}
526+
#endif
527+
528+
__ASSERT_NO_MSG(drv_data->clk_dev != NULL);
489529
#elif CONFIG_CLOCK_CONTROL_NRFS_AUDIOPLL
490530
struct dmic_nrfx_pdm_drv_data *drv_data = dev->data;
491531

@@ -540,17 +580,16 @@ static const struct _dmic_ops dmic_ops = {
540580
NRF_DT_CHECK_NODE_HAS_REQUIRED_MEMORY_REGIONS(DT_DRV_INST(inst)); \
541581
BUILD_ASSERT(PDM_CLK_SRC(inst) != ACLK || NRF_PDM_HAS_SELECTABLE_CLOCK, \
542582
"Clock source ACLK is not available."); \
543-
BUILD_ASSERT(PDM_CLK_SRC(inst) != ACLK || \
544-
DT_NODE_HAS_PROP(DT_NODELABEL(clock), hfclkaudio_frequency) || \
545-
DT_NODE_HAS_PROP(DT_NODELABEL(aclk), clock_frequency) || \
546-
DT_NODE_HAS_PROP(NODE_AUDIOPLL, frequency) || \
547-
DT_NODE_HAS_PROP(NODE_AUDIO_AUXPLL, nordic_frequency), \
548-
"Clock source ACLK requires one following defined frequency " \
549-
"properties: " \
550-
"hfclkaudio-frequency in the nordic,nrf-clock node, " \
551-
"clock-frequency in the aclk node, " \
552-
"frequency in the audiopll node, " \
553-
"nordic-frequency in the audio_auxpll node"); \
583+
BUILD_ASSERT( \
584+
PDM_CLK_SRC(inst) != ACLK || \
585+
DT_NODE_HAS_PROP(DT_NODELABEL(HFCLKAUDIO_NODE), hfclkaudio_frequency) || \
586+
DT_NODE_HAS_PROP(DT_NODELABEL(aclk), clock_frequency) || \
587+
DT_NODE_HAS_PROP(NODE_AUDIOPLL, frequency) || \
588+
DT_NODE_HAS_PROP(NODE_AUDIO_AUXPLL, nordic_frequency), \
589+
"Clock source ACLK requires one following defined frequency " \
590+
"properties: " HFCLKAUDIO_NODE_DESC "clock-frequency in the aclk node, " \
591+
"frequency in the audiopll node, " \
592+
"nordic-frequency in the audio_auxpll node"); \
554593
DEVICE_DT_INST_DEFINE(inst, pdm_nrfx_init##inst, NULL, &dmic_nrfx_pdm_data##inst, \
555594
&dmic_nrfx_pdm_cfg##inst, POST_KERNEL, \
556595
CONFIG_AUDIO_DMIC_INIT_PRIORITY, &dmic_ops);

drivers/clock_control/CMakeLists.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_MSPM0 cl
2424
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NPCM clock_control_npcm.c)
2525
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NPCX clock_control_npcx.c)
2626
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF clock_control_nrf.c)
27-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_DRIVER_CALIBRATION nrf_clock_calibration.c)
27+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_DRIVER_CALIBRATION nrf_clock_calibration.c)
2828
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_RV32M1_PCC clock_control_rv32m1_pcc.c)
2929
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_INFINEON_CAT1 clock_control_ifx_cat1.c)
3030
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_IFX_CAT1_FIXED_CLOCK clock_control_ifx_cat1_fixed_clock.c)
@@ -53,20 +53,20 @@ zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_HSFLL_GLOBAL cl
5353
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_RTS5912_SCCON clock_control_rts5912_sccon.c)
5454
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFS_AUDIOPLL clock_control_nrfs_audiopll.c)
5555
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_IT51XXX clock_control_it51xxx.c)
56-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF2_COMMON clock_control_nrf2_common.c)
56+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFS clock_control_nrfs_common.c)
5757
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_FLL16M clock_control_nrf_fll16m.c)
5858
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF54H_HFXO clock_control_nrf54h_hfxo.c)
5959
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_HSFLL_LOCAL clock_control_nrf_hsfll_local.c)
6060
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_IRON_HSFLL_LOCAL clock_control_nrf_iron_hsfll_local.c)
6161
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFS_LFCLK clock_control_nrfs_lfclk.c)
6262
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_AUXPLL clock_control_nrf_auxpll.c)
63-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_COMMON clock_control_nrf_common.c)
64-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_HFCLK clock_control_nrf_hfclk.c)
65-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_HFCLK192M clock_control_nrf_hfclk192m.c)
66-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_HFCLKAUDIO clock_control_nrf_hfclkaudio.c)
67-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_LFCLK clock_control_nrf_lfclk.c)
68-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_XO clock_control_nrf_xo.c)
69-
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRF_XO24M clock_control_nrf_xo24m.c)
63+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX clock_control_nrf_common.c)
64+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_HFCLK clock_control_nrf_hfclk.c)
65+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_HFCLK192M clock_control_nrf_hfclk192m.c)
66+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_HFCLKAUDIO clock_control_nrf_hfclkaudio.c)
67+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_LFCLK clock_control_nrf_lfclk.c)
68+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_XO clock_control_nrf_xo.c)
69+
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_NRFX_XO24M clock_control_nrf_xo24m.c)
7070
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_BOUFFALOLAB_BL60X clock_control_bl60x.c)
7171
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_BOUFFALOLAB_BL61X clock_control_bl61x.c)
7272
zephyr_library_sources_ifdef(CONFIG_CLOCK_CONTROL_BOUFFALOLAB_BL70X clock_control_bl70x.c)

0 commit comments

Comments
 (0)