]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/T-HEAD_CB2201_CDK/csi/csi_driver/csky/common/pmu/ck_pmu.h
Introduce a port for T-HEAD CK802. A simple demo for T-HEAD CB2201 is also included.
[freertos] / FreeRTOS / Demo / T-HEAD_CB2201_CDK / csi / csi_driver / csky / common / pmu / ck_pmu.h
1 /*
2  * Copyright (C) 2017 C-SKY Microsystems Co., Ltd. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *   http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 /******************************************************************************
17  * @file     ck_pmu.h
18  * @brief    head file for ck pmu
19  * @version  V1.0
20  * @date     02. June 2017
21  ******************************************************************************/
22 #ifndef _CK_PMU_H_
23 #define _CK_PMU_H_
24
25 #include "drv_pmu.h"
26 #include "soc.h"
27
28 #define CONFIG_PMU_ENTER_WAIT_MODE  0x4
29 #define CONFIG_PMU_ENTER_DOZE_MODE  0x4
30 #define CONFIG_PMU_ENTER_STOP_MODE  0xc
31 #define CONFIG_PMU_ENTER_STANDBY_MODE   0x14
32
33 typedef struct {
34     __IOM uint32_t LPCR;             /* Offset: 0x000 (R/W) low power control register */
35     __IOM uint32_t MCLKSEL;          /* Offset: 0x004 (R/W) MCLK select register */
36     __IOM uint32_t CRCR;             /* Offset: 0x008 (R/W) clock ratio control register */
37     __IOM uint32_t CGCR;             /* Offset: 0x00c (R/W) clock gate control register */
38     __IOM uint32_t CGSR;             /* Offset: 0x010 (R/W) clock gate status register */
39     __IOM uint32_t CLKDSENR;         /* Offset: 0x014 (R/W) clock disable register */
40     __IOM uint32_t CLKSTBR;          /* Offset: 0x018 (R/W) clock stable register */
41     __IOM uint32_t CLKSTBST;         /* Offset: 0x01c (R/W) clock stable interrupt statue register */
42     __IOM uint32_t CLKSTBMK;         /* Offset: 0x020 (R/W) clock stable interrupt mask register */
43     __IOM uint32_t CSSCR;            /* Offset: 0x024 (R/W) clock source stable counter register */
44     __IOM uint32_t DFCC;             /* Offset: 0x028 (R/W) dynamic frequence conversion control register */
45     __IOM uint32_t PCR;              /* Offset: 0x02c (R/W) pll control register */
46     __IOM uint32_t PLTR;             /* Offset: 0x030 (R/W) pll lock timer register */
47     __IOM uint32_t SWHRC;            /* Offset: 0x034 (R/W) software HRST control register */
48     __IOM uint32_t SWHRD;            /* Offset: 0x038 (R/W) software HRST duration register */
49     __IOM uint32_t SWPRC;            /* Offset: 0x03c (R/W) software PRST control register */
50     __IOM uint32_t SWPRD;            /* Offset: 0x040 (R/W) software PRST duration register */
51     __IOM uint32_t SWRE;             /* Offset: 0x044 (R/W) software reset enable register */
52     __IOM uint32_t BOOTSEL;          /* Offset: 0x048 (R/W) boot selection register */
53     __IOM uint32_t SCGCR;            /* Offset: 0x04c (R/W) security clock gate control register */
54     __IOM uint32_t SCGSR;            /* Offset: 0x050 (R/W) security clock gate status register */
55 } ck_pmu_reg_t;
56
57 #endif