1 
2 #ifndef __PLATFORM_CLK_H__
3 #define __PLATFORM_CLK_H__
4 
5 typedef enum
6 {
7     HAL_CLK_ROOT     = -1,
8     HAL_CLK_FIXED_SRC,
9     HAL_CLK_FIXED_FACTOR,
10     HAL_CLK_FACTOR,
11     HAL_CLK_PERIPH,
12 } hal_clk_type_t;
13 
14 /************************************************************************************************
15 * Enum hal_clk_id_t
16 * @Description: This enum defines the Clock-id that CCMU HAL support
17 * # Clock-id defines as Bitmap 32bits
18 * #|PERIPH CLOCK   |FACTOR PLL CLOCK  |FIXED FACTOR CLOCK     |FIXED SOURCE CLOCK  |
19 * #|768~1023       |512~767           |256~511                |0~255               |
20 *************************************************************************************************/
21 #define HAL_CLK_SECTION                 (256)
22 #define HAL_CLK_FIXED_SRC_OFFSET        (HAL_CLK_FIXED_SRC*HAL_CLK_SECTION)
23 #define HAL_CLK_FIXED_FACTOR_OFFSET (HAL_CLK_FIXED_FACTOR*HAL_CLK_SECTION)
24 #define HAL_CLK_FACTOR_OFFSET           (HAL_CLK_FACTOR*HAL_CLK_SECTION)
25 #define HAL_CLK_PERIPH_OFFSET           (HAL_CLK_PERIPH*HAL_CLK_SECTION)
26 #define HAL_CLK_GET_TYPE(clk_id)        (clk_id/HAL_CLK_SECTION)
27 
28 /************************************************************************************************
29 * Enum hal_clk_id_t
30 * @Description: This enum defines the Clock-id that CCMU HAL support
31 * # Clock-id defines as Bitmap 32bits
32 * #|PERIPH CLOCK   |FACTOR PLL CLOCK  |FIXED FACTOR CLOCK     |FIXED SOURCE CLOCK  |
33 * #|768~1023       |512~767           |256~511                |0~255               |
34 *************************************************************************************************/
35 enum
36 {
37     HAL_CLK_UNINITIALIZED       = -1,
38     HAL_CLK_SRC_ROOT,
39     /*
40     *   FIXED SOURCE CLOCK 0~255
41     */
42     HAL_CLK_SRC_HOSC24M     = HAL_CLK_FIXED_SRC_OFFSET,
43     HAL_CLK_SRC_HOSC24MD2,
44     HAL_CLK_SRC_IOSC16M,
45     HAL_CLK_SRC_OSC48M,
46     HAL_CLK_SRC_OSC48MD4,
47     HAL_CLK_SRC_LOSC,
48     HAL_CLK_SRC_RC16M,
49     HAL_CLK_PLL_PERI0DIV25M,
50     /*
51     *   FIXED FACTOR CLOCK 256~511
52     */
53     HAL_CLK_PLL_PERI0X2         = HAL_CLK_FIXED_FACTOR_OFFSET,
54     HAL_CLK_PLL_PERI1X2,
55     HAL_CLK_PLL_AUDIOX2,
56     HAL_CLK_PLL_AUDIOX4,
57     HAL_CLK_PLL_VIDEOX4,
58     HAL_CLK_PLL_DDRDIV4,
59     /*
60     *   FACTOR CLOCK 512~1023
61     */
62     HAL_CLK_PLL_CPUX_C0     =  HAL_CLK_FACTOR_OFFSET,
63     HAL_CLK_PLL_CPUX_C1,
64     HAL_CLK_PLL_DDR0,
65     HAL_CLK_PLL_DDR1,
66     HAL_CLK_PLL_32K,
67     HAL_CLK_PLL_PERI0,
68     HAL_CLK_PLL_PERI1,
69     HAL_CLK_PLL_GPU0,
70     HAL_CLK_PLL_GPU1,
71     HAL_CLK_PLL_VIDEO0,
72     HAL_CLK_PLL_VIDEO1,
73     HAL_CLK_PLL_VIDEO2,
74     HAL_CLK_PLL_VE,
75     HAL_CLK_PLL_DE,
76     HAL_CLK_PLL_ISP,
77     HAL_CLK_PLL_HSIC,
78     HAL_CLK_PLL_AUDIO,
79     HAL_CLK_PLL_VIDEO,
80     HAL_CLK_PLL_MIPI,
81     HAL_CLK_PLL_HDMI,
82     HAL_CLK_PLL_USB,
83     HAL_CLK_PLL_EDP,
84     HAL_CLK_PLL_SATA,
85     HAL_CLK_PLL_ADC,
86     HAL_CLK_PLL_DTMB,
87     HAL_CLK_PLL_24M,
88     HAL_CLK_PLL_EVE,
89     HAL_CLK_PLL_CVE,
90     HAL_CLK_PLL_ISE,
91     HAL_CLK_PLL_CSI,
92 
93     /*
94         PERIPH MODULE CLOCK 1024~2047
95     */
96     HAL_CLK_BUS_C0_CPU  = HAL_CLK_PERIPH_OFFSET,
97     HAL_CLK_BUS_C1_CPU,
98     HAL_CLK_BUS_C0_AXI,
99     HAL_CLK_BUS_C1_AXI,
100     HAL_CLK_BUS_CPUAPB,
101     HAL_CLK_BUS_PSI,
102     HAL_CLK_BUS_AHB1,
103     HAL_CLK_BUS_AHB2,
104     HAL_CLK_BUS_AHB3,
105     HAL_CLK_BUS_APB1,
106     HAL_CLK_BUS_APB2,
107     HAL_CLK_BUS_CCI400,
108     HAL_CLK_BUS_MBUS,
109     HAL_CLK_PERIPH_DMA,
110     HAL_CLK_PERIPH_DE,
111     HAL_CLK_PERIPH_EE,
112     HAL_CLK_PERIPH_DI,
113     HAL_CLK_PERIPH_G2D,
114     HAL_CLK_PERIPH_EDMA,
115     HAL_CLK_PERIPH_EVE,
116     HAL_CLK_PERIPH_CVE,
117     HAL_CLK_PERIPH_GPU,
118     HAL_CLK_PERIPH_CE,
119     HAL_CLK_PERIPH_VE,
120     HAL_CLK_PERIPH_EISE,
121     HAL_CLK_PERIPH_NNA,
122     HAL_CLK_PERIPH_NNA_RST,
123     HAL_CLK_PERIPH_MSGBOX0,
124     HAL_CLK_PERIPH_MSGBOX1,
125     HAL_CLK_PERIPH_MSGBOXR,
126     HAL_CLK_PERIPH_SPINLOCK,
127     HAL_CLK_PERIPH_HSTIMER,
128     HAL_CLK_PERIPH_AVS,
129     HAL_CLK_PERIPH_DBGSYS,
130     HAL_CLK_PERIPH_PWM,
131     HAL_CLK_PERIPH_IOMMU,
132     HAL_CLK_PERIPH_GPIO,
133     HAL_CLK_PERIPH_DRAM,
134     HAL_CLK_PERIPH_NAND0,
135     HAL_CLK_PERIPH_NAND1,
136     HAL_CLK_PERIPH_SDMMC0_MOD,
137     HAL_CLK_PERIPH_SDMMC0_RST,
138     HAL_CLK_PERIPH_SDMMC0_BUS,
139     HAL_CLK_PERIPH_SDMMC1_MOD,
140     HAL_CLK_PERIPH_SDMMC1_RST,
141     HAL_CLK_PERIPH_SDMMC2_BUS,
142     HAL_CLK_PERIPH_SDMMC2_MOD,
143     HAL_CLK_PERIPH_SDMMC2_RST,
144     HAL_CLK_PERIPH_SDMMC1_BUS,
145     HAL_CLK_PERIPH_SMHC3,
146     HAL_CLK_PERIPH_SMHC4,
147     HAL_CLK_PERIPH_SMHC5,
148     HAL_CLK_PERIPH_UART0,
149     HAL_CLK_PERIPH_UART1,
150     HAL_CLK_PERIPH_UART2,
151     HAL_CLK_PERIPH_UART3,
152     HAL_CLK_PERIPH_UART4,
153     HAL_CLK_PERIPH_UART5,
154     HAL_CLK_PERIPH_UART6,
155     HAL_CLK_PERIPH_UART7,
156     HAL_CLK_PERIPH_TWI0,
157     HAL_CLK_PERIPH_TWI1,
158     HAL_CLK_PERIPH_TWI2,
159     HAL_CLK_PERIPH_TWI3,
160     HAL_CLK_PERIPH_TWI4,
161     HAL_CLK_PERIPH_CAN0,
162     HAL_CLK_PERIPH_CAN1,
163     HAL_CLK_PERIPH_CAN2,
164     HAL_CLK_PERIPH_SCR0,
165     HAL_CLK_PERIPH_SCR1,
166     HAL_CLK_PERIPH_SCR2,
167     HAL_CLK_PERIPH_SCR3,
168     HAL_CLK_PERIPH_SPI0,
169     HAL_CLK_PERIPH_SPI1,
170     HAL_CLK_PERIPH_SPI2,
171     HAL_CLK_PERIPH_SPI3,
172     HAL_CLK_PERIPH_SPI4,
173     HAL_CLK_PERIPH_SPI5,
174     HAL_CLK_PERIPH_SPI6,
175     HAL_CLK_PERIPH_SPI7,
176     HAL_CLK_PERIPH_THS,
177     HAL_CLK_PERIPH_GMAC,
178     HAL_CLK_PERIPH_EPHY,
179     HAL_CLK_PERIPH_EMAC,
180     HAL_CLK_PERIPH_SATA,
181     HAL_CLK_PERIPH_TS0,
182     HAL_CLK_PERIPH_TS1,
183     HAL_CLK_PERIPH_IRTX,
184     HAL_CLK_PERIPH_KEYPAD,
185     HAL_CLK_PERIPH_GPADC,
186     HAL_CLK_PERIPH_LEDC,
187     HAL_CLK_PERIPH_PIO,
188     HAL_CLK_PERIPH_MAD,
189     HAL_CLK_PERIPH_LPSD,
190     HAL_CLK_PERIPH_DTMB,
191     HAL_CLK_PERIPH_I2S0,
192     HAL_CLK_PERIPH_I2S1,
193     HAL_CLK_PERIPH_I2S2,
194     HAL_CLK_PERIPH_SPDIF,
195     HAL_CLK_PERIPH_DSD,
196     HAL_CLK_PERIPH_DMIC,
197     HAL_CLK_PERIPH_AUDIOCODEC_1X,
198     HAL_CLK_PERIPH_AUDIOCODEC_4X,
199     HAL_CLK_PERIPH_WLAN,
200     HAL_CLK_PERIPH_USB0,
201     HAL_CLK_PERIPH_USB1,
202     HAL_CLK_PERIPH_USB2,
203     HAL_CLK_PERIPH_USB3,
204     HAL_CLK_PERIPH_USBOHCI0,
205     HAL_CLK_PERIPH_USBOHCI0_12M,
206     HAL_CLK_PERIPH_USBOHCI1,
207     HAL_CLK_PERIPH_USBOHCI1_12M,
208     HAL_CLK_PERIPH_USBEHCI0,
209     HAL_CLK_PERIPH_USBEHCI1,
210     HAL_CLK_PERIPH_USBOTG,
211     HAL_CLK_PERIPH_HDMI0,
212     HAL_CLK_PERIPH_HDMI1,
213     HAL_CLK_PERIPH_HDMI2,
214     HAL_CLK_PERIPH_HDMI3,
215     HAL_CLK_PERIPH_MIPI_DSI0,
216     HAL_CLK_PERIPH_MIPI_DPHY0,
217     HAL_CLK_PERIPH_MIPI_HOST0,
218     HAL_CLK_PERIPH_MIPI_DSI1,
219     HAL_CLK_PERIPH_MIPI_HOST1,
220     HAL_CLK_PERIPH_MIPI_DSI2,
221     HAL_CLK_PERIPH_MIPI_HOST2,
222     HAL_CLK_PERIPH_MIPI_DSI3,
223     HAL_CLK_PERIPH_MIPI_HOST3,
224     HAL_CLK_PERIPH_MIPI_DSC,
225     HAL_CLK_PERIPH_DISPLAY_TOP,
226     HAL_CLK_PERIPH_TCON_LCD0,
227     HAL_CLK_PERIPH_TCON_LCD1,
228     HAL_CLK_PERIPH_TCON_LCD2,
229     HAL_CLK_PERIPH_TCON_LCD3,
230     HAL_CLK_PERIPH_TCON_TV0,
231     HAL_CLK_PERIPH_TCON_TV1,
232     HAL_CLK_PERIPH_TCON_TV2,
233     HAL_CLK_PERIPH_TCON_TV3,
234     HAL_CLK_PERIPH_TVE0,
235     HAL_CLK_PERIPH_TVE1,
236     HAL_CLK_PERIPH_LVDS,
237     HAL_CLK_PERIPH_TVD0,
238     HAL_CLK_PERIPH_TVD1,
239     HAL_CLK_PERIPH_TVD2,
240     HAL_CLK_PERIPH_TVD3,
241     HAL_CLK_PERIPH_TVD4,
242     HAL_CLK_PERIPH_TVD5,
243     HAL_CLK_PERIPH_EDP,
244     HAL_CLK_PERIPH_CSI0,
245     HAL_CLK_PERIPH_CSI1,
246     HAL_CLK_PERIPH_MIPI_CSI,
247     HAL_CLK_PERIPH_SUB_LVDS,
248     HAL_CLK_PERIPH_HISP,
249     HAL_CLK_PERIPH_CSI_TOP,
250     HAL_CLK_PERIPH_CSI_MASTER0,
251     HAL_CLK_PERIPH_CSI_MASTER1,
252     HAL_CLK_PERIPH_ISP,
253     HAL_CLK_PERIPH_DSPO,
254 };
255 
256 #endif
257 
258