Zephyr API Documentation
4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mchp_pic32cm_pl_clock.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2026 Microchip Technology Inc.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
13
14
#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_PL_CLOCK_H_
15
#define INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_PL_CLOCK_H_
16
17
/* Clock subsystem Types */
19
#define SUBSYS_TYPE_OSCHF (0)
21
#define SUBSYS_TYPE_RTC (1)
23
#define SUBSYS_TYPE_XOSC32K (2)
25
#define SUBSYS_TYPE_OSC32K (3)
27
#define SUBSYS_TYPE_GCLKGEN (4)
29
#define SUBSYS_TYPE_GCLKPERIPH (5)
31
#define SUBSYS_TYPE_MCLKCPU (6)
33
#define SUBSYS_TYPE_MCLKPERIPH (7)
39
#define SUBSYS_TYPE_MAX (7)
40
42
#define MBUS_AHB (0)
44
#define MBUS_APBA (1)
46
#define MBUS_APBB (2)
48
#define MBUS_APBC (3)
50
#define MBUS_MAX (3)
51
53
#define INST_XOSC32K_XOSC1K 0
55
#define INST_XOSC32K_XOSC32K 1
56
58
#define INST_OSC32K_OSC1K 0
60
#define INST_OSC32K_OSC32K 1
61
94
#define MCHP_CLOCK_DERIVE_ID(type, mclkbus, mclkmaskbit, gclkperiph, inst) \
95
(((type) << 26) | ((mclkbus) << 20) | ((mclkmaskbit) << 14) | ((gclkperiph) << 8) | inst)
96
98
#define CLOCK_MCHP_OSCHF_ID MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_OSCHF, 0x3f, 0x3f, 0x3f, 0)
100
#define CLOCK_MCHP_OSCHF_ID_MAX (0)
101
103
#define CLOCK_MCHP_RTC_ID MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_RTC, 0x3f, 0x3f, 0x3f, 0)
105
#define CLOCK_MCHP_RTC_ID_MAX (0)
106
108
#define CLOCK_MCHP_XOSC32K_ID_XOSC1K \
109
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_XOSC32K, 0x3f, 0x3f, 0x3f, INST_XOSC32K_XOSC1K)
110
111
#define CLOCK_MCHP_XOSC32K_ID_XOSC32K \
112
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_XOSC32K, 0x3f, 0x3f, 0x3f, INST_XOSC32K_XOSC32K)
113
114
#define CLOCK_MCHP_XOSC32K_ID_MAX (1)
115
117
#define CLOCK_MCHP_OSC32K_ID_OSC1K \
118
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_OSC32K, 0x3f, 0x3f, 0x3f, INST_OSC32K_OSC1K)
119
120
#define CLOCK_MCHP_OSC32K_ID_OSC32K \
121
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_OSC32K, 0x3f, 0x3f, 0x3f, INST_OSC32K_OSC32K)
122
123
#define CLOCK_MCHP_OSC32K_ID_MAX (1)
124
126
#define CLOCK_MCHP_GCLKGEN_ID_GEN0 MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKGEN, 0x3f, 0x3f, 0x3f, 0)
128
#define CLOCK_MCHP_GCLKGEN_ID_GEN1 MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKGEN, 0x3f, 0x3f, 0x3f, 1)
130
#define CLOCK_MCHP_GCLKGEN_ID_GEN2 MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKGEN, 0x3f, 0x3f, 0x3f, 2)
132
#define CLOCK_MCHP_GCLKGEN_ID_GEN3 MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKGEN, 0x3f, 0x3f, 0x3f, 3)
134
#define CLOCK_MCHP_GCLKGEN_ID_MAX (3)
136
#define GCLK_IO_MAX CLOCK_MCHP_GCLKGEN_ID_MAX
137
139
#define CLOCK_MCHP_GCLKPERIPH_ID_EIC MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 0, 0)
141
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_0 \
142
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 1, 1)
143
144
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_1 \
145
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 2, 2)
146
147
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_2 \
148
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 3, 3)
149
150
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_3 \
151
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 4, 4)
152
153
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM0_SLOW \
154
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 5, 5)
155
156
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM0_CORE \
157
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 6, 6)
158
159
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM1_SLOW \
160
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 7, 7)
161
162
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM1_CORE \
163
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 8, 8)
164
165
#define CLOCK_MCHP_GCLKPERIPH_ID_TC0_TC1 \
166
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 9, 9)
167
168
#define CLOCK_MCHP_GCLKPERIPH_ID_TC2 \
169
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 10, 10)
170
171
#define CLOCK_MCHP_GCLKPERIPH_ID_TCC0 \
172
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 11, 11)
173
174
#define CLOCK_MCHP_GCLKPERIPH_ID_CCL \
175
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_GCLKPERIPH, 0x3f, 0x3f, 12, 12)
176
177
#define CLOCK_MCHP_GCLKPERIPH_ID_MAX (12)
178
180
#define GCLK_PH_MAX CLOCK_MCHP_GCLKPERIPH_ID_MAX
181
183
#define CLOCK_MCHP_MCLKCPU_ID MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKCPU, 0x3f, 0x3f, 0x3f, 0)
185
#define CLOCK_MCHP_MCLKCPU_MAX (0)
186
187
/* MCLKPERIPH_TYPE ids */
189
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBA \
190
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 0, 0x3f, 0)
191
192
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBB \
193
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 1, 0x3f, 1)
194
195
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBC \
196
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 2, 0x3f, 2)
197
198
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_DSU \
199
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 3, 0x3f, 3)
200
201
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_HMATRIXHS \
202
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 4, 0x3f, 4)
203
204
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_NVMCTRL \
205
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 5, 0x3f, 5)
206
207
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_HSRAM \
208
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 6, 0x3f, 6)
209
210
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_DMAC \
211
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 7, 0x3f, 7)
212
213
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_PAC \
214
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 8, 0x3f, 8)
215
216
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_BROM \
217
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_AHB, 9, 0x3f, 9)
218
220
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_PAC \
221
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 0, 0x3f, 10)
222
223
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_PM \
224
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 1, 0x3f, 11)
225
226
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_MCLK \
227
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 2, 0x3f, 12)
228
229
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_RSTC \
230
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 3, 0x3f, 13)
231
232
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_OSCCTRL \
233
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 4, 0x3f, 14)
234
235
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_OSC32KCTRL \
236
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 5, 0x3f, 15)
237
238
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_SUPC \
239
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 6, 0x3f, 16)
240
241
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_GCLK \
242
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 7, 0x3f, 17)
243
244
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_WDT \
245
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 8, 0x3f, 18)
246
247
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_RTC \
248
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 9, 0x3f, 19)
249
250
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_EIC \
251
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBA, 10, 0x3f, 20)
252
254
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_PORT \
255
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 0, 0x3f, 21)
256
257
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_DSU \
258
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 1, 0x3f, 22)
259
260
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_NVMCTRL \
261
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 2, 0x3f, 23)
262
263
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_DMAC \
264
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 3, 0x3f, 24)
265
266
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_MTB \
267
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 4, 0x3f, 25)
268
269
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_HMATRIXHS \
270
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBB, 5, 0x3f, 26)
271
273
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_EVSYS \
274
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 0, 0x3f, 27)
275
276
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM0 \
277
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 1, 0x3f, 28)
278
279
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM1 \
280
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 2, 0x3f, 29)
281
282
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC0 \
283
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 3, 0x3f, 30)
284
285
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC1 \
286
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 4, 0x3f, 31)
287
288
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC2 \
289
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 5, 0x3f, 32)
290
291
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TCC0 \
292
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 6, 0x3f, 33)
293
294
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_ADC0 \
295
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 7, 0x3f, 34)
296
297
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_AC \
298
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 8, 0x3f, 35)
299
300
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_CCL \
301
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 9, 0x3f, 36)
302
303
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_PTC \
304
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 10, 0x3f, 37)
305
306
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SYSCTRL \
307
MCHP_CLOCK_DERIVE_ID(SUBSYS_TYPE_MCLKPERIPH, MBUS_APBC, 11, 0x3f, 38)
308
309
#define CLOCK_MCHP_MCLKPERIPH_ID_MAX (38)
310
311
#endif
/* INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_PL_CLOCK_H_ */
zephyr
dt-bindings
clock
mchp_pic32cm_pl_clock.h
Generated on
for Zephyr API Documentation by
1.15.0