PDK API Guide for J721E
Pmic_CoreHandle_t Struct Reference

Detailed Description

PMIC Interface Handle. Contains various PMIC driver instance specific information. like, the PMIC device type, PMIC interface mode, Slave addresses, various application defined API function pointers for LLD and Critical sections.

Note: Pmic_init() configures the Pmic Handle information and provide pmic core handle to user application. User should ensure that application shall not modify the PMIC Handle information.

Parameters
pPmic_SubSysInfoPMIC driver subsystem information
drvInitStatusPMIC Driver initialization status. Valid driver status: For Main instance: DRV_INIT_STATUS | PMIC_MAIN_INST. For QA instance: DRV_INIT_STATUS | PMIC_QA_INST.
pmicDeviceTypePMIC device type
pmicDevRevPMIC device revision ID
pmicDevSiliconRevPMIC device silicon revision ID
commModeInterface mode - Single I2C, Dual I2C or SPI.
slaveAddrMain Interface Slave Address
qaSlaveAddrWDOG QA Interface Slave Address
nvmSlaveAddrNVM Slave Address which provides only read access to CRC status of Page-1 Application shall use this slave address to read only CRC status. Application shall not do any write operations using this slave address
i2c1SpeedI2C1 Speed when commMode is Single or Dual I2C
i2c2SpeedI2C2 Speed when commMode is Dual I2C
crcEnableParameter to enable/disable CRC For Valid Values: Pmic_CrcEnableCfg
pFnPmicCommIoReadPointer to I2C/SPI Comm LLD Read Function
pFnPmicCommIoWritePointer to I2C/SPI Comm LLD Write Function
pCommHandlePointer to Handle for I2C1/SPI Main Interface
pQACommHandlePointer to Handle for I2C2-QA Interface
pFnPmicCritSecStartPointer to Pmic Critical-Section Start Function
pFnPmicCritSecStopPointer to Pmic Critical-Section Stop Function

Data Fields

const Pmic_DevSubSysInfo_tpPmic_SubSysInfo
 
uint32_t drvInitStatus
 
uint8_t pmicDeviceType
 
uint8_t pmicDevRev
 
uint8_t pmicDevSiliconRev
 
uint8_t commMode
 
uint8_t slaveAddr
 
uint8_t qaSlaveAddr
 
uint8_t nvmSlaveAddr
 
uint8_t i2c1Speed
 
uint8_t i2c2Speed
 
bool crcEnable
 
void * pCommHandle
 
void * pQACommHandle
 
int32_t(* pFnPmicCommIoRead )(struct Pmic_CoreHandle_s *pmicCorehandle, uint8_t instType, uint16_t regAddr, uint8_t *pRxBuf, uint8_t bufLen)
 
int32_t(* pFnPmicCommIoWrite )(struct Pmic_CoreHandle_s *pmicCorehandle, uint8_t instType, uint16_t regAddr, uint8_t *pTxBuf, uint8_t bufLen)
 
void(* pFnPmicCritSecStart )(void)
 
void(* pFnPmicCritSecStop )(void)
 

Field Documentation

◆ pPmic_SubSysInfo

const Pmic_DevSubSysInfo_t* Pmic_CoreHandle_t::pPmic_SubSysInfo

◆ drvInitStatus

uint32_t Pmic_CoreHandle_t::drvInitStatus

◆ pmicDeviceType

uint8_t Pmic_CoreHandle_t::pmicDeviceType

◆ pmicDevRev

uint8_t Pmic_CoreHandle_t::pmicDevRev

◆ pmicDevSiliconRev

uint8_t Pmic_CoreHandle_t::pmicDevSiliconRev

◆ commMode

uint8_t Pmic_CoreHandle_t::commMode

◆ slaveAddr

uint8_t Pmic_CoreHandle_t::slaveAddr

◆ qaSlaveAddr

uint8_t Pmic_CoreHandle_t::qaSlaveAddr

◆ nvmSlaveAddr

uint8_t Pmic_CoreHandle_t::nvmSlaveAddr

◆ i2c1Speed

uint8_t Pmic_CoreHandle_t::i2c1Speed

◆ i2c2Speed

uint8_t Pmic_CoreHandle_t::i2c2Speed

◆ crcEnable

bool Pmic_CoreHandle_t::crcEnable

◆ pCommHandle

void* Pmic_CoreHandle_t::pCommHandle

◆ pQACommHandle

void* Pmic_CoreHandle_t::pQACommHandle

◆ pFnPmicCommIoRead

int32_t(* Pmic_CoreHandle_t::pFnPmicCommIoRead) (struct Pmic_CoreHandle_s *pmicCorehandle, uint8_t instType, uint16_t regAddr, uint8_t *pRxBuf, uint8_t bufLen)

◆ pFnPmicCommIoWrite

int32_t(* Pmic_CoreHandle_t::pFnPmicCommIoWrite) (struct Pmic_CoreHandle_s *pmicCorehandle, uint8_t instType, uint16_t regAddr, uint8_t *pTxBuf, uint8_t bufLen)

◆ pFnPmicCritSecStart

void(* Pmic_CoreHandle_t::pFnPmicCritSecStart) (void)

◆ pFnPmicCritSecStop

void(* Pmic_CoreHandle_t::pFnPmicCritSecStop) (void)