Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
em32_clock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 ELAN Microelectronics Corp.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef __ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ELAN_EM32_CLOCK_H__
8#define __ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ELAN_EM32_CLOCK_H__
9
10/* Clock Source */
11#define EM32_CLK_SRC_IRCLOW 0x00
12#define EM32_CLK_SRC_IRCHIGH 0x01
13#define EM32_CLK_SRC_EXTERNAL1 0x20
14
15/* Clock Frequency Source */
16#define EM32_CLK_FREQ_IRCLOW12 0x00
17#define EM32_CLK_FREQ_IRCLOW16 0x01
18#define EM32_CLK_FREQ_IRCLOW20 0x02
19#define EM32_CLK_FREQ_IRCLOW24 0x03
20#define EM32_CLK_FREQ_IRCLOW28 0x04
21#define EM32_CLK_FREQ_IRCLOW32 0x05
22#define EM32_CLK_FREQ_IRCHIGH64 0x11
23#define EM32_CLK_FREQ_IRCHIGH80 0x12
24#define EM32_CLK_FREQ_IRCHIGH96 0x13
25#define EM32_CLK_FREQ_IRCHIGH112 0x14
26#define EM32_CLK_FREQ_IRCHIGH128 0x15
27#define EM32_CLK_FREQ_IRCHIGH96Q 0x16
28
29/* AHB PreScaler */
30#define EM32_AHB_CLK_DIV1 0x00
31#define EM32_AHB_CLK_DIV2 0x01
32#define EM32_AHB_CLK_DIV4 0x02
33#define EM32_AHB_CLK_DIV8 0x03
34#define EM32_AHB_CLK_DIV16 0x04
35#define EM32_AHB_CLK_DIV32 0x05
36#define EM32_AHB_CLK_DIV64 0x06
37#define EM32_AHB_CLK_DIV128 0x07
38
48
49/* HCLK Gating IDs */
50
52#define EM32_GATE_HCLKG_DMA 0x00
53
55#define EM32_GATE_HCLKG_GPIOA 0x01
56
58#define EM32_GATE_HCLKG_GPIOB 0x02
59
61#define EM32_GATE_HCLKG_7816_1 0x04
62
64#define EM32_GATE_HCLKG_7816_2 0x05
65
67#define EM32_GATE_HCLKG_ENCRYPT 0x06
68
70#define EM32_GATE_HCLKG_ESPI1 0x0F
71
73#define EM32_GATE_HCLKG_EXTSPI 0x1F
74
76#define EM32_GATE_HCLKG_GHM_ACC1 0x20
77
79#define EM32_GATE_HCLKG_GHM_ACC2 0x21
80
82#define EM32_GATE_HCLKG_GHM_ACC3 0x22
83
84/* HCLKF Gating IDs */
85
87#define EM32_GATE_HCLKF_GHM_IP 0x23
88
90#define EM32_GATE_HCLKF_FLASH_BIST 0x24
91
93#define EM32_GATE_HCLKF_GHM_RANSAC 0x25
94
96#define EM32_GATE_HCLKF_SWSPI 0x26
97
99#define EM32_GATE_HCLKF_GHM_DOUBLE 0x27
100
102#define EM32_GATE_HCLKF_GHM_DISTINGUISH 0x28
103
105#define EM32_GATE_HCLKF_GHM_LSE 0x29
106
108#define EM32_GATE_HCLKF_GHM_SAD 0x2A
109
111#define EM32_GATE_HCLKF_GHM_M2D 0x2B
112
113/* PCLK Gating IDs */
114
116#define EM32_GATE_PCLKG_LPC 0x03
117
119#define EM32_GATE_PCLKG_USART 0x07
120
122#define EM32_GATE_PCLKG_TMR1 0x08
123
125#define EM32_GATE_PCLKG_TMR2 0x09
126
128#define EM32_GATE_PCLKG_TMR3 0x0A
129
131#define EM32_GATE_PCLKG_TMR4 0x0B
132
134#define EM32_GATE_PCLKG_UART1 0x0C
135
137#define EM32_GATE_PCLKG_UART2 0x0D
138
140#define EM32_GATE_PCLKG_RVD1 0x0E
141
143#define EM32_GATE_PCLKG_SSP2 0x10
144
146#define EM32_GATE_PCLKG_I2C1 0x11
147
149#define EM32_GATE_PCLKG_I2C2 0x12
150
152#define EM32_GATE_PCLKG_PWM 0x13
153
155#define EM32_GATE_PCLKG_RVD2 0x14
156
158#define EM32_GATE_PCLKG_UDC 0x15
159
161#define EM32_GATE_PCLKG_ATRIM 0x16
162
164#define EM32_GATE_PCLKG_RTC 0x17
165
167#define EM32_GATE_PCLKG_BKP 0x18
168
170#define EM32_GATE_PCLKG_DWG 0x19
171
173#define EM32_GATE_PCLKG_PWR 0x1A
174
176#define EM32_GATE_PCLKG_CACHE 0x1B
177
179#define EM32_GATE_PCLKG_AIP 0x1C
180
182#define EM32_GATE_PCLKG_ECC 0x1D
183
185#define EM32_GATE_PCLKG_TRNG 0x1E
186
188#define EM32_GATE_PCLKG_SSP1 0x30
189
190/* Special IDs */
191
193#define EM32_GATE_NONE 0xFFFE
194
196#define EM32_GATE_PCLKG_ALL 0xFFFF
197
199
200#endif /* __ZEPHYR_INCLUDE_DT_BINDINGS_CLOCK_ELAN_EM32_CLOCK_H__ */