NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvsipl::IMX623_CustomInterface Class Referenceabstract

Detailed Description

The class of custom interfaces in Sensor IMX623.

Definition at line 43 of file IMX623_CustomInterface.hpp.

Inheritance diagram for nvsipl::IMX623_CustomInterface:
Collaboration diagram for nvsipl::IMX623_CustomInterface:

Public Member Functions

const UUIDgetInstanceInterfaceID () const noexcept override
 Get Sensor IMX623 instance custom interface ID. More...
 
virtual SIPLStatus ParseCustomEmbeddedData (uint8_t const *const embeddedBufTop, uint32_t const embeddedBufTopSize, IMX623CustomEmbeddedData *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 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)=0
 Write Temperature Histogram to the EEPROM module. More...
 
virtual SIPLStatus TPS650332ExecuteABIST (bool *const hasError)=0
 Execute TPS650332 PMIC Analog Built In Self Test (ABIST) Runtime. More...
 
virtual SIPLStatus TPS650332GetErrorInfo (TPS650332CustomErrInfo *const customErrInfo)=0
 Get error info for TPS650332 PMIC. More...
 
virtual SIPLStatus TPS650332GetnINTErrorStatus (bool *const hasError)=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 IMX623I2CCRCIntegrityCheck (void) const =0
 Perform I2C CRC integrity check. More...
 
virtual SIPLStatus IMX623I2CCMACIntegrityCheck (void) const =0
 Perform I2C CMAC integrity check. More...
 

Static Public Member Functions

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

Protected Member Functions

 IMX623_CustomInterface ()=default
 NV_IS_SAFETY. More...
 
 IMX623_CustomInterface (IMX623_CustomInterface const &)=delete
 Prevent the Copy constructor of class IMX623_CustomInterface. More...
 
 IMX623_CustomInterface (IMX623_CustomInterface &&)=delete
 Prevent the Move constructor of class IMX623_CustomInterface. More...
 
IMX623_CustomInterfaceoperator= (IMX623_CustomInterface const &) &=delete
 Prevent default copy assignment operator of class IMX623_CustomInterface. More...
 
IMX623_CustomInterfaceoperator= (IMX623_CustomInterface &&) &=delete
 Prevent default move assignment operator of class IMX623_CustomInterface. More...
 
 ~IMX623_CustomInterface ()=default
 Default destructor of class IMX623_CustomInterface. More...
 

Constructor & Destructor Documentation

◆ IMX623_CustomInterface() [1/3]

nvsipl::IMX623_CustomInterface::IMX623_CustomInterface ( )
protecteddefault

NV_IS_SAFETY.

Default Constructor of class IMX623_CustomInterface

◆ IMX623_CustomInterface() [2/3]

nvsipl::IMX623_CustomInterface::IMX623_CustomInterface ( IMX623_CustomInterface const &  )
protecteddelete

Prevent the Copy constructor of class IMX623_CustomInterface.

◆ IMX623_CustomInterface() [3/3]

nvsipl::IMX623_CustomInterface::IMX623_CustomInterface ( IMX623_CustomInterface &&  )
protecteddelete

Prevent the Move constructor of class IMX623_CustomInterface.

◆ ~IMX623_CustomInterface()

nvsipl::IMX623_CustomInterface::~IMX623_CustomInterface ( )
protecteddefault

Default destructor of class IMX623_CustomInterface.

Member Function Documentation

◆ CameraModulePowerOff()

virtual SIPLStatus nvsipl::IMX623_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::IMX623_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::IMX623_CustomInterface::getClassInterfaceID ( )
inlinestatic

Get Sensor IMX623 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
IMX623_CUSTOM_INTERFACE_IDCustom interface id for IMX623. Valid range : [ IMX623_CUSTOM_INTERFACE_ID].

Definition at line 58 of file IMX623_CustomInterface.hpp.

References nvsipl::IMX623_CUSTOM_INTERFACE_ID().

◆ getInstanceInterfaceID()

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

Get Sensor IMX623 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
IMX623_CUSTOM_INTERFACE_IDCustom interface id for IMX623. Valid range : [ IMX623_CUSTOM_INTERFACE_ID].

Implements nvsipl::Interface.

Definition at line 74 of file IMX623_CustomInterface.hpp.

References nvsipl::IMX623_CUSTOM_INTERFACE_ID().

◆ GetSensorTemperature()

virtual SIPLStatus nvsipl::IMX623_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::IMX623_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::IMX623_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

◆ IMX623I2CCMACIntegrityCheck()

virtual SIPLStatus nvsipl::IMX623_CustomInterface::IMX623I2CCMACIntegrityCheck ( void  ) const
pure virtual

Perform I2C CMAC integrity check.

This function is used to verify the I2C communication by comparing calculated CMAC with the expected CMAC from sensor.

Precondition
A valid camera module object must be created and powered on.
Parameters
[in]handlePointer to structure DevBlkCDIDevice. Valid range: [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to check IMX623's I2C CMAC integrity.
NVSIPL_STATUS_ERRORI2C CMAC integrity check failed or any
errorsfrom 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

◆ IMX623I2CCRCIntegrityCheck()

virtual SIPLStatus nvsipl::IMX623_CustomInterface::IMX623I2CCRCIntegrityCheck ( void  ) const
pure virtual

Perform I2C CRC integrity check.

This function is used to verify the I2C communication by comparing calculated CRC with the expected CRC from sensor.

Precondition
A valid camera module object must be created and powered on.
Parameters
[in]handlePointer to structure DevBlkCDIDevice. Valid range: [non-NULL].
Return values
NVSIPL_STATUS_OKIf successfully able to check IMX623's I2C CRC integrity.
NVSIPL_STATUS_ERRORI2C CRC integrity check failed or any
errorsfrom 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

◆ operator=() [1/2]

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

Prevent default move assignment operator of class IMX623_CustomInterface.

◆ operator=() [2/2]

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

Prevent default copy assignment operator of class IMX623_CustomInterface.

◆ ParseCustomEmbeddedData()

virtual SIPLStatus nvsipl::IMX623_CustomInterface::ParseCustomEmbeddedData ( uint8_t const *const  embeddedBufTop,
uint32_t const  embeddedBufTopSize,
IMX623CustomEmbeddedData *const  customEmbData 
) const
pure virtual

Parse the custom embedded data from the passed raw data.

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

Precondition
None.
Parameters
[in]embeddedBufTopBuffer pointer to top chunk of embedded data. Valid range : [non-NULL].
[in]embeddedBufTopSizeSize of top chunk of embedded data. Valid range : [1, UINT32_MAX].
[out]customEmbDataPointer to struct IMX623CustomEmbeddedData. If embedded data is present, data from the parse written to IMX623CustomEmbeddedData. 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::IMX623_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::IMX623_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

◆ TPS650332ExecuteABIST()

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

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_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::IMX623_CustomInterface::TPS650332GetErrorInfo ( TPS650332CustomErrInfo *const  customErrInfo)
pure virtual

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.
(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::IMX623_CustomInterface::TPS650332GetnINTErrorStatus ( bool *const  hasError)
pure virtual

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.
(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::IMX623_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::IMX623_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::IMX623_CustomInterface::WriteTempHistToEEPROM ( uint32_t const  length,
uint8_t const *const  buffer 
)
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: