1 /*
2  * Copyright (c) 2021-2025 Espressif Systems (Shanghai) Co., Ltd.
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef _STUBS_H_
8 #define _STUBS_H_
9 
10 /* Required for C99 compilation (required for GCC-8.x version,
11  * where typeof is used instead of __typeof__)
12  */
13 #ifndef typeof
14 #define typeof  __typeof__
15 #endif
16 
17 #include <zephyr/devicetree.h>
18 #include <esp_rom_caps.h>
19 
20 #if defined(CONFIG_SOC_SERIES_ESP32)
21 #define DT_CPU_COMPAT espressif_xtensa_lx6
22 #elif defined(CONFIG_SOC_SERIES_ESP32S2) || defined(CONFIG_SOC_SERIES_ESP32S3)
23 #define DT_CPU_COMPAT espressif_xtensa_lx7
24 #elif defined(CONFIG_SOC_SERIES_ESP32C2) || defined(CONFIG_SOC_SERIES_ESP32C3) || defined(CONFIG_SOC_SERIES_ESP32C6)
25 #define DT_CPU_COMPAT espressif_riscv
26 #endif
27 
28 #define CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ ((DT_PROP(DT_INST(0, DT_CPU_COMPAT), clock_frequency)) / 1000000)
29 #define CONFIG_XTAL_FREQ (DT_PROP(DT_INST(0, DT_CPU_COMPAT), xtal_freq) / 1000000)
30 
31 #if defined(CONFIG_SOC_SERIES_ESP32)
32 #define CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
33 #elif defined(CONFIG_SOC_SERIES_ESP32S2)
34 #define CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
35 #elif defined(CONFIG_SOC_SERIES_ESP32S3)
36 #define CONFIG_ESP32S3_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
37 #elif defined(CONFIG_SOC_SERIES_ESP32C2)
38 #define CONFIG_ESP32C2_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
39 #elif defined(CONFIG_SOC_SERIES_ESP32C3)
40 #define CONFIG_ESP32C3_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
41 #elif defined(CONFIG_SOC_SERIES_ESP32C6)
42 #define CONFIG_ESP32C6_DEFAULT_CPU_FREQ_MHZ ESP_SOC_DEFAULT_CPU_FREQ_MHZ
43 #endif
44 
45 #endif /* _STUBS_H_ */
46