Browse Source

drivers: clock_control: nrf: add support for HFCLK24M

Add support for the HFCLK24M clock to the clock_control_nrf
device driver.

Signed-off-by: Bjarki Arge Andreasen <bjarki.andreasen@nordicsemi.no>
pull/92175/head
Bjarki Arge Andreasen 2 weeks ago committed by Benjamin Cabé
parent
commit
bb319603fd
  1. 25
      drivers/clock_control/clock_control_nrf.c
  2. 5
      include/zephyr/drivers/clock_control/nrf_clock_control.h

25
drivers/clock_control/clock_control_nrf.c

@ -329,6 +329,18 @@ static void hfclk_stop(void) @@ -329,6 +329,18 @@ static void hfclk_stop(void)
nrfx_clock_hfclk_stop();
}
#if NRF_CLOCK_HAS_HFCLK24M
static void hfclk24m_start(void)
{
nrfx_clock_start(NRF_CLOCK_DOMAIN_HFCLK24M);
}
static void hfclk24m_stop(void)
{
nrfx_clock_stop(NRF_CLOCK_DOMAIN_HFCLK24M);
}
#endif
#if NRF_CLOCK_HAS_HFCLK192M
static void hfclk192m_start(void)
{
@ -718,7 +730,11 @@ static void clock_event_handler(nrfx_clock_evt_type_t event) @@ -718,7 +730,11 @@ static void clock_event_handler(nrfx_clock_evt_type_t event)
break;
}
#endif
#if NRF_CLOCK_HAS_HFCLK24M
case NRFX_CLOCK_EVT_HFCLK24M_STARTED:
clkstarted_handle(dev, CLOCK_CONTROL_NRF_TYPE_HFCLK24M);
break;
#endif
#if NRF_CLOCK_HAS_HFCLK192M
case NRFX_CLOCK_EVT_HFCLK192M_STARTED:
clkstarted_handle(dev, CLOCK_CONTROL_NRF_TYPE_HFCLK192M);
@ -841,6 +857,13 @@ static const struct nrf_clock_control_config config = { @@ -841,6 +857,13 @@ static const struct nrf_clock_control_config config = {
.stop = lfclk_stop,
IF_ENABLED(CONFIG_LOG, (.name = "lfclk",))
},
#if NRF_CLOCK_HAS_HFCLK24M
[CLOCK_CONTROL_NRF_TYPE_HFCLK24M] = {
.start = hfclk24m_start,
.stop = hfclk24m_stop,
IF_ENABLED(CONFIG_LOG, (.name = "hfclk24m",))
},
#endif
#if NRF_CLOCK_HAS_HFCLK192M
[CLOCK_CONTROL_NRF_TYPE_HFCLK192M] = {
.start = hfclk192m_start,

5
include/zephyr/drivers/clock_control/nrf_clock_control.h

@ -26,6 +26,9 @@ extern "C" { @@ -26,6 +26,9 @@ extern "C" {
enum clock_control_nrf_type {
CLOCK_CONTROL_NRF_TYPE_HFCLK,
CLOCK_CONTROL_NRF_TYPE_LFCLK,
#if NRF_CLOCK_HAS_HFCLK24M
CLOCK_CONTROL_NRF_TYPE_HFCLK24M,
#endif
#if NRF_CLOCK_HAS_HFCLK192M
CLOCK_CONTROL_NRF_TYPE_HFCLK192M,
#endif
@ -42,6 +45,8 @@ enum clock_control_nrf_type { @@ -42,6 +45,8 @@ enum clock_control_nrf_type {
((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLK)
#define CLOCK_CONTROL_NRF_SUBSYS_LF \
((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_LFCLK)
#define CLOCK_CONTROL_NRF_SUBSYS_HF24M \
((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLK24M)
#define CLOCK_CONTROL_NRF_SUBSYS_HF192M \
((clock_control_subsys_t)CLOCK_CONTROL_NRF_TYPE_HFCLK192M)
#define CLOCK_CONTROL_NRF_SUBSYS_HFAUDIO \

Loading…
Cancel
Save