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_ */