Zephyr API
4.4.99
A Scalable Open Source RTOS
Toggle main menu visibility
Loading...
Searching...
No Matches
esp32_clock_control.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2024-2025 Espressif Systems (Shanghai) Co., Ltd.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
12
13
#ifndef ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ESP32_CLOCK_CONTROL_H_
14
#define ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ESP32_CLOCK_CONTROL_H_
15
21
22
#if defined(CONFIG_SOC_SERIES_ESP32)
23
#include <
zephyr/dt-bindings/clock/esp32_clock.h
>
24
#elif defined(CONFIG_SOC_SERIES_ESP32S2)
25
#include <
zephyr/dt-bindings/clock/esp32s2_clock.h
>
26
#elif defined(CONFIG_SOC_SERIES_ESP32S3)
27
#include <
zephyr/dt-bindings/clock/esp32s3_clock.h
>
28
#elif defined(CONFIG_SOC_SERIES_ESP32C2)
29
#include <
zephyr/dt-bindings/clock/esp32c2_clock.h
>
30
#elif defined(CONFIG_SOC_SERIES_ESP32C3)
31
#include <
zephyr/dt-bindings/clock/esp32c3_clock.h
>
32
#elif defined(CONFIG_SOC_SERIES_ESP32C5)
33
#include <
zephyr/dt-bindings/clock/esp32c5_clock.h
>
34
#elif defined(CONFIG_SOC_SERIES_ESP32C6)
35
#include <
zephyr/dt-bindings/clock/esp32c6_clock.h
>
36
#elif defined(CONFIG_SOC_SERIES_ESP32H2)
37
#include <
zephyr/dt-bindings/clock/esp32h2_clock.h
>
38
#elif defined(CONFIG_SOC_SERIES_ESP32P4)
39
#include <
zephyr/dt-bindings/clock/esp32p4_clock.h
>
40
#endif
/* CONFIG_SOC_SERIES_ESP32xx */
41
44
#define ESP32_CLOCK_CONTROL_SUBSYS_CPU 50
45
#define ESP32_CLOCK_CONTROL_SUBSYS_RTC_FAST 51
46
#define ESP32_CLOCK_CONTROL_SUBSYS_RTC_SLOW 52
47
#define ESP32_CLOCK_CONTROL_SUBSYS_RTC_FAST_NOMINAL 53
48
#define ESP32_CLOCK_CONTROL_SUBSYS_RTC_SLOW_NOMINAL 54
50
52
struct
esp32_cpu_clock_config
{
53
int
clk_src
;
54
uint32_t
cpu_freq
;
55
uint32_t
xtal_freq
;
56
};
57
59
struct
esp32_rtc_clock_config
{
60
uint32_t
rtc_fast_clock_src
;
61
uint32_t
rtc_slow_clock_src
;
62
};
63
65
struct
esp32_clock_config
{
66
struct
esp32_cpu_clock_config
cpu
;
67
struct
esp32_rtc_clock_config
rtc
;
68
};
69
71
72
#endif
/* ZEPHYR_INCLUDE_DRIVERS_CLOCK_CONTROL_ESP32_CLOCK_CONTROL_H_ */
esp32_clock.h
esp32c2_clock.h
esp32c3_clock.h
esp32c5_clock.h
ESP32-C5 clock definitions for device tree bindings.
esp32c6_clock.h
esp32h2_clock.h
esp32p4_clock.h
Clock module identifiers for Espressif ESP32-P4.
esp32s2_clock.h
esp32s3_clock.h
uint32_t
__UINT32_TYPE__ uint32_t
Definition
stdint.h:90
esp32_clock_config
ESP32 aggregate clock configuration.
Definition
esp32_clock_control.h:65
esp32_clock_config::cpu
struct esp32_cpu_clock_config cpu
CPU clock configuration.
Definition
esp32_clock_control.h:66
esp32_clock_config::rtc
struct esp32_rtc_clock_config rtc
RTC clock configuration.
Definition
esp32_clock_control.h:67
esp32_cpu_clock_config
ESP32 CPU clock configuration.
Definition
esp32_clock_control.h:52
esp32_cpu_clock_config::cpu_freq
uint32_t cpu_freq
Target CPU frequency, in MHz.
Definition
esp32_clock_control.h:54
esp32_cpu_clock_config::xtal_freq
uint32_t xtal_freq
External crystal frequency, in MHz.
Definition
esp32_clock_control.h:55
esp32_cpu_clock_config::clk_src
int clk_src
CPU clock source.
Definition
esp32_clock_control.h:53
esp32_rtc_clock_config
ESP32 RTC clock configuration.
Definition
esp32_clock_control.h:59
esp32_rtc_clock_config::rtc_fast_clock_src
uint32_t rtc_fast_clock_src
RTC fast clock source.
Definition
esp32_clock_control.h:60
esp32_rtc_clock_config::rtc_slow_clock_src
uint32_t rtc_slow_clock_src
RTC slow clock source.
Definition
esp32_clock_control.h:61
zephyr
drivers
clock_control
esp32_clock_control.h
Generated on
for Zephyr API by
1.17.0