NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
IMX728_CustomInterface.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 #ifndef IMX728_CUSTOMINTERFACE_HPP
14 #define IMX728_CUSTOMINTERFACE_HPP
15 
17 #include "IMX728_CustomData.h"
18 #include "MAX96717F_CustomData.h"
19 #include "TPS650332_CustomData.h"
20 
21 #if !(NV_IS_SAFETY)
22 #include "BD868B2_CustomData.h"
23 #endif // !(NV_IS_SAFETY)
24 
33 namespace nvsipl {
34 
41 constexpr UUID IMX728_CUSTOM_INTERFACE_ID(0xBCE64356U, 0x1505U, 0x11EDU, 0x861DU,
42  0x02U, 0x42U, 0xACU, 0x12U, 0x00U, 0x02U);
43 
48 public:
49 
63  static const UUID& getClassInterfaceID() {
65  }
79  const UUID& getInstanceInterfaceID() const noexcept override {
81  }
82 
116  virtual SIPLStatus SetHeaterState(bool const setState) = 0;
117 
160  uint8_t const * const embeddedBufBot,
161  uint32_t const embeddedBufBotSize,
162  IMX728CustomEmbeddedData * const customEmbData) const = 0;
163 
202  MAX96717FVideoStatus *const customErrInfo) const = 0;
203 
240  virtual SIPLStatus PSCheckIsetComparator(uint8_t* const dataBuff) const = 0;
241 
288  uint8_t const dataBuff_size, uint16_t* const dataBuff) const = 0;
289 
320  virtual SIPLStatus VerifySerGPIOReadBackStatus(void) const = 0;
321 
333  virtual SIPLStatus BD868B2ExecuteFBIST(void) = 0;
334 
335 #if !(NV_IS_SAFETY)
336 
374  virtual SIPLStatus BD868B2GetErrorInfo(BD868B2CustomErrInfo *const customErrInfo) = 0;
375 
413  virtual SIPLStatus BD868B2GetWAROUTBErrorStatus(bool* const hasError) = 0;
414 #endif // !(NV_IS_SAFETY)
415 
450  virtual SIPLStatus TPS650332ExecuteABIST(bool* const hasError) noexcept = 0;
451 
489  virtual SIPLStatus TPS650332GetErrorInfo(TPS650332CustomErrInfo *const customErrInfo) noexcept = 0;
490 
527  virtual SIPLStatus TPS650332GetnINTErrorStatus(bool* const hasError) noexcept = 0;
528 
561  DevBlkCDITemperature *const sensorTempInfo) const = 0;
562 
597  DevBlkCDITemperature *const serTempInfo) const = 0;
598 
625  virtual SIPLStatus CameraModulePowerOff(void) = 0;
626 
662  virtual SIPLStatus ControlDeserLink(bool const enable) = 0;
663 
664 #if !(NV_IS_SAFETY)
665 
697  virtual SIPLStatus WriteEEPROMData(
698  uint16_t const address, uint32_t const length, uint8_t * const buffer) = 0;
699 #endif // !(NV_IS_SAFETY)
700 
733  uint32_t const length, uint8_t const * const buffer) const = 0;
734 
735 protected:
736 
738  IMX728_CustomInterface() = default;
739 
742 
745 
748 
751 
755  ~IMX728_CustomInterface() = default;
756 };
757 }
760 #endif //IMX728_CUSTOMINTERFACE_HPP
nvsipl::IMX728_CUSTOM_INTERFACE_ID
constexpr UUID IMX728_CUSTOM_INTERFACE_ID(0xBCE64356U, 0x1505U, 0x11EDU, 0x861DU, 0x02U, 0x42U, 0xACU, 0x12U, 0x00U, 0x02U)
This is version 4 UUID obtained using https://www.uuidgenerator.net/ It's unique to IMX728 custom int...
nvsipl::IMX728_CustomInterface::SetHeaterState
virtual SIPLStatus SetHeaterState(bool const setState)=0
Set heater on or off.
nvsipl::IMX728_CustomInterface::PSReadVoltageAndCurrentValues
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.
nvsipl::IMX728_CustomInterface::TPS650332ExecuteABIST
virtual SIPLStatus TPS650332ExecuteABIST(bool *const hasError) noexcept=0
Execute TPS650332 PMIC Analog Built In Self Test (ABIST) Runtime.
nvsipl::IMX728_CustomInterface::~IMX728_CustomInterface
~IMX728_CustomInterface()=default
Default destructor of class IMX728_CustomInterface.
nvsipl::IMX728_CustomInterface::getClassInterfaceID
static const UUID & getClassInterfaceID()
Get Sensor IMX728 class custom interface ID.
Definition: IMX728_CustomInterface.hpp:63
nvsipl::IMX728_CustomInterface::PSCheckIsetComparator
virtual SIPLStatus PSCheckIsetComparator(uint8_t *const dataBuff) const =0
Read ISET(Current-Limit Setting) value from Power Switch (PS) Status register.
INvSIPLDeviceInterfaceProvider.hpp
NVIDIA SIPL: Device Interface Provider Interface
nvsipl::IMX728_CustomInterface::BD868B2ExecuteFBIST
virtual SIPLStatus BD868B2ExecuteFBIST(void)=0
Execute BD868B2 PMIC FBIST Runtime.
IMX728CustomEmbeddedData
Describes the Custom Embedded Data needed by the application.
Definition: IMX728_CustomData.h:35
nvsipl::UUID
A universally unique identifier.
Definition: INvSIPLDeviceInterfaceProvider.hpp:28
IMX728_CustomData.h
nvsipl::IMX728_CustomInterface::GetSerializerVideoStatus
virtual SIPLStatus GetSerializerVideoStatus(MAX96717FVideoStatus *const customErrInfo) const =0
Get serializer's video status.
nvsipl::IMX728_CustomInterface::BD868B2GetWAROUTBErrorStatus
virtual SIPLStatus BD868B2GetWAROUTBErrorStatus(bool *const hasError)=0
Get fault status of WAROUTB pin of BD868B2 PMIC.
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:153
nvsipl::IMX728_CustomInterface::CameraModulePowerOff
virtual SIPLStatus CameraModulePowerOff(void)=0
To power off camera module.
nvsipl::IMX728_CustomInterface::ParseCustomEmbeddedData
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.
nvsipl::Interface
Top-level interface class implementable for a particular device.
Definition: INvSIPLDeviceInterfaceProvider.hpp:141
nvsipl::IMX728_CustomInterface::IMX728_CustomInterface
IMX728_CustomInterface()=default
Default Constructor of class IMX728_CustomInterface.
nvsipl::IMX728_CustomInterface::ControlDeserLink
virtual SIPLStatus ControlDeserLink(bool const enable)=0
Control deserializer link.
TPS650332_CustomData.h
nvsipl::IMX728_CustomInterface
The class of custom interfaces in Sensor IMX728.
Definition: IMX728_CustomInterface.hpp:47
DevBlkCDITemperature
Holds the sensor temperature structure.
Definition: NvSIPLCDICommon.h:343
nvsipl::IMX728_CustomInterface::VerifySerGPIOReadBackStatus
virtual SIPLStatus VerifySerGPIOReadBackStatus(void) const =0
Verify Serializer GPIO Readback Status.
nvsipl::IMX728_CustomInterface::operator=
IMX728_CustomInterface & operator=(IMX728_CustomInterface const &) &=delete
Prevent default copy assignment operator of class IMX728_CustomInterface.
nvsipl::IMX728_CustomInterface::WriteEEPROMData
virtual SIPLStatus WriteEEPROMData(uint16_t const address, uint32_t const length, uint8_t *const buffer)=0
Write to the EEPROM module.
nvsipl::IMX728_CustomInterface::BD868B2GetErrorInfo
virtual SIPLStatus BD868B2GetErrorInfo(BD868B2CustomErrInfo *const customErrInfo)=0
Get error info for BD868B2 PMIC.
TPS650332CustomErrInfo
Holds custom error type for TPS650332.
Definition: TPS650332_CustomData.h:108
nvsipl::IMX728_CustomInterface::TPS650332GetnINTErrorStatus
virtual SIPLStatus TPS650332GetnINTErrorStatus(bool *const hasError) noexcept=0
Get fault status of nINT pin of TPS650332 PMIC.
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: NvSIPLCamera.hpp:44
nvsipl::IMX728_CustomInterface::getInstanceInterfaceID
const UUID & getInstanceInterfaceID() const noexcept override
Get Sensor IMX728 instance custom interface ID.
Definition: IMX728_CustomInterface.hpp:79
nvsipl::IMX728_CustomInterface::GetSensorTemperature
virtual SIPLStatus GetSensorTemperature(DevBlkCDITemperature *const sensorTempInfo) const =0
Get Sensor temperature.
nvsipl::IMX728_CustomInterface::WriteTempHistToEEPROM
virtual SIPLStatus WriteTempHistToEEPROM(uint32_t const length, uint8_t const *const buffer) const =0
Write Temperature Histogram to the EEPROM module.
nvsipl::IMX728_CustomInterface::TPS650332GetErrorInfo
virtual SIPLStatus TPS650332GetErrorInfo(TPS650332CustomErrInfo *const customErrInfo) noexcept=0
Get error info for TPS650332 PMIC.
nvsipl::IMX728_CustomInterface::GetSerializerTemperature
virtual SIPLStatus GetSerializerTemperature(DevBlkCDITemperature *const serTempInfo) const =0
Get MAX96717F Serializer Temperature data.