mFrame
載入中...
搜尋中...
無符合項目
AttachID.h
1
7#ifndef CHIP_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6
8#define CHIP_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6
9
10/* ***************************************************************************************
11 * Include
12 */
13
14//----------------------------------------------------------------------------------------
15#include "mframe.h"
16
17//----------------------------------------------------------------------------------------
18#include "./SelectName.h"
19
20/* ***************************************************************************************
21 * Namespace
22 */
23namespace chip::clock {
24 enum struct AttachID : unsigned int;
25
26 constexpr unsigned int operator+(AttachID e) {
27 return static_cast<unsigned int>(e);
28 }
29
30 static inline constexpr SelectName attachToSelectName(AttachID attachID) {
31 return static_cast<SelectName>(+attachID >> 16U);
32 }
33
34 static inline constexpr uint32 attachClockSelect(AttachID attachID) {
35 return (+attachID & 0x0000FFFFU);
36 }
37
38 static inline constexpr unsigned int CLK_ATTACH_MUX(SelectName reg, uint32 sel) {
39 return (+reg << 16) | sel;
40 }
41} // namespace chip::clock
42
43/* ***************************************************************************************
44 * Class/Interface/Struct/Enum
45 */
46enum struct chip::clock::AttachID : unsigned int {
47 CLK_IN_TO_MAIN_CLK = CLK_ATTACH_MUX(SelectName::SCGSCS, 1U),
48 FRO12M_TO_MAIN_CLK = CLK_ATTACH_MUX(SelectName::SCGSCS, 2U),
49 FRO_HF_TO_MAIN_CLK = CLK_ATTACH_MUX(SelectName::SCGSCS, 3U),
50 CLK_16K_TO_MAIN_CLK = CLK_ATTACH_MUX(SelectName::SCGSCS, 4U),
51 NONE_TO_MAIN_CLK = CLK_ATTACH_MUX(SelectName::SCGSCS, 7U),
53 FRO12M_TO_I3C0FCLK = CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 0U),
54 FRO_HF_DIV_TO_I3C0FCLK = CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 2U),
55 CLK_IN_TO_I3C0FCLK = CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 3U),
56 CLK_1M_TO_I3C0FCLK = CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 5U),
57 NONE_TO_I3C0FCLK = CLK_ATTACH_MUX(SelectName::I3C0_FCLK, 7U),
59 FRO12M_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 0U),
60 FRO_HF_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 1U),
61 CLK_IN_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 3U),
62 CLK_16K_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 4U),
63 CLK_1M_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 5U),
64 NONE_TO_CTIMER0 = CLK_ATTACH_MUX(SelectName::CTIMER0, 7U),
66 FRO12M_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 0U),
67 FRO_HF_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 1U),
68 CLK_IN_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 3U),
69 CLK_16K_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 4U),
70 CLK_1M_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 5U),
71 NONE_TO_CTIMER1 = CLK_ATTACH_MUX(SelectName::CTIMER1, 7U),
73 FRO12M_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 0U),
74 FRO_HF_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 1U),
75 CLK_IN_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 3U),
76 CLK_16K_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 4U),
77 CLK_1M_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 5U),
78 NONE_TO_CTIMER2 = CLK_ATTACH_MUX(SelectName::CTIMER2, 7U),
80 FRO12M_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 0U),
81 FRO_HF_DIV_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 2U),
82 CLK_IN_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 3U),
83 CLK_1M_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 5U),
84 NONE_TO_LPI2C0 = CLK_ATTACH_MUX(SelectName::LPI2C0, 7U),
86 FRO12M_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 0U),
87 FRO_HF_DIV_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 2U),
88 CLK_IN_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 3U),
89 CLK_1M_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 5U),
90 NONE_TO_LPSPI0 = CLK_ATTACH_MUX(SelectName::LPSPI0, 7U),
92 FRO12M_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 0U),
93 FRO_HF_DIV_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 2U),
94 CLK_IN_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 3U),
95 CLK_1M_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 5U),
96 NONE_TO_LPSPI1 = CLK_ATTACH_MUX(SelectName::LPSPI1, 7U),
98 FRO12M_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 0U),
99 FRO_HF_DIV_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 2U),
100 CLK_IN_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 3U),
101 CLK_16K_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 4U),
102 CLK_1M_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 5U),
103 NONE_TO_LPUART0 = CLK_ATTACH_MUX(SelectName::LPUART0, 7U),
105 FRO12M_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 0U),
106 FRO_HF_DIV_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 2U),
107 CLK_IN_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 3U),
108 CLK_16K_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 4U),
109 CLK_1M_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 5U),
110 NONE_TO_LPUART1 = CLK_ATTACH_MUX(SelectName::LPUART1, 7U),
112 FRO12M_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 0U),
113 FRO_HF_DIV_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 2U),
114 CLK_IN_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 3U),
115 CLK_16K_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 4U),
116 CLK_1M_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 5U),
117 NONE_TO_LPUART2 = CLK_ATTACH_MUX(SelectName::LPUART2, 7U),
119 CLK_48M_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 1U),
120 CLK_IN_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 2U),
121 NONE_TO_USB0 = CLK_ATTACH_MUX(SelectName::USB0, 3U),
123 FRO12M_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 0U),
124 FRO_HF_DIV_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 2U),
125 CLK_IN_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 3U),
126 CLK_1M_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 5U),
127 NONE_TO_LPTMR0 = CLK_ATTACH_MUX(SelectName::LPTMR0, 7U),
129 CLK_16K_TO_OSTIMER = CLK_ATTACH_MUX(SelectName::OSTIMER0, 0U),
130 CLK_1M_TO_OSTIMER = CLK_ATTACH_MUX(SelectName::OSTIMER0, 2U),
131 NONE_TO_OSTIMER = CLK_ATTACH_MUX(SelectName::OSTIMER0, 3U),
133 FRO12M_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 0U),
134 FRO_HF_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 1U),
135 CLK_IN_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 3U),
136 CLK_1M_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 5U),
137 NONE_TO_ADC0 = CLK_ATTACH_MUX(SelectName::ADC0, 7U),
139 FRO12M_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 0U),
140 FRO_HF_DIV_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 2U),
141 CLK_IN_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 3U),
142 CLK_1M_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 5U),
143 NONE_TO_CMP0 = CLK_ATTACH_MUX(SelectName::CMP0_RR, 7U),
145 FRO12M_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 0U),
146 FRO_HF_DIV_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 2U),
147 CLK_IN_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 3U),
148 CLK_1M_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 5U),
149 NONE_TO_CMP1 = CLK_ATTACH_MUX(SelectName::CMP1_RR, 7U),
151 CPU_CLK_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 0U),
152 CLK_1M_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 1U),
153 CLK_16K_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 2U),
154 NONE_TO_TRACE = CLK_ATTACH_MUX(SelectName::TRACE, 3U),
156 FRO12M_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 0U),
157 FRO_HF_DIV_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 1U),
158 CLK_IN_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 2U),
159 CLK_16K_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 3U),
160 SLOW_CLK_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 6U),
161 NONE_TO_CLKOUT = CLK_ATTACH_MUX(SelectName::CLKOUT, 7U),
163 CPU_CLK_TO_SYSTICK = CLK_ATTACH_MUX(SelectName::SYSTICK, 0U),
164 CLK_1M_TO_SYSTICK = CLK_ATTACH_MUX(SelectName::SYSTICK, 1U),
165 CLK_16K_TO_SYSTICK = CLK_ATTACH_MUX(SelectName::SYSTICK, 2U),
166 NONE_TO_SYSTICK = CLK_ATTACH_MUX(SelectName::SYSTICK, 3U),
168 NONE_TO_NONE = (0xFFFFFFFFU)
169};
170
171/* ***************************************************************************************
172 * End of file
173 */
174
175#endif /* CHIP_533338E5_D3E9_4A18_ACA6_02A1E7AEDAA6 */
Definition AttachID.h:23
SelectName
Definition SelectName.h:33
AttachID
Definition AttachID.h:46