NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvsipl::IMX728_CustomInterface Class Referenceabstract

Detailed Description

The class of custom interfaces in Sensor IMX728.

Definition at line 47 of file IMX728_CustomInterface.hpp.

Inheritance diagram for nvsipl::IMX728_CustomInterface:
Collaboration diagram for nvsipl::IMX728_CustomInterface:

Public Member Functions

const UUIDgetInstanceInterfaceID () const noexcept override
 Get Sensor IMX728 instance custom interface ID. More...
 
virtual SIPLStatus SetHeaterState (bool const setState)=0
 Set heater on or off. More...
 
virtual SIPLStatus ParseCustomEmbeddedData (uint8_t const *const embeddedBufBot, uint32_t const embeddedBufBotSize, IMX728CustomEmbeddedData *const customEmbData) const =0
 Parse the custom embedded data from the passed raw data. More...
 
virtual SIPLStatus GetSerializerVideoStatus (MAX96717FVideoStatus *const customErrInfo) const =0
 Get serializer's video status. More...
 
virtual SIPLStatus PSCheckIsetComparator (uint8_t *const dataBuff) const =0
 Read ISET(Current-Limit Setting) value from Power Switch (PS) Status register. More...
 
virtual SIPLStatus PSReadVoltageAndCurrentValues (uint8_t const dataBuff_size, uint16_t *const dataBuff) const =0
 Reads the voltage and current values for a Power Switch link/channel. More...
 
virtual SIPLStatus VerifySerGPIOReadBackStatus (void) const =0
 Verify Serializer GPIO Readback Status. More...
 
virtual SIPLStatus BD868B2ExecuteFBIST (void)=0
 Execute BD868B2 PMIC FBIST Runtime. More...
 
virtual SIPLStatus BD868B2GetErrorInfo (BD868B2CustomErrInfo *const customErrInfo)=0
 Get error info for BD868B2 PMIC. More...
 
virtual SIPLStatus BD868B2GetWAROUTBErrorStatus (bool *const hasError)=0
 Get fault status of WAROUTB pin of BD868B2 PMIC. More...
 
virtual SIPLStatus TPS650332ExecuteABIST (bool *const hasError) noexcept=0
 Execute TPS650332 PMIC Analog Built In Self Test (ABIST) Runtime. More...
 
virtual SIPLStatus TPS650332GetErrorInfo (TPS650332CustomErrInfo *const customErrInfo) noexcept=0
 Get error info for TPS650332 PMIC. More...
 
virtual SIPLStatus TPS650332GetnINTErrorStatus (bool *const hasError) noexcept=0
 Get fault status of nINT pin of TPS650332 PMIC. More...
 
virtual SIPLStatus GetSensorTemperature (DevBlkCDITemperature *const sensorTempInfo) const =0
 Get Sensor temperature. More...
 
virtual SIPLStatus GetSerializerTemperature (DevBlkCDITemperature *const serTempInfo) const =0
 Get MAX96717F Serializer Temperature data. More...
 
virtual SIPLStatus CameraModulePowerOff (void)=0
 To power off camera module. More...
 
virtual SIPLStatus ControlDeserLink (bool const enable)=0
 Control deserializer link. More...
 
virtual SIPLStatus WriteEEPROMData (uint16_t const address, uint32_t const length, uint8_t *const buffer)=0
 Write to the EEPROM module. More...
 
virtual SIPLStatus WriteTempHistToEEPROM (uint32_t const length, uint8_t const *const buffer) const =0
 Write Temperature Histogram to the EEPROM module. More...
 

Static Public Member Functions

static const UUIDgetClassInterfaceID ()
 Get Sensor IMX728 class custom interface ID. More...
 

Protected Member Functions

 IMX728_CustomInterface ()=default
 Default Constructor of class IMX728_CustomInterface. More...
 
 IMX728_CustomInterface (IMX728_CustomInterface const &)=delete
 Prevent the Copy constructor of class IMX728_CustomInterface. More...
 
 IMX728_CustomInterface (IMX728_CustomInterface &&)=delete
 Prevent the Move constructor of class IMX728_CustomInterface. More...
 
IMX728_CustomInterfaceoperator= (IMX728_CustomInterface const &) &=delete
 Prevent default copy assignment operator of class IMX728_CustomInterface. More...
 
IMX728_CustomInterfaceoperator= (IMX728_CustomInterface &&) &=delete
 Prevent default move assignment operator of class IMX728_CustomInterface. More...
 
 ~IMX728_CustomInterface ()=default
 Default destructor of class IMX728_CustomInterface. More...
 

Constructor & Destructor Documentation

◆ IMX728_CustomInterface() [1/3]

nvsipl::IMX728_CustomInterface::IMX728_CustomInterface ( )
protecteddefault

Default Constructor of class IMX728_CustomInterface.

◆ IMX728_CustomInterface() [2/3]

nvsipl::IMX728_CustomInterface::IMX728_CustomInterface ( IMX728_CustomInterface const &  )
protecteddelete

Prevent the Copy constructor of class IMX728_CustomInterface.

◆ IMX728_CustomInterface() [3/3]

nvsipl::IMX728_CustomInterface::IMX728_CustomInterface ( IMX728_CustomInterface &&  )
protecteddelete

Prevent the Move constructor of class IMX728_CustomInterface.

◆ ~IMX728_CustomInterface()

nvsipl::IMX728_CustomInterface::~IMX728_CustomInterface ( )
protecteddefault

Default destructor of class IMX728_CustomInterface.

Member Function Documentation

◆ BD868B2ExecuteFBIST()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::BD868B2ExecuteFBIST ( void  )
pure virtual

Execute BD868B2 PMIC FBIST Runtime.

This API is virtual function and will be overridden by other implementation.

Precondition
Serializer and BD868B2 must be powered on.
Return values
NVSIPL_STATUS_OKIf successfully able to execute BD868B2 PMIC FBIST.
NVSIPL_STATUS_NOT_SUPPORTEDIf BD868B2 PMIC FBIST function is not supported.
(SIPLStatus)Any errors from dependencies.

◆ BD868B2GetErrorInfo()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::BD868B2GetErrorInfo ( BD868B2CustomErrInfo *const  customErrInfo)
pure virtual

Get error info for BD868B2 PMIC.

This function is used to get information about error bits in the relevant error registers, which are set in case of interrupt faults. This API is virtual function and will be overridden by other implementation.

Precondition
Serializer and BD868B2 must be powered on.
Parameters
[out]customErrInfoPointer to struct BD868B2CustomErrInfo which contains error information filled by driver, bit field indicating the error flags set is indexed by enum BD868B2CustomErrType. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to get error info for BD868B2 PMIC.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
NVSIPL_STATUS_NOT_SUPPORTEDIf BD868B2 PMIC GetErrorInfo function is not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ BD868B2GetWAROUTBErrorStatus()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::BD868B2GetWAROUTBErrorStatus ( bool *const  hasError)
pure virtual

Get fault status of WAROUTB pin of BD868B2 PMIC.

This function is used to get error status of WAROUTB pin by reading register of BD868B2 via I2C programmer. This API is virtual function and will be overridden by other implementation..

Precondition
Serializer and BD868B2 must be powered on.
Parameters
[out]hasErrorPoint to bool value. The bool value will be set true if any error is detected by the fault monitoring mechanism for WAROUTB pin. The bool value will be set false if WAROUTB pin has no error. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to get fault status of WAROUTB pin of BD868B2 PMIC.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
NVSIPL_STATUS_NOT_SUPPORTEDIf BD868B2 PMIC GetWAROUTBErrorStatus function is not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ CameraModulePowerOff()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::CameraModulePowerOff ( void  )
pure virtual

To power off camera module.

This function is used to power off camera module.

Return values
NVSIPL_STATUS_OKPower state set successfully.
NVSIPL_STATUS_NOT_SUPPORTEDCustom Interface function not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ ControlDeserLink()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::ControlDeserLink ( bool const  enable)
pure virtual

Control deserializer link.

This function is used to enable or disable the deserializer link to this camera module.

Precondition
  • A valid deserializer object created with CNvMDeserializer_Create().
  • A valid camera module object created with CNvMCameraModule_Create().
  • Must be called after CNvMDeserializer::Init() and CNvMCameraModule::Init().
Parameters
[in]enableenable specifies the action to be performed for the deserializer link. Valid range: [true, false].
Return values
NVSIPL_STATUS_OKDeserializer link controlled successfully.
NVSIPL_STATUS_NOT_SUPPORTEDCustom Interface function not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ getClassInterfaceID()

static const UUID& nvsipl::IMX728_CustomInterface::getClassInterfaceID ( )
inlinestatic

Get Sensor IMX728 class custom interface ID.

This function is used by application to get sensor's custom interface ID. Application can use this ID to get the interface of the class.

Precondition
None.
Return values
IMX728_CUSTOM_INTERFACE_IDCustom interface id for IMX728. Valid range : [ IMX728_CUSTOM_INTERFACE_ID].

Definition at line 63 of file IMX728_CustomInterface.hpp.

References nvsipl::IMX728_CUSTOM_INTERFACE_ID().

◆ getInstanceInterfaceID()

const UUID& nvsipl::IMX728_CustomInterface::getInstanceInterfaceID ( ) const
inlineoverridevirtualnoexcept

Get Sensor IMX728 instance custom interface ID.

This function is used by application to get sensor's custom interface ID. Application can use this ID to get the interface of the instance.

Precondition
None.
Return values
IMX728_CUSTOM_INTERFACE_IDCustom interface id for IMX728. Valid range : [ IMX728_CUSTOM_INTERFACE_ID].

Implements nvsipl::Interface.

Definition at line 79 of file IMX728_CustomInterface.hpp.

References nvsipl::IMX728_CUSTOM_INTERFACE_ID().

◆ GetSensorTemperature()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::GetSensorTemperature ( DevBlkCDITemperature *const  sensorTempInfo) const
pure virtual

Get Sensor temperature.

This function is used by the application to get sensor temperature.

Parameters
[out]sensorTempInfoPointer to structure DevBlkCDITemperature to store sensor temperature data. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKSuccess
NVSIPL_STATUS_NOT_SUPPORTEDCustom Interface function not supported.
NVSIPL_STATUS_BAD_ARGUMENTArgument validation failed
NVSIPL_STATUS_ERRORAny errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetSerializerTemperature()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::GetSerializerTemperature ( DevBlkCDITemperature *const  serTempInfo) const
pure virtual

Get MAX96717F Serializer Temperature data.

MAX96717F Serializer has two temperature sensors. This function returns serializer temperature sensor data.

Parameters
[out]serTempInfoPointer to structure DevBlkCDITemperature to store serializer temperature data. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKSerializer temperature information read successfully.
NVSIPL_STATUS_NOT_SUPPORTEDCustom Interface function not supported.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ GetSerializerVideoStatus()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::GetSerializerVideoStatus ( MAX96717FVideoStatus *const  customErrInfo) const
pure virtual

Get serializer's video status.

This function is used to get serializer's video status by reading OVERFLOW bit, TUN_FIFO_OVERFLOW bit and PCLK detected (PCLKDET) bit status which related to the health of the video transmitted from the serializer. This API is virtual function and will be overridden by other implementation.

Precondition
The serializer should be in streaming state for video input.
Parameters
[out]customErrInfoPointer to struct MAX96717FVideoStatus which contains status of serializer OVERFLOW bit, TUN_FIFO_OVERFLOW bit and PCLKDET bit. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf the video transmitted from the serializer is healthy.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ operator=() [1/2]

IMX728_CustomInterface& nvsipl::IMX728_CustomInterface::operator= ( IMX728_CustomInterface &&  ) &
protecteddelete

Prevent default move assignment operator of class IMX728_CustomInterface.

◆ operator=() [2/2]

IMX728_CustomInterface& nvsipl::IMX728_CustomInterface::operator= ( IMX728_CustomInterface const &  ) &
protecteddelete

Prevent default copy assignment operator of class IMX728_CustomInterface.

◆ ParseCustomEmbeddedData()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::ParseCustomEmbeddedData ( uint8_t const *const  embeddedBufBot,
uint32_t const  embeddedBufBotSize,
IMX728CustomEmbeddedData *const  customEmbData 
) const
pure virtual

Parse the custom embedded data from the passed raw data.

This function is used to parse the bottom embedded data buffer and extract SM error information to store it in customEmbData.

This API is virtual function and will be overridden by other implementation.

Precondition
None.
Parameters
[in]embeddedBufBotBuffer pointer to bottom chunk of embedded data. Valid range : [non-NULL].
[in]embeddedBufBotSizeSize of bottom chunk of embedded data. Valid range : [1, UINT32_MAX].
[out]customEmbDataPointer to struct IMX728CustomEmbeddedData. If embedded data is present, data from the parse written to IMX728CustomEmbeddedData. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to parse the custom embedded data from raw data.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: Yes
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ PSCheckIsetComparator()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::PSCheckIsetComparator ( uint8_t *const  dataBuff) const
pure virtual

Read ISET(Current-Limit Setting) value from Power Switch (PS) Status register.

This function reads the ISET value for the link specified by linkIndex and stores it in the data pointer. ISET value of 0 means no error. When ISET pin is open or shorted, ISET value of 1 is reported. This API is virtual function and will be overridden by other implementation.

Precondition
Power Switch must be powered on using GPIO control.
Parameters
[out]dataBuffBuffer pointer to output (ISET) value from Power Switch (PS) status register. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to read ISET value.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ PSReadVoltageAndCurrentValues()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::PSReadVoltageAndCurrentValues ( uint8_t const  dataBuff_size,
uint16_t *const  dataBuff 
) const
pure virtual

Reads the voltage and current values for a Power Switch link/channel.

This function reads input/output voltages and output channel current for a given Power Switch link/channel. This API is virtual function and will be overridden by other implementation.

Precondition
Power Switch must be powered on using GPIO control.
Parameters
[in]dataBuff_sizeValue is fixed to 5. Calling function needs to allocate space for the 5 values specified below in dataBuff. Valid range : [5]
[out]dataBuffpointer to the array Voltage/Current values for specified linkIndex. Index 0: Output Voltage. Index 1: Vin. Index 2: Vdd. Index 3: VISET. Index 4: Output Channel Current. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to read Input/Output voltages and Current values.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ SetHeaterState()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::SetHeaterState ( bool const  setState)
pure virtual

Set heater on or off.

This function is used by application to turn heater on or off. This API is virtual function and will be overridden by other implementation.

Precondition
Serializer and PMIC must be initialized.
Parameters
[in]setStateBool value representing on or off for the heater. True represents setting heater on. Valid range : [true, false].
Return values
NVSIPL_STATUS_OKIf successfully able to set heater state.
NVSIPL_STATUS_NOT_SUPPORTEDNot a heater supported module.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ TPS650332ExecuteABIST()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::TPS650332ExecuteABIST ( bool *const  hasError)
pure virtualnoexcept

Execute TPS650332 PMIC Analog Built In Self Test (ABIST) Runtime.

This API is virtual function and will be overridden by other implementation.

Precondition
Serializer and TPS650332 must be powered on.
Parameters
[out]hasErrorPointer to bool value. The bool value will be Set true if any error is detected by the ABIST. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to execute TPS650332 PMIC ABIST Runtime.
NVSIPL_STATUS_NOT_SUPPORTEDIf TPS650332 PMIC ABIST function is not supported.
NVSIPL_STATUS_TIMED_OUTIf ABIST is not completed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ TPS650332GetErrorInfo()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::TPS650332GetErrorInfo ( TPS650332CustomErrInfo *const  customErrInfo)
pure virtualnoexcept

Get error info for TPS650332 PMIC.

This function is used to get information about error bits in the relevant ACK registers, which are set in case of interrupt faults. This API is virtual function and will be overridden by other implementation.

Precondition
Serializer and TPS650332 must be powered on.
Parameters
[out]customErrInfoPointer to struct TPS650332CustomErrInfo which contains error information filled by driver, bit field indicating the error flags set is indexed by enum TPS650332CustomErrType. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to get error info for TPS650332 PMIC.
NVSIPL_STATUS_NOT_SUPPORTEDIf TPS650332 PMIC ABIST function is not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ TPS650332GetnINTErrorStatus()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::TPS650332GetnINTErrorStatus ( bool *const  hasError)
pure virtualnoexcept

Get fault status of nINT pin of TPS650332 PMIC.

This function is used to get error status of nINT pin by reading register of TPS650332 via I2C programmer. This API is virtual function and will be overridden by other implementation..

Precondition
Serializer and TPS650332 must be powered on.
Parameters
[out]hasErrorPoint to bool value. The bool value will be set true if any error is detected by the fault monitoring mechanism for nINT pin. The bool value will be set false if nINT pin has no error. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to get fault status of nINT pin of TPS650332 PMIC.
NVSIPL_STATUS_NOT_SUPPORTEDIf TPS650332 PMIC ABIST function is not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ VerifySerGPIOReadBackStatus()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::VerifySerGPIOReadBackStatus ( void  ) const
pure virtual

Verify Serializer GPIO Readback Status.

This function is used to perform run-time GPIO readback verification test on applicable GPIO pins. This API is virtual function and will be overridden by other implementation.

Precondition
A valid serializer object must be created and powered on.
Return values
NVSIPL_STATUS_OKIf Serializer GPIO Readback Status works normally.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: Yes
    • De-Init: No

◆ WriteEEPROMData()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::WriteEEPROMData ( uint16_t const  address,
uint32_t const  length,
uint8_t *const  buffer 
)
pure virtual

Write to the EEPROM module.

Parameters
[in]addressLocation to write to EEPROM. Valid range : [256, 511].
[in]lengthLength of buffer to write into EEPROM. Valid range : [1, 256].
[in]bufferPointer to the array of values to write to EEPROM. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to write data to EEPROM.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
NVSIPL_STATUS_NOT_SUPPORTEDEEPROM handle invalid.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: Yes
    • Runtime: No
    • De-Init: No

◆ WriteTempHistToEEPROM()

virtual SIPLStatus nvsipl::IMX728_CustomInterface::WriteTempHistToEEPROM ( uint32_t const  length,
uint8_t const *const  buffer 
) const
pure virtual

Write Temperature Histogram to the EEPROM module.

Parameters
[in]lengthLength of buffer to write temperature histogram into EEPROM. Valid range : [60].
[in]bufferPointer to the array of values to write temperature histogram to EEPROM. Valid range : [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to write temperature histogram data to EEPROM.
NVSIPL_STATUS_BAD_ARGUMENTInput parameter validation failed.
NVSIPL_STATUS_NOT_SUPPORTEDCustom Interface function not supported.
(SIPLStatus)Any errors from dependencies.


Usage considerations

  • Allowed context for the API call
    • Interrupt handler: No
    • Signal handler: No
    • Thread-safe: No
    • Re-entrant: No
    • Async/Sync: Sync
  • Required privileges: Yes, with the following conditions:
    • Grants: nonroot, allow
    • Abilities: public_channel
    • Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
  • API group
    • Init: No
    • Runtime: No
    • De-Init: Yes

The documentation for this class was generated from the following file: