• 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_RTC_CORE_H_
16 #define _CS1000LITE_RTC_CORE_H_
17 
18 #include "chip.h"
19 
20 // =============================================================================
21 //  MACROS
22 // =============================================================================
23 
24 // =============================================================================
25 //  TYPES
26 // =============================================================================
27 
28 // ============================================================================
29 // CS1000LITE_RTC_CORE_T
30 // -----------------------------------------------------------------------------
31 ///
32 // =============================================================================
33 #define REG_CS1000LITE_RTC_CORE_BASE 0x50018800
34 
35 typedef volatile struct
36 {
37   __IO uint32_t                          rtc_rg_clk_cfg1;              //0x00000000
38   __IO uint32_t                          rtc_rg_clk_cfg2;              //0x00000004
39   __IO uint32_t                          rtc_rg_dcdc_rf_cfg1;          //0x00000008
40   __IO uint32_t                          rtc_rg_por_ctrl_cfg1;         //0x0000000C
41   __IO uint32_t                          rtc_rg_por_ctrl_cfg2;         //0x00000010
42   __IO uint32_t                          rtc_rg_other_ctrl_cfg1;       //0x00000014
43   __IO uint32_t                          rtc_rg_other_ctrl_cfg2;       //0x00000018
44   __IO uint32_t                          rtc_rg_por_seq_num_cfg1;      //0x0000001C
45   __IO uint32_t                          rtc_rg_por_seq_num_cfg2;      //0x00000020
46   __IO uint32_t                          rtc_rg_por_seq_num_cfg3;      //0x00000024
47   __IO uint32_t                          rtc_rg_other_ctrl_cfg3;       //0x00000028
48   __IO uint32_t                          rtc_rg_int_irq;               //0x0000002C
49   __IO uint32_t                          rtc_rg_pwr_cfg;               //0x00000030
50 } HWP_CS1000LITE_RTC_CORE_T;
51 
52 static HWP_CS1000LITE_RTC_CORE_T * const cs1000liteRtcCore = ((HWP_CS1000LITE_RTC_CORE_T*)REG_CS1000LITE_RTC_CORE_BASE);
53 
54 
55 //rtc_rg_clk_cfg1
56 #define CS1000LITE_RTC_CORE_RTC_RG_PU_XTAL32K (1<<0)
57 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL32K_MODE_SEL (1<<1)
58 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL32K_COMP_IBIT(n) (((n)&7)<<2)
59 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL32K_IBIT(n) (((n)&7)<<5)
60 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL32K_AMP_BIT(n) (((n)&7)<<8)
61 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL32K_CLK_EN(n) (((n)&7)<<11)
62 #define CS1000LITE_RTC_CORE_RTC_RG_POR_CLK32K_FBIT(n) (((n)&7)<<14)
63 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_CAP_STEP(n) (((n)&0x3F)<<17)
64 #define CS1000LITE_RTC_CORE_RTC_RG_LPO512K_TEMP_COEF_BIT(n) (((n)&7)<<23)
65 #define CS1000LITE_RTC_CORE_RTC_RG_LPO512K_CLK_SEL (1<<26)
66 #define CS1000LITE_RTC_CORE_RTC_RG_CLK_128K_OUT_EN_SW_MODE (1<<27)
67 #define CS1000LITE_RTC_CORE_RTC_RG_CLK_128K_OUT_EN_SW_SET (1<<28)
68 
69 //rtc_rg_clk_cfg2
70 #define CS1000LITE_RTC_CORE_RTC_RG_PU_MDLL128K (1<<0)
71 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_DIV_BIT(n) (((n)&7)<<1)
72 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_FREQ_C_BIT(n) (((n)&15)<<4)
73 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_FREQ_F_BIT(n) (((n)&0x3F)<<8)
74 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_RSTN (1<<14)
75 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_EN (1<<15)
76 #define CS1000LITE_RTC_CORE_RTC_RG_MDLL128K_SEL (1<<16)
77 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_CAP_LP_BIT(n) (((n)&31)<<17)
78 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_CAP2_BIT(n) (((n)&31)<<22)
79 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_CAP1_BIT(n) (((n)&31)<<27)
80 
81 //rtc_rg_dcdc_rf_cfg1
82 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_PFM_THRESHOLD(n) (((n)&3)<<0)
83 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VBIT_NOR_TUNE(n) (((n)&15)<<6)
84 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VBIT_DS_SW(n) (((n)&15)<<10)
85 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VBIT_AVDD12(n) (((n)&3)<<14)
86 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VREF_SOURCE_INT (1<<16)
87 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_ADD_I_LIMIT (1<<17)
88 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_LESS_SOFTTIME(n) (((n)&3)<<18)
89 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_IBIT_LDO_LIMIT (1<<20)
90 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_EN_CURRENT_LIMIT (1<<24)
91 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_DISCHARGE_ENB (1<<25)
92 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_PFM_MODE_SEL (1<<26)
93 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_REDUCE_I_LIMIT (1<<27)
94 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_CLK_DETVO_LP_DIV(n) (((n)&3)<<28)
95 #define CS1000LITE_RTC_CORE_RTC_RG_PU_DCDC_RF_AVDDRF (1<<30)
96 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_RDY (1<<31)
97 
98 //rtc_rg_por_ctrl_cfg1
99 #define CS1000LITE_RTC_CORE_RTC_RG_POR_VRTC_VBIT (1<<0)
100 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_DCDC_MODE_SEL (1<<1)
101 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_PA_DCDC_MODE_SEL (1<<2)
102 #define CS1000LITE_RTC_CORE_RTC_RG_POR_MS_VBIT(n) (((n)&3)<<3)
103 #define CS1000LITE_RTC_CORE_RTC_RG_PU_VBAT_SENSE (1<<5)
104 #define CS1000LITE_RTC_CORE_RTC_RG_UVLO0_EN (1<<6)
105 #define CS1000LITE_RTC_CORE_RTC_RG_UVLO0_VBIT(n) (((n)&15)<<7)
106 #define CS1000LITE_RTC_CORE_RTC_RG_WDG_RSTN_PD_EN (1<<11)
107 #define CS1000LITE_RTC_CORE_RTC_RG_BOR_VBAT_SEL_BIT (1<<12)
108 #define CS1000LITE_RTC_CORE_RTC_RG_LDO_VRTC09_DISABLE_CLK (1<<13)
109 #define CS1000LITE_RTC_CORE_RTC_RG_LVL_PULLR_ENB (1<<14)
110 #define CS1000LITE_RTC_CORE_RTC_RG_POR_EN_VRTC_CLAMP (1<<15)
111 #define CS1000LITE_RTC_CORE_RTC_RG_POR_EN_VIOULP_CLAMP (1<<16)
112 #define CS1000LITE_RTC_CORE_RTC_RG_PU_VRTC_SENSE (1<<17)
113 #define CS1000LITE_RTC_CORE_RTC_RG_BOR_EN (1<<18)
114 #define CS1000LITE_RTC_CORE_RTC_RG_BOR_VBIT(n) (((n)&15)<<19)
115 #define CS1000LITE_RTC_CORE_RTC_RG_PD_RC512K_PWR_PD_EN (1<<23)
116 #define CS1000LITE_RTC_CORE_RTC_RG_LDO_VCORE09_PU_EN (1<<24)
117 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_VCORE09_PU_EN (1<<25)
118 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_PA_LDO_MODE_EN (1<<26)
119 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_LDO_MODE_EN (1<<27)
120 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_CFG(n) (((n)&15)<<28)
121 
122 //rtc_rg_por_ctrl_cfg2
123 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_MUX0_EN(n) (((n)&0x3F)<<0)
124 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_MUX1_EN(n) (((n)&0x3F)<<6)
125 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_MUX2_EN(n) (((n)&0x3F)<<12)
126 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_PULL_DN(n) (((n)&0x3F)<<18)
127 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_PULL_UP(n) (((n)&0x3F)<<24)
128 
129 //rtc_rg_other_ctrl_cfg1
130 #define CS1000LITE_RTC_CORE_RTC_RG_PRESETN_PSM (1<<0)
131 #define CS1000LITE_RTC_CORE_RTC_RG_PRESETN_CALENDAR (1<<1)
132 #define CS1000LITE_RTC_CORE_RTC_RG_ALM_POWER_ON_EN (1<<2)
133 #define CS1000LITE_RTC_CORE_RTC_RG_REPOWER_BOR_EN (1<<3)
134 #define CS1000LITE_RTC_CORE_RTC_RG_DEEP_SLEEP_AWAKE_EN(n) (((n)&15)<<4)
135 #define CS1000LITE_RTC_CORE_RTC_RG_REPOWER_WDG_EN (1<<8)
136 #define CS1000LITE_RTC_CORE_RTC_RG_WDG_RST_RTC_RF_EN (1<<9)
137 #define CS1000LITE_RTC_CORE_RTC_RG_BOR_EN_PWR_PD (1<<10)
138 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_SLEW_RATE_D(n) (((n)&15)<<11)
139 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_IBIT_D (1<<15)
140 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_DCDC_PA (1<<16)
141 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_DCDC_RF (1<<17)
142 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_DCDC_CORE (1<<18)
143 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_XTAL26M (1<<19)
144 #define CS1000LITE_RTC_CORE_RTC_RG_AVDD_SENSE_EN_V33V18V13 (1<<20)
145 #define CS1000LITE_RTC_CORE_RTC_RG_MS_VIO_RO (1<<21)
146 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_OSC13M (1<<22)
147 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_EN_USB (1<<23)
148 #define CS1000LITE_RTC_CORE_RTC_RG_TEST_BIT(n) (((n)&15)<<24)
149 #define CS1000LITE_RTC_CORE_RTC_RG_LED0_MODE (1<<28)
150 #define CS1000LITE_RTC_CORE_RTC_RG_LED1_MODE (1<<29)
151 
152 //rtc_rg_other_ctrl_cfg2
153 #define CS1000LITE_RTC_CORE_CFG_ANA_FIX_DCDC_RF_VOL (1<<2)
154 #define CS1000LITE_RTC_CORE_A2D_RTC_MS_VBAT (1<<12)
155 #define CS1000LITE_RTC_CORE_RTC_RG_DEVICE_ID_CFG(n) (((n)&7)<<13)
156 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_IBIAS_STEP(n) (((n)&0x3F)<<16)
157 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_IBIAS_LP_BIT(n) (((n)&31)<<22)
158 #define CS1000LITE_RTC_CORE_RTC_RG_XTAL_IBIAS_BIT(n) (((n)&31)<<27)
159 
160 //rtc_rg_por_seq_num_cfg1
161 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_PU_SEQ_NUM(n) (((n)&31)<<0)
162 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_VCORE09_PU_SEQ_NUM(n) (((n)&31)<<5)
163 #define CS1000LITE_RTC_CORE_RTC_RG_LDO_PA_PU_SEQ_NUM(n) (((n)&31)<<10)
164 #define CS1000LITE_RTC_CORE_RTC_RG_AVDD18_PU_SEQ_NUM(n) (((n)&31)<<15)
165 #define CS1000LITE_RTC_CORE_RTC_RG_PU_USB_SEQ_NUM(n) (((n)&31)<<20)
166 #define CS1000LITE_RTC_CORE_RTC_RG_USBPLL_CLK_EN_SEQ_NUM(n) (((n)&31)<<25)
167 #define CS1000LITE_RTC_CORE_RTC_RG_DEVICE_HYS_PFM_MODE_EN (1<<30)
168 #define CS1000LITE_RTC_CORE_RTC_RG_DEVICE_PU_DCDC_RF_SEQ_EN (1<<31)
169 
170 //rtc_rg_por_seq_num_cfg2
171 #define CS1000LITE_RTC_CORE_RTC_RG_XEN_EN_SEQ_NUM(n) (((n)&31)<<0)
172 #define CS1000LITE_RTC_CORE_RTC_RG_RESET_B_SEQ_NUM(n) (((n)&31)<<5)
173 #define CS1000LITE_RTC_CORE_RTC_RG_SLP_XEN_EN_SEQ_NUM(n) (((n)&31)<<10)
174 #define CS1000LITE_RTC_CORE_RTC_RG_SLP_RESET_B_SEQ_NUM(n) (((n)&31)<<15)
175 #define CS1000LITE_RTC_CORE_RTC_RG_VBAT_RSTN_TH(n) (((n)&0xFF)<<20)
176 
177 //rtc_rg_por_seq_num_cfg3
178 #define CS1000LITE_RTC_CORE_RTC_RG_PBINT_POR_TRIG_CNT_TH(n) (((n)&0xFF)<<0)
179 #define CS1000LITE_RTC_CORE_RTC_RG_PBINT_POR_DEBC_CNT_TH(n) (((n)&0xFF)<<8)
180 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_POR_TRIG_CNT_TH(n) (((n)&0xFF)<<16)
181 #define CS1000LITE_RTC_CORE_RTC_RG_DEVICE_POR_TRIG_CNT_TH(n) (((n)&0xFF)<<24)
182 
183 //rtc_rg_other_ctrl_cfg3
184 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_SLEW_RATE_B(n) (((n)&15)<<0)
185 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO_SLEW_RATE_C(n) (((n)&15)<<4)
186 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_OUT_REG(n) (((n)&0x3F)<<8)
187 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_IE(n) (((n)&0x3F)<<14)
188 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_SEL(n) (((n)&0x3F)<<20)
189 #define CS1000LITE_RTC_CORE_RTC_RG_GPIO27_OEN(n) (((n)&0x3F)<<26)
190 
191 //rtc_rg_int_irq
192 #define CS1000LITE_RTC_CORE_RTC_RG_INT_MASK(n) (((n)&15)<<0)
193 #define CS1000LITE_RTC_CORE_RTC_RG_INT_CLR(n) (((n)&15)<<4)
194 #define CS1000LITE_RTC_CORE_RTC_RG_DBG_MUX(n) (((n)&31)<<8)
195 #define CS1000LITE_RTC_CORE_RTC_RG_INT_EN (1<<15)
196 #define CS1000LITE_RTC_CORE_RTC_INT_RAW_STATUS(n) (((n)&15)<<16)
197 #define CS1000LITE_RTC_CORE_RTC_INT_MASK_STATUS(n) (((n)&15)<<20)
198 
199 //rtc_rg_pwr_cfg
200 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VBIT_DET_VO_NOR(n) (((n)&15)<<0)
201 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_VBIT_DET_VO_DS(n) (((n)&15)<<4)
202 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_LOW_SENSE_NOR(n) (((n)&7)<<8)
203 #define CS1000LITE_RTC_CORE_RTC_RG_DCDC_RF_LOW_SENSE_DS(n) (((n)&7)<<11)
204 
205 #endif
206