47 #if defined(CHIP_LPC11AXX) || defined(CHIP_LPC11CXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11UXX) || defined(CHIP_LPC1125) 48 #if defined(CHIP_LPC1125) 49 #error "LPC1125 support for the PMU driver is not ready" 63 typedef enum CHIP_PMU_MCUPOWER {
65 #if defined(CHIP_LPC11AXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11UXX) 69 #elif defined(CHIP_LPC11CXX) 70 PMU_MCU_DEEP_PWRDOWN = 3
72 } CHIP_PMU_MCUPOWER_T;
77 #define PMU_PCON_PM_SLEEP (0x0) 78 #if defined(CHIP_LPC11AXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11UXX) 79 #define PMU_PCON_PM_DEEPSLEEP (0x1) 80 #define PMU_PCON_PM_POWERDOWN (0x2) 81 #define PMU_PCON_PM_DEEPPOWERDOWN (0x3) 82 #elif defined(CHIP_LPC11CXX) 83 #define PMU_PCON_PM_DEEPPOWERDOWN (0x2) 85 #define PMU_PCON_SLEEPFLAG (1 << 8) 86 #define PMU_PCON_DPDFLAG (1 << 11) 95 STATIC INLINE void Chip_PMU_WriteGPREG(LPC_PMU_T *pPMU, uint8_t regIndex, uint32_t value) 97 pPMU->GPREG[regIndex] = value;
108 return pPMU->GPREG[regIndex];
118 void Chip_PMU_SleepState(LPC_PMU_T *pPMU);
120 #if defined(CHIP_LPC11AXX) || defined(CHIP_LPC11EXX) || defined(CHIP_LPC11UXX) 130 void Chip_PMU_DeepSleepState(LPC_PMU_T *pPMU);
142 void Chip_PMU_PowerDownState(LPC_PMU_T *pPMU);
156 void Chip_PMU_DeepPowerDownState(LPC_PMU_T *pPMU);
164 void Chip_PMU_Sleep(LPC_PMU_T *pPMU, CHIP_PMU_MCUPOWER_T SleepMode);
175 return (pPMU->PCON & (PMU_PCON_SLEEPFLAG | PMU_PCON_DPDFLAG));
188 pPMU->PCON &= ~flags;