46 lines
1.4 KiB
C
46 lines
1.4 KiB
C
/*
|
|
* Copyright (c) 2023 ENE Technology Inc.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef ENE_KB1200_PMU_H
|
|
#define ENE_KB1200_PMU_H
|
|
|
|
/**
|
|
* Structure type to access Power Management Unit (PMU).
|
|
*/
|
|
struct pmu_regs {
|
|
volatile uint8_t PMUIDLE; /*IDLE wakeup by Interrupt Register */
|
|
volatile uint8_t Reserved0[3]; /*Reserved */
|
|
volatile uint32_t PMUSTOP; /*STOP Wakeup Source Register */
|
|
volatile uint8_t PMUSTOPC; /*STOP Control Register */
|
|
volatile uint8_t Reserved1[3]; /*Reserved */
|
|
volatile uint8_t PMUCTRL; /*Control Register */
|
|
volatile uint8_t Reserved2[3]; /*Reserved */
|
|
volatile uint8_t PMUSTAF; /*Status Flag */
|
|
volatile uint8_t Reserved3[3]; /*Reserved */
|
|
};
|
|
|
|
/* STOP Wakeup Source */
|
|
#define PMU_STOP_WU_GPTD 0x00000001
|
|
#define PMU_STOP_WU_VC0 0x00000002
|
|
#define PMU_STOP_WU_VC1 0x00000004
|
|
#define PMU_STOP_WU_IKB 0x00000010
|
|
#define PMU_STOP_WU_WDT 0x00000100
|
|
#define PMU_STOP_WU_HIBTMR 0x00000400
|
|
#define PMU_STOP_WU_eSPI 0x00010000
|
|
#define PMU_STOP_WU_SPIS 0x00010000
|
|
#define PMU_STOP_WU_I2CD32 0x00020000
|
|
#define PMU_STOP_WU_EDI32 0x00040000
|
|
#define PMU_STOP_WU_SWD 0x00080000
|
|
#define PMU_STOP_WU_ITIM 0x00100000
|
|
#define PMU_STOP_WU_I2CS0 0x01000000
|
|
#define PMU_STOP_WU_I2CS1 0x02000000
|
|
#define PMU_STOP_WU_I2CS2 0x04000000
|
|
#define PMU_STOP_WU_I2CS3 0x08000000
|
|
|
|
#define PMU_IDLE_WU_ENABLE 0x00000001
|
|
|
|
#endif /* ENE_KB1200_PMU_H */
|