mFrame
載入中...
搜尋中...
無符合項目
AttachID.h
1
7#ifndef MCXA153_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6
8#define MCXA153_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6
9
10/* ***************************************************************************************
11 * Include
12 */
13#include "mframe.h"
14
15//----------------------------------------------------------------------------------------
16
17//----------------------------------------------------------------------------------------
18#include "./SelectName.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23
34 enum struct AttachID : unsigned int;
35
42 constexpr unsigned int operator+(AttachID e) {
43 return static_cast<unsigned int>(e);
44 }
45
52 static inline constexpr SelectName attachToSelectName(AttachID attachID) {
53 return static_cast<SelectName>(+attachID >> 16U);
54 }
55
62 static inline constexpr uint32 attachClockSelect(AttachID attachID) {
63 return (+attachID & 0x0000FFFFU);
64 }
65
73 static inline constexpr unsigned int CLK_ATTACH_MUX(SelectName reg, uint32 sel) {
74 return (+reg << 16) | sel;
75 }
76} // namespace mcxa153::chip::clock
77
78/* ***************************************************************************************
79 * Class/Interface/Struct/Enum
80 */
81enum struct mcxa153::chip::clock::AttachID : unsigned int {
83 CLK_ATTACH_MUX(SelectName::SCGSCS, 1U),
85 CLK_ATTACH_MUX(SelectName::SCGSCS, 2U),
87 CLK_ATTACH_MUX(SelectName::SCGSCS, 3U),
89 CLK_ATTACH_MUX(SelectName::SCGSCS, 4U),
91 CLK_ATTACH_MUX(SelectName::SCGSCS, 7U),
94 CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 0U),
96 CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 2U),
98 CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 3U),
100 CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 5U),
102 CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 7U),
105 CLK_ATTACH_MUX(SelectName::CTIMER0, 0U),
107 CLK_ATTACH_MUX(SelectName::CTIMER0, 1U),
109 CLK_ATTACH_MUX(SelectName::CTIMER0, 3U),
111 CLK_ATTACH_MUX(SelectName::CTIMER0, 4U),
113 CLK_ATTACH_MUX(SelectName::CTIMER0, 5U),
115 CLK_ATTACH_MUX(SelectName::CTIMER0, 7U),
118 CLK_ATTACH_MUX(SelectName::CTIMER1, 0U),
120 CLK_ATTACH_MUX(SelectName::CTIMER1, 1U),
122 CLK_ATTACH_MUX(SelectName::CTIMER1, 3U),
124 CLK_ATTACH_MUX(SelectName::CTIMER1, 4U),
126 CLK_ATTACH_MUX(SelectName::CTIMER1, 5U),
128 CLK_ATTACH_MUX(SelectName::CTIMER1, 7U),
131 CLK_ATTACH_MUX(SelectName::CTIMER2, 0U),
133 CLK_ATTACH_MUX(SelectName::CTIMER2, 1U),
135 CLK_ATTACH_MUX(SelectName::CTIMER2, 3U),
137 CLK_ATTACH_MUX(SelectName::CTIMER2, 4U),
139 CLK_ATTACH_MUX(SelectName::CTIMER2, 5U),
141 CLK_ATTACH_MUX(SelectName::CTIMER2, 7U),
144 CLK_ATTACH_MUX(SelectName::LPI2C0, 0U),
146 CLK_ATTACH_MUX(SelectName::LPI2C0, 2U),
148 CLK_ATTACH_MUX(SelectName::LPI2C0, 3U),
150 CLK_ATTACH_MUX(SelectName::LPI2C0, 5U),
151 NONE_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 7U),
154 CLK_ATTACH_MUX(SelectName::LPSPI0, 0U),
156 CLK_ATTACH_MUX(SelectName::LPSPI0, 2U),
158 CLK_ATTACH_MUX(SelectName::LPSPI0, 3U),
160 CLK_ATTACH_MUX(SelectName::LPSPI0, 5U),
161 NONE_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 7U),
164 CLK_ATTACH_MUX(SelectName::LPSPI1, 0U),
166 CLK_ATTACH_MUX(SelectName::LPSPI1, 2U),
168 CLK_ATTACH_MUX(SelectName::LPSPI1, 3U),
170 CLK_ATTACH_MUX(SelectName::LPSPI1, 5U),
171 NONE_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 7U),
174 CLK_ATTACH_MUX(SelectName::LPUART0, 0U),
176 CLK_ATTACH_MUX(SelectName::LPUART0, 2U),
178 CLK_ATTACH_MUX(SelectName::LPUART0, 3U),
180 CLK_ATTACH_MUX(SelectName::LPUART0, 4U),
182 CLK_ATTACH_MUX(SelectName::LPUART0, 5U),
184 CLK_ATTACH_MUX(SelectName::LPUART0, 7U),
187 CLK_ATTACH_MUX(SelectName::LPUART1, 0U),
189 CLK_ATTACH_MUX(SelectName::LPUART1, 2U),
191 CLK_ATTACH_MUX(SelectName::LPUART1, 3U),
193 CLK_ATTACH_MUX(SelectName::LPUART1, 4U),
195 CLK_ATTACH_MUX(SelectName::LPUART1, 5U),
197 CLK_ATTACH_MUX(SelectName::LPUART1, 7U),
200 CLK_ATTACH_MUX(SelectName::LPUART2, 0U),
202 CLK_ATTACH_MUX(SelectName::LPUART2, 2U),
204 CLK_ATTACH_MUX(SelectName::LPUART2, 3U),
206 CLK_ATTACH_MUX(SelectName::LPUART2, 4U),
208 CLK_ATTACH_MUX(SelectName::LPUART2, 5U),
210 CLK_ATTACH_MUX(SelectName::LPUART2, 7U),
212 CLK_48M_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 1U),
213 CLK_IN_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 2U),
214 NONE_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 3U),
217 CLK_ATTACH_MUX(SelectName::LPTMR0, 0U),
219 CLK_ATTACH_MUX(SelectName::LPTMR0, 2U),
221 CLK_ATTACH_MUX(SelectName::LPTMR0, 3U),
223 CLK_ATTACH_MUX(SelectName::LPTMR0, 5U),
224 NONE_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 7U),
227 CLK_ATTACH_MUX(SelectName::OSTIMER0, 0U),
229 CLK_ATTACH_MUX(SelectName::OSTIMER0, 2U),
231 CLK_ATTACH_MUX(SelectName::OSTIMER0, 3U),
233 FRO12M_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 0U),
234 FRO_HF_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 1U),
235 CLK_IN_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 3U),
236 CLK_1M_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 5U),
237 NONE_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 7U),
239 FRO12M_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 0U),
241 CLK_ATTACH_MUX(SelectName::CMP0_RR, 2U),
242 CLK_IN_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 3U),
243 CLK_1M_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 5U),
244 NONE_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 7U),
246 FRO12M_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 0U),
248 CLK_ATTACH_MUX(SelectName::CMP1_RR, 2U),
249 CLK_IN_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 3U),
250 CLK_1M_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 5U),
251 NONE_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 7U),
254 CLK_ATTACH_MUX(SelectName::TRACE, 0U),
255 CLK_1M_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 1U),
257 CLK_ATTACH_MUX(SelectName::TRACE, 2U),
258 NONE_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 3U),
261 CLK_ATTACH_MUX(SelectName::CLKOUT, 0U),
263 CLK_ATTACH_MUX(SelectName::CLKOUT, 1U),
265 CLK_ATTACH_MUX(SelectName::CLKOUT, 2U),
267 CLK_ATTACH_MUX(SelectName::CLKOUT, 3U),
269 CLK_ATTACH_MUX(SelectName::CLKOUT, 6U),
270 NONE_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 7U),
273 CLK_ATTACH_MUX(SelectName::SYSTICK, 0U),
275 CLK_ATTACH_MUX(SelectName::SYSTICK, 1U),
277 CLK_ATTACH_MUX(SelectName::SYSTICK, 2U),
279 CLK_ATTACH_MUX(SelectName::SYSTICK, 3U),
281 NONE_TO_NONE = (0xFFFFFFFFU)
282};
283
284/* ***************************************************************************************
285 * End of file
286 */
287
288#endif /* MCXA153_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6 */
時鐘源附加識別碼枚舉
Definition AttachID.h:33
AttachID
Definition AttachID.h:81
SelectName
MCXA153 晶片的時鐘選擇枚舉 此枚舉定義了所有可用於各個外設的時鐘選擇
Definition SelectName.h:46
constexpr unsigned int operator+(AttachID e)
將AttachID轉換為無符號整數
Definition AttachID.h:42