PDK API Guide for J721E
PMIC Driver Initialization API

Introduction

This is PMIC driver core handle initialization APIs common for all supported PMIC devices. Like, Pmic init, and deinit APIs

Files

file  pmic.h
 PMIC Driver initialization API/interface file.
 

Data Structures

struct  Pmic_CoreCfg_t
 PMIC configuration structure. Contains various parameters which are needed to prepare PMIC driver handle using Valid params. like, PMIC device type, PMIC interface mode, Slave address, various application defined API function pointers for LLD and Critical sections. Application has to set the corresponding bit in validParams structure member to update the driver with Pmic_CoreCfg_t structure fields. For Example, If the Application needs to configure the PMIC driver pmicDeviceType member of the structure then application has to set PMIC_CFG_DEVICE_TYPE_VALID bit of validParams struct and then call pmic_init(). More...
 

Functions

int32_t Pmic_init (const Pmic_CoreCfg_t *pPmicConfigData, Pmic_CoreHandle_t *pPmicCoreHandle)
 API to Initialize pmic core handle for PMIC LLD. More...
 
int32_t Pmic_deinit (Pmic_CoreHandle_t *pPmicCoreHandle)
 API to DeInitilizes an existing PMIC Instance. More...
 

PMIC Error Codes

Error codes returned by PMIC APIs

#define PMIC_ST_SUCCESS   (0)
 Error Code for SUCCESS. More...
 
#define PMIC_ST_ERR_INV_HANDLE   (-((int32_t)1))
 Error Code for Invalid input Handle. More...
 
#define PMIC_ST_ERR_NULL_PARAM   (-((int32_t)2))
 Error Code when input Param is NULL. More...
 
#define PMIC_ST_ERR_INV_PARAM   (-((int32_t)3))
 Error Code for Invalid input Param. More...
 
#define PMIC_ST_ERR_INV_DEVICE   (-((int32_t)4))
 Error Code for Invalid PMIC Device. More...
 
#define PMIC_ST_ERR_NULL_FPTR   (-((int32_t)5))
 Error Code when input Function pointer is NULL. More...
 
#define PMIC_ST_ERR_INV_SUBSYSTEM   (-((int32_t)6))
 Error Code for Invalid PMIC Subsystem. More...
 
#define PMIC_ST_ERR_INSUFFICIENT_CFG   (-((int32_t)7))
 Error Code for Insufficient input configuration params for PMIC Device Initialization. More...
 
#define PMIC_ST_ERR_I2C_COMM_FAIL   (-((int32_t)8))
 Error Code for I2C Communication Fail. More...
 
#define PMIC_ST_ERR_SPI_COMM_FAIL   (-((int32_t)9))
 Error Code for SPI Communication Fail. More...
 
#define PMIC_ST_ERR_DATA_IO_CRC   (-((int32_t)10))
 Error Code for IO data failure when CRC is enabled. More...
 
#define PMIC_ST_ERR_INTF_SETUP_FAILED   (-((int32_t)11))
 Error Code for Interface Selected is not working properly. More...
 
#define PMIC_ST_ERR_COMM_INTF_INIT_FAIL   (-((int32_t)12))
 Error Code for Interface Init Fail. More...
 
#define PMIC_ST_ERR_UNINIT   (-((int32_t)13))
 Error Code if Pmic_init() function called before PMIC driver is initialized. More...
 
#define PMIC_ST_ERR_INV_VOLTAGE   (-((int32_t)14))
 Error Code for Invalid Voltage Value. More...
 
#define PMIC_ST_ERR_INV_REGULATOR   (-((int32_t)15))
 Error Code for Invalid Power resource Value. More...
 
#define PMIC_ST_ERR_INV_PGOOD_LEVEL   (-((int32_t)16))
 Error Code for Invalid Power Good Threshold Value. More...
 
#define PMIC_ST_ERR_INV_TEMP_THRESHOLD   (-((int32_t)17))
 Error Code for Invalid Temperature Threshold value. More...
 
#define PMIC_ST_ERR_INV_GPIO   (-((int32_t)18))
 Error Code for Invalid input GPIO PIN. More...
 
#define PMIC_ST_ERR_INV_GPIO_FUNC   (-((int32_t)19))
 Error Code for Invalid GPIO Functionality. More...
 
#define PMIC_ST_ERR_INV_GPIO_LINE_PARAMS   (-((int32_t)20))
 Error Code for input GPIO handle is invalid. More...
 
#define PMIC_ST_ERR_PIN_NOT_GPIO   (-((int32_t)21))
 Error Code for Invalid Pin for GPIO Configuration. More...
 
#define PMIC_ST_ERR_INV_WDG_WINDOW   (-((int32_t)22))
 Error Code for Invalid Watchdog longwindow or Window-1 or Window-2 duration. More...
 
#define PMIC_ST_ERR_INV_WDG_ANSWER   (-((int32_t)23))
 Error Code for Invalid Watchdog Answer. More...
 
#define PMIC_ST_ERR_WDG_EARLY_ANSWER   (-((int32_t)24))
 Error Code for Watchdog early Answer. More...
 
#define PMIC_ST_ERR_INV_ESM_TARGET   (-((int32_t)25))
 Error Code for input ESM TargetID is invalid. More...
 
#define PMIC_ST_ERR_INV_ESM_MODE   (-((int32_t)26))
 Error Code for ESM Operation Mode is invalid. More...
 
#define PMIC_ST_ERR_INV_INT   (-((int32_t)27))
 Error Code for Invalid Interrupt. More...
 
#define PMIC_ST_ERR_CLEAR_INT_FAILED   (-((int32_t)28))
 Error Code when Interrupts Clear is failed. More...
 
#define PMIC_ST_ERR_INV_TIME   (-((int32_t)29))
 Error Code for Invalid Time. More...
 
#define PMIC_ST_ERR_INV_DATE   (-((int32_t)30))
 Error Code for Invalid Date. More...
 
#define PMIC_ST_ERR_RTC_STOP_FAIL   (-((int32_t)31))
 Error Code for RTC Stop command failure. More...
 
#define PMIC_ST_ERR_FAIL   (-((int32_t)32))
 Error Code for any other failures. More...
 
#define PMIC_ST_ERR_ESM_STARTED   (-((int32_t)33))
 Error Code for ESM in Start State. More...
 
#define PMIC_ST_ERR_INV_ESM_VAL   (-((int32_t)34))
 Error Code for Invalid ESM delay1, delay2, HMAX, HMIN, LMAX and LMIN values. More...
 
#define PMIC_ST_WARN_INV_DEVICE_ID   (-((int32_t)35))
 warning Code for Device ID mismatch warning More...
 
#define PMIC_ST_ERR_INV_EN_DRV_PIN_CFG   (-((int32_t)36))
 Error Code for EN_DRV Pin configuration when FORCE_EN_DRV_LOW is set to '1'. More...
 
#define PMIC_ST_ERR_INV_COMM_MODE   (-((int32_t)37))
 Error Code for I2C Speed configuration when commMode is set to PMIC_INTF_SPI. More...
 
#define PMIC_ST_ERR_CRC_STATUS_FAIL   (-((int32_t)38))
 Error Code for CRC Status Failure. More...
 
#define PMIC_ST_ERR_REG_LOCKED_WR_FAIL   (-((int32_t)39))
 Error Code for Register Write Failure when register is locked. More...
 
#define PMIC_ST_ERR_NOT_SUPPORTED   (-((int32_t)40))
 Error Code for when a feature is not supported on PMIC device type or PMIC silicon revision. More...
 
#define PMIC_ST_ERR_INV_SILICON_REVISION   (-((int32_t)41))
 Error Code for Invalid PMIC Device Silicon Revision. More...
 

PMIC Device type

#define PMIC_DEV_LEO_TPS6594X   (0U)
 
#define PMIC_DEV_HERA_LP8764X   (1U)
 

PMIC Communication Mode

#define PMIC_INTF_SINGLE_I2C   (0U)
 
#define PMIC_INTF_DUAL_I2C   (1U)
 
#define PMIC_INTF_SPI   (2U)
 

PMIC Select I2C Speed

Note: I2C Master before switching the I2C speed to HS/Standard Mode, I2C Master has to set/reset I2C1_HS/I2C2_HS bit field accordingly then only I2C Master can communicate with PMIC in HS/Standard Mode

#define PMIC_I2C_STANDARD_MODE   (0U)
 Standard or Fast or Fast+ Mode. More...
 
#define PMIC_I2C_FORCED_HS_MODE   (1U)
 High-Speed Mode. More...
 

PMIC Instance Type

#define PMIC_MAIN_INST   (1U << 0U)
 
#define PMIC_QA_INST   (1U << 1U)
 
#define PMIC_NVM_INST   (1U << 2U)
 Valid only to read CRC status from Page-1 using NVM Slave Address Valid only while calling the pFnPmicCommIoRead API. More...
 

PMIC Config Structure Param Bits

#define PMIC_CFG_DEVICE_TYPE_VALID   (0U)
 validParams value used to set PMIC device type of PMIC Driver Handle More...
 
#define PMIC_CFG_COMM_MODE_VALID   (1U)
 validParams value used to set Interface mode of PMIC Driver Handle More...
 
#define PMIC_CFG_SLAVEADDR_VALID   (2U)
 validParams value used to set Main Interface Slave Address of PMIC Driver Handle More...
 
#define PMIC_CFG_QASLAVEADDR_VALID   (3U)
 validParams value used to set WDOG QA Interface Slave Address of PMIC Driver Handle More...
 
#define PMIC_CFG_NVMSLAVEADDR_VALID   (4U)
 validParams value used to set NVM Slave Address of PMIC Driver Handle More...
 
#define PMIC_CFG_COMM_HANDLE_VALID   (5U)
 validParams value used to set Pointer to Handle for I2C1/SPI Main Interface of PMIC Driver Handle More...
 
#define PMIC_CFG_QACOMM_HANDLE_VALID   (6U)
 validParams value used to set Pointer to Handle for I2C2-QA Interface of PMIC Driver Handle More...
 
#define PMIC_CFG_COMM_IO_RD_VALID   (7U)
 validParams value used to set Pointer to I2C/SPI Comm LLD Read Function of PMIC Driver Handle More...
 
#define PMIC_CFG_COMM_IO_WR_VALID   (8U)
 validParams value used to set Pointer to I2C/SPI Comm LLD Write Function of PMIC Driver Handle More...
 
#define PMIC_CFG_CRITSEC_START_VALID   (9U)
 validParams value used to set Pointer to Pmic Critical-Section Start Function of PMIC Driver Handle More...
 
#define PMIC_CFG_CRITSEC_STOP_VALID   (10U)
 validParams value used to set Pointer to Pmic Critical-Section Stop Function of PMIC Driver Handle More...
 
#define PMIC_CFG_I2C1_SPEED_VALID   (11U)
 validParams value used to set I2C1 Speed of PMIC Driver Handle More...
 
#define PMIC_CFG_I2C2_SPEED_VALID   (12U)
 validParams value used to set I2C2 Speed of PMIC Driver Handle More...
 

PMIC Config Structure Param Bit shift values

Application can use below shifted values to set the validParam struct member defined in Pmic_CoreCfg_t structure

#define PMIC_CFG_DEVICE_TYPE_VALID_SHIFT   (1U << PMIC_CFG_DEVICE_TYPE_VALID)
 
#define PMIC_CFG_COMM_MODE_VALID_SHIFT   (1U << PMIC_CFG_COMM_MODE_VALID)
 
#define PMIC_CFG_SLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_SLAVEADDR_VALID)
 
#define PMIC_CFG_QASLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_QASLAVEADDR_VALID)
 
#define PMIC_CFG_NVMSLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_NVMSLAVEADDR_VALID)
 
#define PMIC_CFG_COMM_HANDLE_VALID_SHIFT   (1U << PMIC_CFG_COMM_HANDLE_VALID)
 
#define PMIC_CFG_QACOMM_HANDLE_VALID_SHIFT   (1U << PMIC_CFG_QACOMM_HANDLE_VALID)
 
#define PMIC_CFG_COMM_IO_RD_VALID_SHIFT   (1U << PMIC_CFG_COMM_IO_RD_VALID)
 
#define PMIC_CFG_COMM_IO_WR_VALID_SHIFT   (1U << PMIC_CFG_COMM_IO_WR_VALID)
 
#define PMIC_CFG_CRITSEC_START_VALID_SHIFT   (1U << PMIC_CFG_CRITSEC_START_VALID)
 
#define PMIC_CFG_CRITSEC_STOP_VALID_SHIFT   (1U << PMIC_CFG_CRITSEC_STOP_VALID)
 
#define PMIC_CFG_I2C1_SPEED_VALID_SHIFT   (1U << PMIC_CFG_I2C1_SPEED_VALID)
 
#define PMIC_CFG_I2C2_SPEED_VALID_SHIFT   (1U << PMIC_CFG_I2C2_SPEED_VALID)
 

Macro Definition Documentation

◆ PMIC_ST_SUCCESS

#define PMIC_ST_SUCCESS   (0)

Error Code for SUCCESS.

◆ PMIC_ST_ERR_INV_HANDLE

#define PMIC_ST_ERR_INV_HANDLE   (-((int32_t)1))

Error Code for Invalid input Handle.

◆ PMIC_ST_ERR_NULL_PARAM

#define PMIC_ST_ERR_NULL_PARAM   (-((int32_t)2))

Error Code when input Param is NULL.

◆ PMIC_ST_ERR_INV_PARAM

#define PMIC_ST_ERR_INV_PARAM   (-((int32_t)3))

Error Code for Invalid input Param.

◆ PMIC_ST_ERR_INV_DEVICE

#define PMIC_ST_ERR_INV_DEVICE   (-((int32_t)4))

Error Code for Invalid PMIC Device.

◆ PMIC_ST_ERR_NULL_FPTR

#define PMIC_ST_ERR_NULL_FPTR   (-((int32_t)5))

Error Code when input Function pointer is NULL.

◆ PMIC_ST_ERR_INV_SUBSYSTEM

#define PMIC_ST_ERR_INV_SUBSYSTEM   (-((int32_t)6))

Error Code for Invalid PMIC Subsystem.

◆ PMIC_ST_ERR_INSUFFICIENT_CFG

#define PMIC_ST_ERR_INSUFFICIENT_CFG   (-((int32_t)7))

Error Code for Insufficient input configuration params for PMIC Device Initialization.

◆ PMIC_ST_ERR_I2C_COMM_FAIL

#define PMIC_ST_ERR_I2C_COMM_FAIL   (-((int32_t)8))

Error Code for I2C Communication Fail.

◆ PMIC_ST_ERR_SPI_COMM_FAIL

#define PMIC_ST_ERR_SPI_COMM_FAIL   (-((int32_t)9))

Error Code for SPI Communication Fail.

◆ PMIC_ST_ERR_DATA_IO_CRC

#define PMIC_ST_ERR_DATA_IO_CRC   (-((int32_t)10))

Error Code for IO data failure when CRC is enabled.

◆ PMIC_ST_ERR_INTF_SETUP_FAILED

#define PMIC_ST_ERR_INTF_SETUP_FAILED   (-((int32_t)11))

Error Code for Interface Selected is not working properly.

◆ PMIC_ST_ERR_COMM_INTF_INIT_FAIL

#define PMIC_ST_ERR_COMM_INTF_INIT_FAIL   (-((int32_t)12))

Error Code for Interface Init Fail.

◆ PMIC_ST_ERR_UNINIT

#define PMIC_ST_ERR_UNINIT   (-((int32_t)13))

Error Code if Pmic_init() function called before PMIC driver is initialized.

◆ PMIC_ST_ERR_INV_VOLTAGE

#define PMIC_ST_ERR_INV_VOLTAGE   (-((int32_t)14))

Error Code for Invalid Voltage Value.

◆ PMIC_ST_ERR_INV_REGULATOR

#define PMIC_ST_ERR_INV_REGULATOR   (-((int32_t)15))

Error Code for Invalid Power resource Value.

◆ PMIC_ST_ERR_INV_PGOOD_LEVEL

#define PMIC_ST_ERR_INV_PGOOD_LEVEL   (-((int32_t)16))

Error Code for Invalid Power Good Threshold Value.

◆ PMIC_ST_ERR_INV_TEMP_THRESHOLD

#define PMIC_ST_ERR_INV_TEMP_THRESHOLD   (-((int32_t)17))

Error Code for Invalid Temperature Threshold value.

◆ PMIC_ST_ERR_INV_GPIO

#define PMIC_ST_ERR_INV_GPIO   (-((int32_t)18))

Error Code for Invalid input GPIO PIN.

◆ PMIC_ST_ERR_INV_GPIO_FUNC

#define PMIC_ST_ERR_INV_GPIO_FUNC   (-((int32_t)19))

Error Code for Invalid GPIO Functionality.

◆ PMIC_ST_ERR_INV_GPIO_LINE_PARAMS

#define PMIC_ST_ERR_INV_GPIO_LINE_PARAMS   (-((int32_t)20))

Error Code for input GPIO handle is invalid.

◆ PMIC_ST_ERR_PIN_NOT_GPIO

#define PMIC_ST_ERR_PIN_NOT_GPIO   (-((int32_t)21))

Error Code for Invalid Pin for GPIO Configuration.

◆ PMIC_ST_ERR_INV_WDG_WINDOW

#define PMIC_ST_ERR_INV_WDG_WINDOW   (-((int32_t)22))

Error Code for Invalid Watchdog longwindow or Window-1 or Window-2 duration.

◆ PMIC_ST_ERR_INV_WDG_ANSWER

#define PMIC_ST_ERR_INV_WDG_ANSWER   (-((int32_t)23))

Error Code for Invalid Watchdog Answer.

◆ PMIC_ST_ERR_WDG_EARLY_ANSWER

#define PMIC_ST_ERR_WDG_EARLY_ANSWER   (-((int32_t)24))

Error Code for Watchdog early Answer.

◆ PMIC_ST_ERR_INV_ESM_TARGET

#define PMIC_ST_ERR_INV_ESM_TARGET   (-((int32_t)25))

Error Code for input ESM TargetID is invalid.

◆ PMIC_ST_ERR_INV_ESM_MODE

#define PMIC_ST_ERR_INV_ESM_MODE   (-((int32_t)26))

Error Code for ESM Operation Mode is invalid.

◆ PMIC_ST_ERR_INV_INT

#define PMIC_ST_ERR_INV_INT   (-((int32_t)27))

Error Code for Invalid Interrupt.

◆ PMIC_ST_ERR_CLEAR_INT_FAILED

#define PMIC_ST_ERR_CLEAR_INT_FAILED   (-((int32_t)28))

Error Code when Interrupts Clear is failed.

◆ PMIC_ST_ERR_INV_TIME

#define PMIC_ST_ERR_INV_TIME   (-((int32_t)29))

Error Code for Invalid Time.

◆ PMIC_ST_ERR_INV_DATE

#define PMIC_ST_ERR_INV_DATE   (-((int32_t)30))

Error Code for Invalid Date.

◆ PMIC_ST_ERR_RTC_STOP_FAIL

#define PMIC_ST_ERR_RTC_STOP_FAIL   (-((int32_t)31))

Error Code for RTC Stop command failure.

◆ PMIC_ST_ERR_FAIL

#define PMIC_ST_ERR_FAIL   (-((int32_t)32))

Error Code for any other failures.

◆ PMIC_ST_ERR_ESM_STARTED

#define PMIC_ST_ERR_ESM_STARTED   (-((int32_t)33))

Error Code for ESM in Start State.

◆ PMIC_ST_ERR_INV_ESM_VAL

#define PMIC_ST_ERR_INV_ESM_VAL   (-((int32_t)34))

Error Code for Invalid ESM delay1, delay2, HMAX, HMIN, LMAX and LMIN values.

◆ PMIC_ST_WARN_INV_DEVICE_ID

#define PMIC_ST_WARN_INV_DEVICE_ID   (-((int32_t)35))

warning Code for Device ID mismatch warning

◆ PMIC_ST_ERR_INV_EN_DRV_PIN_CFG

#define PMIC_ST_ERR_INV_EN_DRV_PIN_CFG   (-((int32_t)36))

Error Code for EN_DRV Pin configuration when FORCE_EN_DRV_LOW is set to '1'.

◆ PMIC_ST_ERR_INV_COMM_MODE

#define PMIC_ST_ERR_INV_COMM_MODE   (-((int32_t)37))

Error Code for I2C Speed configuration when commMode is set to PMIC_INTF_SPI.

◆ PMIC_ST_ERR_CRC_STATUS_FAIL

#define PMIC_ST_ERR_CRC_STATUS_FAIL   (-((int32_t)38))

Error Code for CRC Status Failure.

◆ PMIC_ST_ERR_REG_LOCKED_WR_FAIL

#define PMIC_ST_ERR_REG_LOCKED_WR_FAIL   (-((int32_t)39))

Error Code for Register Write Failure when register is locked.

◆ PMIC_ST_ERR_NOT_SUPPORTED

#define PMIC_ST_ERR_NOT_SUPPORTED   (-((int32_t)40))

Error Code for when a feature is not supported on PMIC device type or PMIC silicon revision.

◆ PMIC_ST_ERR_INV_SILICON_REVISION

#define PMIC_ST_ERR_INV_SILICON_REVISION   (-((int32_t)41))

Error Code for Invalid PMIC Device Silicon Revision.

◆ PMIC_DEV_LEO_TPS6594X

#define PMIC_DEV_LEO_TPS6594X   (0U)

◆ PMIC_DEV_HERA_LP8764X

#define PMIC_DEV_HERA_LP8764X   (1U)

◆ PMIC_INTF_SINGLE_I2C

#define PMIC_INTF_SINGLE_I2C   (0U)

◆ PMIC_INTF_DUAL_I2C

#define PMIC_INTF_DUAL_I2C   (1U)

◆ PMIC_INTF_SPI

#define PMIC_INTF_SPI   (2U)

◆ PMIC_I2C_STANDARD_MODE

#define PMIC_I2C_STANDARD_MODE   (0U)

Standard or Fast or Fast+ Mode.

◆ PMIC_I2C_FORCED_HS_MODE

#define PMIC_I2C_FORCED_HS_MODE   (1U)

High-Speed Mode.

◆ PMIC_MAIN_INST

#define PMIC_MAIN_INST   (1U << 0U)

◆ PMIC_QA_INST

#define PMIC_QA_INST   (1U << 1U)

◆ PMIC_NVM_INST

#define PMIC_NVM_INST   (1U << 2U)

Valid only to read CRC status from Page-1 using NVM Slave Address Valid only while calling the pFnPmicCommIoRead API.

◆ PMIC_CFG_DEVICE_TYPE_VALID

#define PMIC_CFG_DEVICE_TYPE_VALID   (0U)

validParams value used to set PMIC device type of PMIC Driver Handle

◆ PMIC_CFG_COMM_MODE_VALID

#define PMIC_CFG_COMM_MODE_VALID   (1U)

validParams value used to set Interface mode of PMIC Driver Handle

◆ PMIC_CFG_SLAVEADDR_VALID

#define PMIC_CFG_SLAVEADDR_VALID   (2U)

validParams value used to set Main Interface Slave Address of PMIC Driver Handle

◆ PMIC_CFG_QASLAVEADDR_VALID

#define PMIC_CFG_QASLAVEADDR_VALID   (3U)

validParams value used to set WDOG QA Interface Slave Address of PMIC Driver Handle

◆ PMIC_CFG_NVMSLAVEADDR_VALID

#define PMIC_CFG_NVMSLAVEADDR_VALID   (4U)

validParams value used to set NVM Slave Address of PMIC Driver Handle

◆ PMIC_CFG_COMM_HANDLE_VALID

#define PMIC_CFG_COMM_HANDLE_VALID   (5U)

validParams value used to set Pointer to Handle for I2C1/SPI Main Interface of PMIC Driver Handle

◆ PMIC_CFG_QACOMM_HANDLE_VALID

#define PMIC_CFG_QACOMM_HANDLE_VALID   (6U)

validParams value used to set Pointer to Handle for I2C2-QA Interface of PMIC Driver Handle

◆ PMIC_CFG_COMM_IO_RD_VALID

#define PMIC_CFG_COMM_IO_RD_VALID   (7U)

validParams value used to set Pointer to I2C/SPI Comm LLD Read Function of PMIC Driver Handle

◆ PMIC_CFG_COMM_IO_WR_VALID

#define PMIC_CFG_COMM_IO_WR_VALID   (8U)

validParams value used to set Pointer to I2C/SPI Comm LLD Write Function of PMIC Driver Handle

◆ PMIC_CFG_CRITSEC_START_VALID

#define PMIC_CFG_CRITSEC_START_VALID   (9U)

validParams value used to set Pointer to Pmic Critical-Section Start Function of PMIC Driver Handle

◆ PMIC_CFG_CRITSEC_STOP_VALID

#define PMIC_CFG_CRITSEC_STOP_VALID   (10U)

validParams value used to set Pointer to Pmic Critical-Section Stop Function of PMIC Driver Handle

◆ PMIC_CFG_I2C1_SPEED_VALID

#define PMIC_CFG_I2C1_SPEED_VALID   (11U)

validParams value used to set I2C1 Speed of PMIC Driver Handle

◆ PMIC_CFG_I2C2_SPEED_VALID

#define PMIC_CFG_I2C2_SPEED_VALID   (12U)

validParams value used to set I2C2 Speed of PMIC Driver Handle

◆ PMIC_CFG_DEVICE_TYPE_VALID_SHIFT

#define PMIC_CFG_DEVICE_TYPE_VALID_SHIFT   (1U << PMIC_CFG_DEVICE_TYPE_VALID)

◆ PMIC_CFG_COMM_MODE_VALID_SHIFT

#define PMIC_CFG_COMM_MODE_VALID_SHIFT   (1U << PMIC_CFG_COMM_MODE_VALID)

◆ PMIC_CFG_SLAVEADDR_VALID_SHIFT

#define PMIC_CFG_SLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_SLAVEADDR_VALID)

◆ PMIC_CFG_QASLAVEADDR_VALID_SHIFT

#define PMIC_CFG_QASLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_QASLAVEADDR_VALID)

◆ PMIC_CFG_NVMSLAVEADDR_VALID_SHIFT

#define PMIC_CFG_NVMSLAVEADDR_VALID_SHIFT   (1U << PMIC_CFG_NVMSLAVEADDR_VALID)

◆ PMIC_CFG_COMM_HANDLE_VALID_SHIFT

#define PMIC_CFG_COMM_HANDLE_VALID_SHIFT   (1U << PMIC_CFG_COMM_HANDLE_VALID)

◆ PMIC_CFG_QACOMM_HANDLE_VALID_SHIFT

#define PMIC_CFG_QACOMM_HANDLE_VALID_SHIFT   (1U << PMIC_CFG_QACOMM_HANDLE_VALID)

◆ PMIC_CFG_COMM_IO_RD_VALID_SHIFT

#define PMIC_CFG_COMM_IO_RD_VALID_SHIFT   (1U << PMIC_CFG_COMM_IO_RD_VALID)

◆ PMIC_CFG_COMM_IO_WR_VALID_SHIFT

#define PMIC_CFG_COMM_IO_WR_VALID_SHIFT   (1U << PMIC_CFG_COMM_IO_WR_VALID)

◆ PMIC_CFG_CRITSEC_START_VALID_SHIFT

#define PMIC_CFG_CRITSEC_START_VALID_SHIFT   (1U << PMIC_CFG_CRITSEC_START_VALID)

◆ PMIC_CFG_CRITSEC_STOP_VALID_SHIFT

#define PMIC_CFG_CRITSEC_STOP_VALID_SHIFT   (1U << PMIC_CFG_CRITSEC_STOP_VALID)

◆ PMIC_CFG_I2C1_SPEED_VALID_SHIFT

#define PMIC_CFG_I2C1_SPEED_VALID_SHIFT   (1U << PMIC_CFG_I2C1_SPEED_VALID)

◆ PMIC_CFG_I2C2_SPEED_VALID_SHIFT

#define PMIC_CFG_I2C2_SPEED_VALID_SHIFT   (1U << PMIC_CFG_I2C2_SPEED_VALID)

Function Documentation

◆ Pmic_init()

int32_t Pmic_init ( const Pmic_CoreCfg_t pPmicConfigData,
Pmic_CoreHandle_t pPmicCoreHandle 
)

API to Initialize pmic core handle for PMIC LLD.

Requirement: REQ_TAG(PDK-5814), REQ_TAG(PDK-5810), REQ_TAG(PDK-5813), REQ_TAG(PDK-5843), REQ_TAG(PDK-5811), REQ_TAG(PDK-5853), REQ_TAG(PDK-9129), REQ_TAG(PDK-9329), REQ_TAG(PDK-9159), REQ_TAG(PDK-5816), REQ_TAG(PDK-5817), REQ_TAG(PDK-5818), REQ_TAG(PDK-5819), REQ_TAG(PDK-5820), REQ_TAG(PDK-5821), REQ_TAG(PDK-5822), REQ_TAG(PDK-5823), REQ_TAG(PDK-5824), REQ_TAG(PDK-5825), REQ_TAG(PDK-5826), REQ_TAG(PDK-5827), REQ_TAG(PDK-5856), REQ_TAG(PDK-5857), REQ_TAG(PDK-5858), REQ_TAG(PDK-5859), REQ_TAG(PDK-5860) Design: did_pmic_comm_intf_cfg, did_pmic_comm_single_i2c_cfg, did_pmic_comm_dual_i2c_cfg, did_pmic_comm_spi_cfg, did_pmic_tps6594x_j721e_support, did_pmic_lp8764x_j7200_support, did_pmic_validation_feature_support, did_pmic_performance_support, did_pmic_generic_feature_support, did_pmic_safety_feature_support, did_pmic_pre_emption_support, did_pmic_stateless_reentrant_support, did_pmic_dynamic_alloc_mem_not_supported, did_pmic_build_infra_cfg, did_pmic_debug_release_profile_support, did_pmic_standalone_support, did_pmic_multiple_pmic_support, did_pmic_baremetal_support Architecture: aid_pmic_tps6594x_lp8764x_support, aid_pmic_standalone_support, aid_pmic_multiple_pmic_support, aid_pmic_pre_emption_support, aid_pmic_stateless_reentrant_support, aid_pmic_generic_support, aid_pmic_baremetal_support, aid_pmic_comm_intf_i2c_spi_cfg, aid_pmic_dynamic_alloc_mem_not_supported, aid_pmic_build_infra_cfg, aid_pmic_debug_release_profile_support, aid_pmic_performance_support, aid_pmic_test_support

This function gets device configuration from pPmicConfigData and initializes device specific information in pPmicCoreHandle after validation of given params depends on validParams bit fields and does some basic validation on PMIC interface I2C/SPI, confirming that PMIC is accessible for PMIC configuration and monitor features.

Parameters
pPmicConfigData[IN] PMIC Configuration data
pPmicCoreHandle[OUT] PMIC Interface Handle.
Return values
PMIC_ST_SUCCESSin case of success or appropriate error code For valid values Pmic_ErrorCodes

◆ Pmic_deinit()

int32_t Pmic_deinit ( Pmic_CoreHandle_t pPmicCoreHandle)

API to DeInitilizes an existing PMIC Instance.

Requirement: REQ_TAG(PDK-5814) Design: did_pmic_comm_intf_cfg Architecture: aid_pmic_tps6594x_lp8764x_support

    This function takes an existing Instance pPmicCoreHandle and
    closes the LLD being used for this Instance. It should be called
    only once per valid pPmicCoreHandle. Should not be called
    if Pmic_init() is not called
Parameters
pPmicCoreHandle[IN] PMIC Interface Handle.
Return values
PMIC_ST_SUCCESSin case of success or appropriate error code For valid values Pmic_ErrorCodes