1 /* 2 * Copyright (c) 2023 ENE Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #ifndef ENE_KB1200_PMU_H 8 #define ENE_KB1200_PMU_H 9 10 /** 11 * Structure type to access Power Management Unit (PMU). 12 */ 13 struct pmu_regs { 14 volatile uint8_t PMUIDLE; /*IDLE wakeup by Interrupt Register */ 15 volatile uint8_t Reserved0[3]; /*Reserved */ 16 volatile uint32_t PMUSTOP; /*STOP Wakeup Source Register */ 17 volatile uint8_t PMUSTOPC; /*STOP Control Register */ 18 volatile uint8_t Reserved1[3]; /*Reserved */ 19 volatile uint8_t PMUCTRL; /*Control Register */ 20 volatile uint8_t Reserved2[3]; /*Reserved */ 21 volatile uint8_t PMUSTAF; /*Status Flag */ 22 volatile uint8_t Reserved3[3]; /*Reserved */ 23 }; 24 25 /* STOP Wakeup Source */ 26 #define PMU_STOP_WU_GPTD 0x00000001 27 #define PMU_STOP_WU_VC0 0x00000002 28 #define PMU_STOP_WU_VC1 0x00000004 29 #define PMU_STOP_WU_IKB 0x00000010 30 #define PMU_STOP_WU_WDT 0x00000100 31 #define PMU_STOP_WU_HIBTMR 0x00000400 32 #define PMU_STOP_WU_eSPI 0x00010000 33 #define PMU_STOP_WU_SPIS 0x00010000 34 #define PMU_STOP_WU_I2CD32 0x00020000 35 #define PMU_STOP_WU_EDI32 0x00040000 36 #define PMU_STOP_WU_SWD 0x00080000 37 #define PMU_STOP_WU_ITIM 0x00100000 38 #define PMU_STOP_WU_I2CS0 0x01000000 39 #define PMU_STOP_WU_I2CS1 0x02000000 40 #define PMU_STOP_WU_I2CS2 0x04000000 41 #define PMU_STOP_WU_I2CS3 0x08000000 42 43 #define PMU_IDLE_WU_ENABLE 0x00000001 44 45 #endif /* ENE_KB1200_PMU_H */ 46