123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- /** @file sys_pmm.h
- * @brief PMM Driver Header File
- * @date 29.May.2013
- * @version 03.05.02
- *
- * This file contains:
- * - Definitions
- * - Types
- * .
- * which are relevant for the System driver.
- */
- /* (c) Texas Instruments 2009-2013, All rights reserved. */
- #ifndef __SYS_PMM_H__
- #define __SYS_PMM_H__
- #include "reg_pmm.h"
- /* USER CODE BEGIN (0) */
- /* USER CODE END */
- /* Bit Masks */
- #define PMM_LOGICPDPWRCTRL0_LOGICPDON0 (0xFU << 24U) /*PD2*/
- #define PMM_LOGICPDPWRCTRL0_LOGICPDON1 (0xFU << 16U) /*PD3*/
- #define PMM_LOGICPDPWRCTRL0_LOGICPDON2 (0xFU << 8U) /*PD4*/
- #define PMM_LOGICPDPWRCTRL0_LOGICPDON3 (0xFU << 0U) /*PD5*/
- #define PMM_MEMPDPWRCTRL0_MEMPDON0 (0xFU << 24U) /*RAM_PD1*/
- #define PMM_MEMPDPWRCTRL0_MEMPDON1 (0xFU << 16U) /*RAM_PD2*/
- #define PMM_MEMPDPWRCTRL0_MEMPDON2 (0xFU << 8U) /*RAM_PD3*/
- #define PMM_LOGICPDPWRSTAT_DOMAINON (1U << 8U)
- #define PMM_LOGICPDPWRSTAT_LOGICPDPWRSTAT (0x3U << 0U)
- #define PMM_MEMPDPWRSTAT_DOMAINON (1U << 8U)
- #define PMM_MEMPDPWRSTAT_MEMPDPWRSTAT (0x3U << 0U)
- #define PMM_GLOBALCTRL1_AUTOCLKWAKEENA (1U << 0U)
- /* Configuration registers initial value */
- #define PMM_LOGICPDPWRCTRL0_CONFIGVALUE (((1U)?0x5U:0xAU) << 24U) \
- | (((1U)?0x5U:0xAU) << 16U) \
- | (((0U)?0x5U:0xAU) << 8U) \
- | (((1U)?0x5U:0xAU) << 0U)
- #define PMM_MEMPDPWRCTRL0_CONFIGVALUE (((1U)?0x5U:0xAU) << 24U) \
- | (((1U)?0x5U:0xAU) << 16U) \
- | (((1U)?0x5U:0xAU) << 8U)
- #define PMM_PDCLKDISREG_CONFIGVALUE ((!1U) << 0U)\
- | ((!1U) << 1U)\
- | ((!0U) << 2U)\
- | ((!1U) << 3U)
- #define PMM_GLOBALCTRL1_CONFIGVALUE (0U << 8U) | (0U << 0U)
- /** @enum pmmLogicPDTag
- * @brief PMM Logic Power Domain
- *
- * Used to define PMM Logic Power Domain
- */
- typedef enum pmmLogicPDTag
- {
- PMM_LOGICPD1 = 4U, /*-- NOT USED*/
- PMM_LOGICPD2 = 0U,
- PMM_LOGICPD3 = 1U,
- PMM_LOGICPD4 = 2U,
- PMM_LOGICPD5 = 3U
- }pmm_LogicPD_t;
- /** @enum pmmMemPDTag
- * @brief PMM Memory-Only Power Domain
- *
- * Used to define PMM Memory-Only Power Domain
- */
- typedef enum pmmMemPDTag
- {
- PMM_MEMPD1 = 0U,
- PMM_MEMPD2 = 1U,
- PMM_MEMPD3 = 2U
- }pmm_MemPD_t;
- /** @enum pmmModeTag
- * @brief PSCON operating mode
- *
- * Used to define the operating mode of PSCON Compare Block
- */
- typedef enum pmmModeTag
- {
- LockStep = 0x0U,
- SelfTest = 0x6U,
- ErrorForcing = 0x9U,
- SelfTestErrorForcing = 0xFU
- }pmm_Mode_t;
- /*Pmm Configuration Registers*/
- typedef struct pmm_config_reg
- {
- uint32 CONFIG_LOGICPDPWRCTRL0;
- uint32 CONFIG_MEMPDPWRCTRL0;
- uint32 CONFIG_PDCLKDISREG;
- uint32 CONFIG_GLOBALCTRL1;
- }pmm_config_reg_t;
- /**
- * @defgroup PMM PMM
- * @brief Power Management Module
- *
- * The PMM provides memory-mapped registers that control the states of the supported power domains.
- * The PMM includes interfaces to the Power Mode Controller (PMC) and the Power State Controller (PSCON).
- * The PMC and PSCON control the power up/down sequence of each power domain.
- *
- * Related files:
- * - reg_pmm.h
- * - sys_pmm.h
- * - sys_pmm.c
- *
- * @addtogroup PMM
- * @{
- */
-
- /* Pmm Interface Functions */
- void pmmInit(void);
- void pmmTurnONLogicPowerDomain(pmm_LogicPD_t logicPD);
- void pmmTurnONMemPowerDomain(pmm_MemPD_t memPD);
- void pmmTurnOFFLogicPowerDomain(pmm_LogicPD_t logicPD);
- void pmmTurnOFFMemPowerDomain(pmm_MemPD_t memPD);
- boolean pmmIsLogicPowerDomainActive(pmm_LogicPD_t logicPD);
- boolean pmmIsMemPowerDomainActive(pmm_MemPD_t memPD);
- void pmmGetConfigValue(pmm_config_reg_t *config_reg, config_value_type_t type);
- void pmmSetMode(pmm_Mode_t mode);
- boolean pmmPerformSelfTest(void);
- /**@}*/
- /* USER CODE BEGIN (1) */
- /* USER CODE END */
- #endif
|