Zephyr API Documentation
4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
mchp_pic32cm_jh_clock.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2025 Microchip Technology Inc.
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
13
14
#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_JH_CLOCK_H_
15
#define INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_JH_CLOCK_H_
16
56
#define MCHP_CLOCK_DERIVE_ID(type, mclkbus, mclkmaskbit, gclkperiph, inst) \
57
(((type) << 26) | ((mclkbus) << 20) | ((mclkmaskbit) << 14) | ((gclkperiph) << 8) | inst)
58
59
/* XOSC_TYPE ids */
60
#define CLOCK_MCHP_XOSC_ID MCHP_CLOCK_DERIVE_ID(0, 0x3f, 0x3f, 0x3f, 0)
61
#define CLOCK_MCHP_XOSC_ID_MAX (0)
62
63
/* OSC48M_TYPE ids */
64
#define CLOCK_MCHP_OSC48M_ID MCHP_CLOCK_DERIVE_ID(1, 0x3f, 0x3f, 0x3f, 0)
65
#define CLOCK_MCHP_OSC48M_ID_MAX (0)
66
67
/* FDPLL_TYPE id */
68
#define CLOCK_MCHP_FDPLL_ID MCHP_CLOCK_DERIVE_ID(2, 0x3f, 0x3f, 0, 0)
69
#define CLOCK_MCHP_FDPLL_ID_MAX (0)
70
71
/* RTC_TYPE ids */
72
#define CLOCK_MCHP_RTC_ID MCHP_CLOCK_DERIVE_ID(3, 0x3f, 0x3f, 0x3f, 0)
73
#define CLOCK_MCHP_RTC_ID_MAX (0)
74
75
/* XOSC32K_TYPE ids */
76
#define CLOCK_MCHP_XOSC32K_ID_XOSC1K MCHP_CLOCK_DERIVE_ID(4, 0x3f, 0x3f, 0x3f, 0)
77
#define CLOCK_MCHP_XOSC32K_ID_XOSC32K MCHP_CLOCK_DERIVE_ID(4, 0x3f, 0x3f, 0x3f, 1)
78
#define CLOCK_MCHP_XOSC32K_ID_MAX (1)
79
80
/* OSC32K_TYPE ids */
81
#define CLOCK_MCHP_OSC32K_ID_OSC1K MCHP_CLOCK_DERIVE_ID(5, 0x3f, 0x3f, 0x3f, 0)
82
#define CLOCK_MCHP_OSC32K_ID_OSC32K MCHP_CLOCK_DERIVE_ID(5, 0x3f, 0x3f, 0x3f, 1)
83
#define CLOCK_MCHP_OSC32K_ID_MAX (1)
84
85
/* GCLKGEN_TYPE ids */
86
#define CLOCK_MCHP_GCLKGEN_ID_GEN0 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 0)
87
#define CLOCK_MCHP_GCLKGEN_ID_GEN1 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 1)
88
#define CLOCK_MCHP_GCLKGEN_ID_GEN2 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 2)
89
#define CLOCK_MCHP_GCLKGEN_ID_GEN3 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 3)
90
#define CLOCK_MCHP_GCLKGEN_ID_GEN4 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 4)
91
#define CLOCK_MCHP_GCLKGEN_ID_GEN5 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 5)
92
#define CLOCK_MCHP_GCLKGEN_ID_GEN6 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 6)
93
#define CLOCK_MCHP_GCLKGEN_ID_GEN7 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 7)
94
#define CLOCK_MCHP_GCLKGEN_ID_GEN8 MCHP_CLOCK_DERIVE_ID(6, 0x3f, 0x3f, 0x3f, 8)
95
#define CLOCK_MCHP_GCLKGEN_ID_MAX (8)
96
97
/* GCLKPERIPH_TYPE ids */
98
#define CLOCK_MCHP_GCLKPERIPH_ID_EIC MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 2, 0)
99
#define CLOCK_MCHP_GCLKPERIPH_ID_FREQM_MSR MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 3, 1)
100
#define CLOCK_MCHP_GCLKPERIPH_ID_FREQM_REF MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 4, 2)
101
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_0 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 5, 3)
102
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_1 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 6, 4)
103
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_2 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 7, 5)
104
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_3 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 8, 6)
105
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_4 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 9, 7)
106
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_5 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 10, 8)
107
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_6 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 11, 9)
108
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_7 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 12, 10)
109
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_8 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 13, 11)
110
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_9 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 14, 12)
111
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_10 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 15, 13)
112
#define CLOCK_MCHP_GCLKPERIPH_ID_EVSYS_CHANNEL_11 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 16, 14)
113
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM_0_7_SLOW MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 17, 15)
114
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM0_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 18, 16)
115
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM1_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 19, 17)
116
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM2_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 20, 18)
117
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM3_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 21, 19)
118
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM4_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 22, 20)
119
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM5_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 23, 21)
120
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM6_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 24, 22)
121
#define CLOCK_MCHP_GCLKPERIPH_ID_SERCOM7_CORE MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 25, 23)
122
#define CLOCK_MCHP_GCLKPERIPH_ID_CAN0 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 26, 24)
123
#define CLOCK_MCHP_GCLKPERIPH_ID_CAN1 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 27, 25)
124
#define CLOCK_MCHP_GCLKPERIPH_ID_TCC0 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 28, 26)
125
#define CLOCK_MCHP_GCLKPERIPH_ID_TCC1 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 28, 27)
126
#define CLOCK_MCHP_GCLKPERIPH_ID_TCC2 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 29, 28)
127
#define CLOCK_MCHP_GCLKPERIPH_ID_TC0 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 30, 29)
128
#define CLOCK_MCHP_GCLKPERIPH_ID_TC1 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 30, 30)
129
#define CLOCK_MCHP_GCLKPERIPH_ID_TC2 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 31, 31)
130
#define CLOCK_MCHP_GCLKPERIPH_ID_TC3 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 31, 32)
131
#define CLOCK_MCHP_GCLKPERIPH_ID_TC4 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 32, 33)
132
#define CLOCK_MCHP_GCLKPERIPH_ID_TC5 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 33, 34)
133
#define CLOCK_MCHP_GCLKPERIPH_ID_TC6 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 34, 35)
134
#define CLOCK_MCHP_GCLKPERIPH_ID_TC7 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 35, 36)
135
#define CLOCK_MCHP_GCLKPERIPH_ID_ADC0 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 36, 37)
136
#define CLOCK_MCHP_GCLKPERIPH_ID_ADC1 MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 37, 38)
137
#define CLOCK_MCHP_GCLKPERIPH_ID_DAC MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 38, 39)
138
#define CLOCK_MCHP_GCLKPERIPH_ID_PTC MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 39, 40)
139
#define CLOCK_MCHP_GCLKPERIPH_ID_CCL MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 40, 41)
140
#define CLOCK_MCHP_GCLKPERIPH_ID_PDEC MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 41, 42)
141
#define CLOCK_MCHP_GCLKPERIPH_ID_AC MCHP_CLOCK_DERIVE_ID(7, 0x3f, 0x3f, 42, 43)
142
#define CLOCK_MCHP_GCLKPERIPH_ID_MAX (43)
143
144
/* MCLKCPU_TYPE ids */
145
#define CLOCK_MCHP_MCLKCPU_ID MCHP_CLOCK_DERIVE_ID(8, 0x3f, 0x3f, 0x3f, 0)
146
#define CLOCK_MCHP_MCLKCPU_MAX (0)
147
148
/* MCLKPERIPH_TYPE ids */
149
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBA MCHP_CLOCK_DERIVE_ID(9, 0, 0, 0x3f, 0)
150
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBB MCHP_CLOCK_DERIVE_ID(9, 0, 1, 0x3f, 1)
151
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBC MCHP_CLOCK_DERIVE_ID(9, 0, 2, 0x3f, 2)
152
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_DSU MCHP_CLOCK_DERIVE_ID(9, 0, 3, 0x3f, 3)
153
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_HMATRIXHS MCHP_CLOCK_DERIVE_ID(9, 0, 4, 0x3f, 4)
154
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_NVMCTRL MCHP_CLOCK_DERIVE_ID(9, 0, 5, 0x3f, 5)
155
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_MCRAMC MCHP_CLOCK_DERIVE_ID(9, 0, 6, 0x3f, 6)
156
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_DMAC MCHP_CLOCK_DERIVE_ID(9, 0, 7, 0x3f, 7)
157
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_CAN0 MCHP_CLOCK_DERIVE_ID(9, 0, 8, 0x3f, 8)
158
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_CAN1 MCHP_CLOCK_DERIVE_ID(9, 0, 9, 0x3f, 9)
159
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_PAC MCHP_CLOCK_DERIVE_ID(9, 0, 10, 0x3f, 10)
160
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_DIVAS MCHP_CLOCK_DERIVE_ID(9, 0, 12, 0x3f, 11)
161
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_APBD MCHP_CLOCK_DERIVE_ID(9, 0, 13, 0x3f, 12)
162
#define CLOCK_MCHP_MCLKPERIPH_ID_AHB_ICM MCHP_CLOCK_DERIVE_ID(9, 0, 14, 0x3f, 13)
163
164
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_PAC MCHP_CLOCK_DERIVE_ID(9, 1, 0, 0x3f, 14)
165
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_PM MCHP_CLOCK_DERIVE_ID(9, 1, 1, 0x3f, 15)
166
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_MCLK MCHP_CLOCK_DERIVE_ID(9, 1, 2, 0x3f, 16)
167
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_RSTC MCHP_CLOCK_DERIVE_ID(9, 1, 3, 0x3f, 17)
168
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_OSCCTRL MCHP_CLOCK_DERIVE_ID(9, 1, 4, 0x3f, 18)
169
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_OSC32KCTRL MCHP_CLOCK_DERIVE_ID(9, 1, 5, 0x3f, 19)
170
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_SUPC MCHP_CLOCK_DERIVE_ID(9, 1, 6, 0x3f, 20)
171
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_GCLK MCHP_CLOCK_DERIVE_ID(9, 1, 7, 0x3f, 21)
172
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_WDT MCHP_CLOCK_DERIVE_ID(9, 1, 8, 0x3f, 22)
173
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_RTC MCHP_CLOCK_DERIVE_ID(9, 1, 9, 0x3f, 23)
174
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_EIC MCHP_CLOCK_DERIVE_ID(9, 1, 10, 0x3f, 24)
175
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_FREQM MCHP_CLOCK_DERIVE_ID(9, 1, 11, 0x3f, 25)
176
#define CLOCK_MCHP_MCLKPERIPH_ID_APBA_MCRAMC MCHP_CLOCK_DERIVE_ID(9, 1, 12, 0x3f, 26)
177
178
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_PORT MCHP_CLOCK_DERIVE_ID(9, 2, 0, 0x3f, 27)
179
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_DSU MCHP_CLOCK_DERIVE_ID(9, 2, 1, 0x3f, 28)
180
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_NVMCTRL MCHP_CLOCK_DERIVE_ID(9, 2, 2, 0x3f, 29)
181
#define CLOCK_MCHP_MCLKPERIPH_ID_APBB_HMATRIXHS MCHP_CLOCK_DERIVE_ID(9, 2, 5, 0x3f, 30)
182
183
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_EVSYS MCHP_CLOCK_DERIVE_ID(9, 3, 0, 0x3f, 31)
184
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM0 MCHP_CLOCK_DERIVE_ID(9, 3, 1, 0x3f, 32)
185
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM1 MCHP_CLOCK_DERIVE_ID(9, 3, 2, 0x3f, 33)
186
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM2 MCHP_CLOCK_DERIVE_ID(9, 3, 3, 0x3f, 34)
187
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM3 MCHP_CLOCK_DERIVE_ID(9, 3, 4, 0x3f, 35)
188
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM4 MCHP_CLOCK_DERIVE_ID(9, 3, 5, 0x3f, 36)
189
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SERCOM5 MCHP_CLOCK_DERIVE_ID(9, 3, 6, 0x3f, 37)
190
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TCC0 MCHP_CLOCK_DERIVE_ID(9, 3, 9, 0x3f, 38)
191
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TCC1 MCHP_CLOCK_DERIVE_ID(9, 3, 10, 0x3f, 39)
192
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TCC2 MCHP_CLOCK_DERIVE_ID(9, 3, 11, 0x3f, 40)
193
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC0 MCHP_CLOCK_DERIVE_ID(9, 3, 12, 0x3f, 41)
194
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC1 MCHP_CLOCK_DERIVE_ID(9, 3, 13, 0x3f, 42)
195
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC2 MCHP_CLOCK_DERIVE_ID(9, 3, 14, 0x3f, 43)
196
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC3 MCHP_CLOCK_DERIVE_ID(9, 3, 15, 0x3f, 44)
197
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_TC4 MCHP_CLOCK_DERIVE_ID(9, 3, 16, 0x3f, 45)
198
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_ADC0 MCHP_CLOCK_DERIVE_ID(9, 3, 17, 0x3f, 46)
199
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_ADC1 MCHP_CLOCK_DERIVE_ID(9, 3, 18, 0x3f, 47)
200
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_AC MCHP_CLOCK_DERIVE_ID(9, 3, 19, 0x3f, 48)
201
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_DAC MCHP_CLOCK_DERIVE_ID(9, 3, 20, 0x3f, 49)
202
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_PTC MCHP_CLOCK_DERIVE_ID(9, 3, 21, 0x3f, 50)
203
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_CCL MCHP_CLOCK_DERIVE_ID(9, 3, 22, 0x3f, 51)
204
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_ICM MCHP_CLOCK_DERIVE_ID(9, 3, 25, 0x3f, 52)
205
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_PDEC MCHP_CLOCK_DERIVE_ID(9, 3, 26, 0x3f, 53)
206
#define CLOCK_MCHP_MCLKPERIPH_ID_APBC_SMBIST MCHP_CLOCK_DERIVE_ID(9, 3, 27, 0x3f, 54)
207
208
#define CLOCK_MCHP_MCLKPERIPH_ID_APBD_SERCOM6 MCHP_CLOCK_DERIVE_ID(9, 4, 0, 0x3f, 55)
209
#define CLOCK_MCHP_MCLKPERIPH_ID_APBD_SERCOM7 MCHP_CLOCK_DERIVE_ID(9, 4, 1, 0x3f, 56)
210
#define CLOCK_MCHP_MCLKPERIPH_ID_APBD_TC5 MCHP_CLOCK_DERIVE_ID(9, 4, 2, 0x3f, 57)
211
#define CLOCK_MCHP_MCLKPERIPH_ID_APBD_TC6 MCHP_CLOCK_DERIVE_ID(9, 4, 3, 0x3f, 58)
212
#define CLOCK_MCHP_MCLKPERIPH_ID_APBD_TC7 MCHP_CLOCK_DERIVE_ID(9, 4, 4, 0x3f, 59)
213
#define CLOCK_MCHP_MCLKPERIPH_ID_MAX (59)
214
215
#endif
/* INCLUDE_ZEPHYR_DT_BINDINGS_CLOCK_MCHP_PIC32CM_JH_CLOCK_H_ */
zephyr
dt-bindings
clock
mchp_pic32cm_jh_clock.h
Generated on
for Zephyr API Documentation by
1.15.0