• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021 Chipsea Technologies (Shenzhen) Corp., Ltd. All rights reserved.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef _CS1000LITE_LED_PWM_H_
16 #define _CS1000LITE_LED_PWM_H_
17 
18 #include "chip.h"
19 
20 // =============================================================================
21 //  MACROS
22 // =============================================================================
23 
24 // =============================================================================
25 //  TYPES
26 // =============================================================================
27 
28 // ============================================================================
29 // CS1000LITE_LED_PWM_T
30 // -----------------------------------------------------------------------------
31 ///
32 // =============================================================================
33 #define REG_CS1000LITE_LED_PWM_BASE 0x50014000
34 
35 typedef struct {
36   __IO uint32_t                          tmr0_ld_value;                //0x00000000
37   __IO uint32_t Reserved_00000004;                    //0x00000004
38   __IO uint32_t                          tmr0_cnt_value;               //0x00000008
39   __IO uint32_t Reserved_0000000C;                    //0x0000000C
40   __IO uint32_t                          tmr0_cfg;                     //0x00000010
41   __IO uint32_t                          tmr0_int_ctrl;                //0x00000014
42   __IO uint32_t                          tmr0_cnt_read;                //0x00000018
43   __IO uint32_t Reserved_0000001C;                    //0x0000001C
44   __IO uint32_t                          tmr1_ld_value;                //0x00000020
45   __IO uint32_t Reserved_00000024;                    //0x00000024
46   __IO uint32_t                          tmr1_cnt_value;               //0x00000028
47   __IO uint32_t Reserved_0000002C;                    //0x0000002C
48   __IO uint32_t                          tmr1_cfg;                     //0x00000030
49   __IO uint32_t                          tmr1_int_ctrl;                //0x00000034
50   __IO uint32_t                          tmr1_cnt_read;                //0x00000038
51   __IO uint32_t Reserved_0000003C;                    //0x0000003C
52   __IO uint32_t                          tmr2_ld_value;                //0x00000040
53   __IO uint32_t Reserved_00000044;                    //0x00000044
54   __IO uint32_t                          tmr2_cnt_value;               //0x00000048
55   __IO uint32_t Reserved_0000004C;                    //0x0000004C
56   __IO uint32_t                          tmr2_cfg;                     //0x00000050
57   __IO uint32_t                          tmr2_int_ctrl;                //0x00000054
58   __IO uint32_t                          tmr2_cnt_read;                //0x00000058
59   __IO uint32_t Reserved_0000005C[41];                //0x0000005C
60   __IO uint32_t                          pwm0_sta_val;                 //0x00000100
61   __IO uint32_t                          pwm0_end_val;                 //0x00000104
62   __IO uint32_t                          pwm0_step_cfg0;               //0x00000108
63   __IO uint32_t                          pwm0_step_cfg1;               //0x0000010C
64   __IO uint32_t                          pwm0_cfg;                     //0x00000110
65   __IO uint32_t                          pwm0_int_ctrl;                //0x00000114
66   __IO uint32_t                          pwm0_end_val_use;             //0x00000118
67   __IO uint32_t                          pwm0_step_cnt;                //0x0000011C
68   __IO uint32_t                          pwm1_sta_val;                 //0x00000120
69   __IO uint32_t                          pwm1_end_val;                 //0x00000124
70   __IO uint32_t                          pwm1_step_cfg0;               //0x00000128
71   __IO uint32_t                          pwm1_step_cfg1;               //0x0000012C
72   __IO uint32_t                          pwm1_cfg;                     //0x00000130
73   __IO uint32_t                          pwm1_int_ctrl;                //0x00000134
74   __IO uint32_t                          pwm1_end_val_use;             //0x00000138
75   __IO uint32_t                          pwm1_step_cnt;                //0x0000013C
76   __IO uint32_t                          pwm2_sta_val;                 //0x00000140
77   __IO uint32_t                          pwm2_end_val;                 //0x00000144
78   __IO uint32_t                          pwm2_step_cfg0;               //0x00000148
79   __IO uint32_t                          pwm2_step_cfg1;               //0x0000014C
80   __IO uint32_t                          pwm2_cfg;                     //0x00000150
81   __IO uint32_t                          pwm2_int_ctrl;                //0x00000154
82   __IO uint32_t                          pwm2_end_val_use;             //0x00000158
83   __IO uint32_t                          pwm2_step_cnt;                //0x0000015C
84   __IO uint32_t                          pwm3_sta_val;                 //0x00000160
85   __IO uint32_t                          pwm3_end_val;                 //0x00000164
86   __IO uint32_t                          pwm3_step_cfg0;               //0x00000168
87   __IO uint32_t                          pwm3_step_cfg1;               //0x0000016C
88   __IO uint32_t                          pwm3_cfg;                     //0x00000170
89   __IO uint32_t                          pwm3_int_ctrl;                //0x00000174
90   __IO uint32_t                          pwm3_end_val_use;             //0x00000178
91   __IO uint32_t                          pwm3_step_cnt;                //0x0000017C
92   __IO uint32_t                          pwm4_sta_val;                 //0x00000180
93   __IO uint32_t                          pwm4_end_val;                 //0x00000184
94   __IO uint32_t                          pwm4_step_cfg0;               //0x00000188
95   __IO uint32_t                          pwm4_step_cfg1;               //0x0000018C
96   __IO uint32_t                          pwm4_cfg;                     //0x00000190
97   __IO uint32_t                          pwm4_int_ctrl;                //0x00000194
98   __IO uint32_t                          pwm4_end_val_use;             //0x00000198
99   __IO uint32_t                          pwm4_step_cnt;                //0x0000019C
100   __IO uint32_t                          pwm5_sta_val;                 //0x000001A0
101   __IO uint32_t                          pwm5_end_val;                 //0x000001A4
102   __IO uint32_t                          pwm5_step_cfg0;               //0x000001A8
103   __IO uint32_t                          pwm5_step_cfg1;               //0x000001AC
104   __IO uint32_t                          pwm5_cfg;                     //0x000001B0
105   __IO uint32_t                          pwm5_int_ctrl;                //0x000001B4
106   __IO uint32_t                          pwm5_end_val_use;             //0x000001B8
107   __IO uint32_t                          pwm5_step_cnt;                //0x000001BC
108 } HWP_CS1000LITE_LED_PWM_T;
109 
110 static HWP_CS1000LITE_LED_PWM_T * const cs1000liteLedPwm = ((HWP_CS1000LITE_LED_PWM_T *)REG_CS1000LITE_LED_PWM_BASE);
111 
112 
113 //tmr0_ld_value
114 #define CS1000LITE_LED_PWM_TMR_LD_VALUE(n) (((n)&0xFFFFFFFF)<<0)
115 
116 //tmr0_cnt_value
117 #define CS1000LITE_LED_PWM_TMR_CNT_VALUE(n) (((n)&0xFFFFFFFF)<<0)
118 
119 //tmr0_cfg
120 #define CS1000LITE_LED_PWM_TMR_MODE (1<<0)
121 #define CS1000LITE_LED_PWM_TMR_RUN (1<<1)
122 
123 //tmr0_int_ctrl
124 #define CS1000LITE_LED_PWM_TMR_INT_EN (1<<0)
125 #define CS1000LITE_LED_PWM_TMR_INT_RAW (1<<1)
126 #define CS1000LITE_LED_PWM_TMR_INT_STATUS (1<<2)
127 #define CS1000LITE_LED_PWM_TMR_INT_CLR (1<<3)
128 
129 //tmr0_cnt_read
130 #define CS1000LITE_LED_PWM_TMR_CNT_READ(n) (((n)&0xFFFFFFFF)<<0)
131 
132 //tmr1_ld_value
133 //#define CS1000LITE_LED_PWM_TMR_LD_VALUE(n) (((n)&0xFFFFFFFF)<<0)
134 
135 //tmr1_cnt_value
136 //#define CS1000LITE_LED_PWM_TMR_CNT_VALUE(n) (((n)&0xFFFFFFFF)<<0)
137 
138 //tmr1_cfg
139 //#define CS1000LITE_LED_PWM_TMR_MODE (1<<0)
140 //#define CS1000LITE_LED_PWM_TMR_RUN (1<<1)
141 
142 //tmr1_int_ctrl
143 //#define CS1000LITE_LED_PWM_TMR_INT_EN (1<<0)
144 //#define CS1000LITE_LED_PWM_TMR_INT_RAW (1<<1)
145 //#define CS1000LITE_LED_PWM_TMR_INT_STATUS (1<<2)
146 //#define CS1000LITE_LED_PWM_TMR_INT_CLR (1<<3)
147 
148 //tmr1_cnt_read
149 //#define CS1000LITE_LED_PWM_TMR_CNT_READ(n) (((n)&0xFFFFFFFF)<<0)
150 
151 //tmr2_ld_value
152 //#define CS1000LITE_LED_PWM_TMR_LD_VALUE(n) (((n)&0xFFFFFFFF)<<0)
153 
154 //tmr2_cnt_value
155 //#define CS1000LITE_LED_PWM_TMR_CNT_VALUE(n) (((n)&0xFFFFFFFF)<<0)
156 
157 //tmr2_cfg
158 //#define CS1000LITE_LED_PWM_TMR_MODE (1<<0)
159 //#define CS1000LITE_LED_PWM_TMR_RUN (1<<1)
160 
161 //tmr2_int_ctrl
162 //#define CS1000LITE_LED_PWM_TMR_INT_EN (1<<0)
163 //#define CS1000LITE_LED_PWM_TMR_INT_RAW (1<<1)
164 //#define CS1000LITE_LED_PWM_TMR_INT_STATUS (1<<2)
165 //#define CS1000LITE_LED_PWM_TMR_INT_CLR (1<<3)
166 
167 //tmr2_cnt_read
168 #define CS1000LITE_LED_PWM_TMR2_CNT_READ(n) (((n)&0xFFFFFFFF)<<0)
169 
170 //pwm0_sta_val
171 #define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
172 
173 //pwm0_end_val
174 #define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
175 
176 //pwm0_step_cfg0
177 #define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
178 #define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
179 
180 //pwm0_step_cfg1
181 #define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
182 
183 //pwm0_cfg
184 #define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
185 #define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
186 #define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
187 #define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
188 #define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
189 
190 //pwm0_int_ctrl
191 #define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
192 #define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
193 #define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
194 #define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
195 
196 //pwm0_end_val_use
197 #define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
198 
199 //pwm0_step_cnt
200 #define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
201 #define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
202 
203 //pwm1_sta_val
204 //#define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
205 
206 //pwm1_end_val
207 //#define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
208 
209 //pwm1_step_cfg0
210 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
211 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
212 
213 //pwm1_step_cfg1
214 //#define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
215 
216 //pwm1_cfg
217 //#define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
218 //#define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
219 //#define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
220 //#define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
221 //#define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
222 
223 //pwm1_int_ctrl
224 //#define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
225 //#define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
226 //#define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
227 //#define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
228 
229 //pwm1_end_val_use
230 //#define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
231 
232 //pwm1_step_cnt
233 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
234 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
235 
236 //pwm2_sta_val
237 //#define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
238 
239 //pwm2_end_val
240 //#define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
241 
242 //pwm2_step_cfg0
243 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
244 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
245 
246 //pwm2_step_cfg1
247 //#define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
248 
249 //pwm2_cfg
250 //#define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
251 //#define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
252 //#define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
253 //#define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
254 //#define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
255 
256 //pwm2_int_ctrl
257 //#define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
258 //#define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
259 //#define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
260 //#define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
261 
262 //pwm2_end_val_use
263 //#define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
264 
265 //pwm2_step_cnt
266 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
267 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
268 
269 //pwm3_sta_val
270 //#define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
271 
272 //pwm3_end_val
273 //#define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
274 
275 //pwm3_step_cfg0
276 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
277 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
278 
279 //pwm3_step_cfg1
280 //#define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
281 
282 //pwm3_cfg
283 //#define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
284 //#define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
285 //#define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
286 //#define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
287 //#define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
288 
289 //pwm3_int_ctrl
290 //#define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
291 //#define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
292 //#define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
293 //#define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
294 
295 //pwm3_end_val_use
296 //#define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
297 
298 //pwm3_step_cnt
299 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
300 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
301 
302 //pwm4_sta_val
303 //#define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
304 
305 //pwm4_end_val
306 //#define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
307 
308 //pwm4_step_cfg0
309 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
310 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
311 
312 //pwm4_step_cfg1
313 //#define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
314 
315 //pwm4_cfg
316 //#define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
317 //#define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
318 //#define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
319 //#define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
320 //#define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
321 
322 //pwm4_int_ctrl
323 //#define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
324 //#define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
325 //#define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
326 //#define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
327 
328 //pwm4_end_val_use
329 //#define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
330 
331 //pwm4_step_cnt
332 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
333 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
334 
335 //pwm5_sta_val
336 //#define CS1000LITE_LED_PWM_PWM_STA_VAL(n) (((n)&0xFFFFFFFF)<<0)
337 
338 //pwm5_end_val
339 //#define CS1000LITE_LED_PWM_PWM_END_VAL(n) (((n)&0xFFFFFFFF)<<0)
340 
341 //pwm5_step_cfg0
342 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC(n) (((n)&0xFFFF)<<0)
343 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM(n) (((n)&0xFFFF)<<16)
344 
345 //pwm5_step_cfg1
346 //#define CS1000LITE_LED_PWM_PWM_STEP_VALUE(n) (((n)&0xFFFFFFFF)<<0)
347 
348 //pwm5_cfg
349 //#define CS1000LITE_LED_PWM_PWM_RUN (1<<0)
350 //#define CS1000LITE_LED_PWM_PWM_INC_MODE (1<<1)
351 //#define CS1000LITE_LED_PWM_PWM_DEFAULT_VAL (1<<2)
352 //#define CS1000LITE_LED_PWM_PWM_TMR_SEL(n) (((n)&3)<<16)
353 //#define CS1000LITE_LED_PWM_PWM_UPDATE (1<<31)
354 
355 //pwm5_int_ctrl
356 //#define CS1000LITE_LED_PWM_PWM_INT_EN (1<<0)
357 //#define CS1000LITE_LED_PWM_PWM_INT_RAW (1<<1)
358 //#define CS1000LITE_LED_PWM_PWM_INT_STATUS (1<<2)
359 //#define CS1000LITE_LED_PWM_PWM_INT_CLR (1<<3)
360 
361 //pwm5_end_val_use
362 //#define CS1000LITE_LED_PWM_PWM_END_VAL_USE(n) (((n)&0xFFFFFFFF)<<0)
363 
364 //pwm5_step_cnt
365 //#define CS1000LITE_LED_PWM_PWM_STEP_CYC_CNT(n) (((n)&0xFFFF)<<0)
366 //#define CS1000LITE_LED_PWM_PWM_STEP_NUM_CNT(n) (((n)&0xFFFF)<<16)
367 
368 #endif
369