NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
nvsipl::DeviceBlockInfo Struct Reference

Detailed Description

Defines the DeviceBlock information.

A DeviceBlock represents a grouping of a deserializer (which is connected to the SoC's CSI interface) and the camera modules connected to the links of the deserializer.

Definition at line 526 of file NvSIPLDeviceBlockInfo.hpp.

Collaboration diagram for nvsipl::DeviceBlockInfo:

Data Fields

NvSiplCapInterfaceType csiPort {NVSIPL_CAP_CSI_INTERFACE_TYPE_CSI_A}
 Holds the NvSiplCapInterfaceType that specifies the CSI port of the SoC to which the deserializer is connected. More...
 
NvSiplCapCsiPhyMode phyMode = NVSIPL_CAP_CSI_DPHY_MODE
 Holds the NvSiplCapCsiPhyMode Phy mode. More...
 
uint32_t i2cDevice {UINT32_MAX}
 Holds the I2C device bus number used to connect the deserializer with the SoC. More...
 
DeserInfo deserInfo
 Holds the DeserInfo deserializer information. More...
 
uint32_t numCameraModules {0U}
 Holds the number of camera modules connected to the deserializer. More...
 
CameraModuleInfo cameraModuleInfoList [MAX_CAMERAMODULES_PER_BLOCK]
 Holds an array of information about each camera module in the device block. More...
 
std::uint32_t desI2CPort {UINT32_MAX}
 Holds the deserializer I2C port number connected with the SoC. More...
 
std::uint32_t desTxPort {UINT32_MAX}
 Holds the deserializer Tx port number connected with the SoC. More...
 
std::uint32_t pwrPort = UINT32_MAX
 Holds the power port number. More...
 
std::uint32_t dphyRate [MAX_CSI_LANE_CONFIGURATION] = {0U}
 Holds the deserializer's data rate in DPHY mode(kHz) More...
 
std::uint32_t cphyRate [MAX_CSI_LANE_CONFIGURATION] = {0U}
 Holds the deserializer's data rate in CPHY mode(ksps) More...
 
bool isPassiveModeEnabled {false}
 Holds a flag which indicates whether passive mode must be enabled. More...
 
bool isGroupInitProg {false}
 Holds a flag which indicates whether group initialization is enabled. More...
 
std::vector< uint32_t > gpios {}
 Holds non-error monitoring GPIO indices for the Device Block. More...
 
bool isPwrCtrlDisabled {false}
 Holds a flag which indicates whether power control is disabled on the platform. More...
 
bool longCables [MAX_CAMERAMODULES_PER_BLOCK] = {false}
 Holds long cable support. More...
 
bool resetAll
 Reset all sequence is needed when starting deserializer. More...
 
std::string bootAcceleratorTag = ""
 Tag for the boot initialization sequence expected to have been executed by the camera boot accelerator. More...
 
bool bootAcceleratorUseStaggeredStart = {false}
 When the camera boot accelerator has been configured, begin streaming on camera modules one-by-one in the order they appear in the platform configuration. More...
 

Field Documentation

◆ bootAcceleratorTag

std::string nvsipl::DeviceBlockInfo::bootAcceleratorTag = ""

Tag for the boot initialization sequence expected to have been executed by the camera boot accelerator.

By default the boot accelerator tag is an empty string. This string must remain empty unless the camera boot accelerator has been configured for the desired use case and Device Block.

This property is only valid for QNX.

Definition at line 623 of file NvSIPLDeviceBlockInfo.hpp.

◆ bootAcceleratorUseStaggeredStart

bool nvsipl::DeviceBlockInfo::bootAcceleratorUseStaggeredStart = {false}

When the camera boot accelerator has been configured, begin streaming on camera modules one-by-one in the order they appear in the platform configuration.

By default this behavior is disabled - all camera modules will begin streaming at the same time.

This flag will not affect the behavior of the isGroupInitProg flag when initialization is being performed.

This flag has no effect if the bootAcceleratorTag is not set.

Definition at line 636 of file NvSIPLDeviceBlockInfo.hpp.

◆ cameraModuleInfoList

CameraModuleInfo nvsipl::DeviceBlockInfo::cameraModuleInfoList[MAX_CAMERAMODULES_PER_BLOCK]

Holds an array of information about each camera module in the device block.

Definition at line 554 of file NvSIPLDeviceBlockInfo.hpp.

◆ cphyRate

std::uint32_t nvsipl::DeviceBlockInfo::cphyRate[MAX_CSI_LANE_CONFIGURATION] = {0U}

Holds the deserializer's data rate in CPHY mode(ksps)

Valid value: [Array of size MAX_CSI_LANE_CONFIGURATION with individual CPHY data rates for each lane configuration ranging from 0 to UINT32_MAX kHz]

Definition at line 586 of file NvSIPLDeviceBlockInfo.hpp.

◆ csiPort

NvSiplCapInterfaceType nvsipl::DeviceBlockInfo::csiPort {NVSIPL_CAP_CSI_INTERFACE_TYPE_CSI_A}

Holds the NvSiplCapInterfaceType that specifies the CSI port of the SoC to which the deserializer is connected.

Definition at line 532 of file NvSIPLDeviceBlockInfo.hpp.

◆ deserInfo

DeserInfo nvsipl::DeviceBlockInfo::deserInfo

Holds the DeserInfo deserializer information.

Definition at line 546 of file NvSIPLDeviceBlockInfo.hpp.

◆ desI2CPort

std::uint32_t nvsipl::DeviceBlockInfo::desI2CPort {UINT32_MAX}

Holds the deserializer I2C port number connected with the SoC.

The I2C port number is implementation defined based on what the deserializer supports.

Definition at line 560 of file NvSIPLDeviceBlockInfo.hpp.

◆ desTxPort

std::uint32_t nvsipl::DeviceBlockInfo::desTxPort {UINT32_MAX}

Holds the deserializer Tx port number connected with the SoC.

The Tx port number is implementation defined based on the hardware topology.

Definition at line 566 of file NvSIPLDeviceBlockInfo.hpp.

◆ dphyRate

std::uint32_t nvsipl::DeviceBlockInfo::dphyRate[MAX_CSI_LANE_CONFIGURATION] = {0U}

Holds the deserializer's data rate in DPHY mode(kHz)

Valid value: [Array of size MAX_CSI_LANE_CONFIGURATION with individual DPHY data rates for each lane configuration ranging from 0 to UINT32_MAX kHz]

Definition at line 579 of file NvSIPLDeviceBlockInfo.hpp.

◆ gpios

std::vector<uint32_t> nvsipl::DeviceBlockInfo::gpios {}

Holds non-error monitoring GPIO indices for the Device Block.

GPIO indicies are defined in the platform's Device Block Device Tree configuration under the "tegra/gpios" subnode. Device Block base nodes are identified by a compatible equal to "nvidia,cdi-mgr".

Valid value: [GPIO indices from the platform's Device Block Device Tree configuration]

Definition at line 605 of file NvSIPLDeviceBlockInfo.hpp.

◆ i2cDevice

uint32_t nvsipl::DeviceBlockInfo::i2cDevice {UINT32_MAX}

Holds the I2C device bus number used to connect the deserializer with the SoC.

Valid I2C device bus numbers are defined in the platform's Device Block Device Tree configuration under the "tegra/i2c-bus" property. Device Block base nodes are identified by a compatible equal to "nvidia,cdi-mgr".

Valid value: [I2C device bus number from the platform's Device Block Device Tree configuration]

Definition at line 544 of file NvSIPLDeviceBlockInfo.hpp.

◆ isGroupInitProg

bool nvsipl::DeviceBlockInfo::isGroupInitProg {false}

Holds a flag which indicates whether group initialization is enabled.

Definition at line 595 of file NvSIPLDeviceBlockInfo.hpp.

◆ isPassiveModeEnabled

bool nvsipl::DeviceBlockInfo::isPassiveModeEnabled {false}

Holds a flag which indicates whether passive mode must be enabled.

Used when an NVIDIA DRIVE™ AGX SoC connected to the deserializer does not have an I2C connection to control it.

Definition at line 593 of file NvSIPLDeviceBlockInfo.hpp.

◆ isPwrCtrlDisabled

bool nvsipl::DeviceBlockInfo::isPwrCtrlDisabled {false}

Holds a flag which indicates whether power control is disabled on the platform.

Definition at line 608 of file NvSIPLDeviceBlockInfo.hpp.

◆ longCables

bool nvsipl::DeviceBlockInfo::longCables[MAX_CAMERAMODULES_PER_BLOCK] = {false}

Holds long cable support.

Definition at line 610 of file NvSIPLDeviceBlockInfo.hpp.

◆ numCameraModules

uint32_t nvsipl::DeviceBlockInfo::numCameraModules {0U}

Holds the number of camera modules connected to the deserializer.

Valid value: [1, MAX_CAMERAMODULES_PER_BLOCK]

Definition at line 552 of file NvSIPLDeviceBlockInfo.hpp.

◆ phyMode

NvSiplCapCsiPhyMode nvsipl::DeviceBlockInfo::phyMode = NVSIPL_CAP_CSI_DPHY_MODE

Holds the NvSiplCapCsiPhyMode Phy mode.

Definition at line 534 of file NvSIPLDeviceBlockInfo.hpp.

◆ pwrPort

std::uint32_t nvsipl::DeviceBlockInfo::pwrPort = UINT32_MAX

Holds the power port number.

The power port number is implementation defined based on the hardware topology.

Definition at line 572 of file NvSIPLDeviceBlockInfo.hpp.

◆ resetAll

bool nvsipl::DeviceBlockInfo::resetAll

Reset all sequence is needed when starting deserializer.

Definition at line 613 of file NvSIPLDeviceBlockInfo.hpp.


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