|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
60 #define DEVBLK_CDI_SIMULATOR_ADDRESS 0xFF1U
62 #define RDEV_CFG_I2C_BITS 8U
64 #define RDEV_CFG_CSI_BITS (RDEV_CFG_I2C_BITS + 8U)
66 #define RDEV_CFG_SLV_BIT (RDEV_CFG_CSI_BITS + 1U)
73 #define CDI_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << (uint32_t)RDEV_CFG_I2C_BITS) | (i2c))
91 #define CDI_RDEV_CFG_EX(csi, i2c, disPwrCtrl) \
93 ((uint32_t)(csi & 0xffU) << (uint32_t)RDEV_CFG_I2C_BITS) | \
94 ((uint32_t)(disPwrCtrl & 1U) << (uint32_t)RDEV_CFG_SLV_BIT))
103 #define CDI_SLV_RDEV_CFG(csi, i2c) \
104 ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1U) << RDEV_CFG_CSI_BITS))
168 #define DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS (16U)
173 #define MAX_POWER_LINKS_PER_BLOCK (4U)
254 #define DEVBLK_CDI_GPIO_LEVEL_LOW (1U)
255 #define DEVBLK_CDI_GPIO_LEVEL_HIGH (2U)
401 DevBlkCDIRootDeviceCreate(
404 const bool useCDIv2API
443 DevBlkCDIRootDeviceDestroy(
544 uint32_t expected_level
598 uint32_t expected_level,
723 DevBlkCDIRootDeviceIsPulseErrorSupported(
void);
764 DevBlkCDIRootDeviceWaitForPulseError(
828 DevBlkCDIRootDeviceWaitForError(
874 DevBlkCDIRootDeviceAbortWaitForError(
1022 void const* clientContext);
1114 const size_t sensrCtrlStructSize);
1171 const size_t topChunkStructSize,
1173 const size_t dataInfoStructSize);
1230 const size_t botChunkStructSize,
1232 const size_t dataInfoStructSize);
1274 const size_t sensorAttrStructSize);
1394 uint32_t deviceIndex,
1395 uint32_t registerNum,
1396 uint32_t dataLength,
1425 uint32_t deviceIndex,
1426 uint32_t registerNum,
1427 uint32_t dataLength,
1428 uint8_t
const* dataBuff);
1565 DevBlkCDIDeviceCreate(
1567 uint32_t *deviceAddressList,
1568 uint32_t numDevices,
1613 DevBlkCDIDeviceDestroy(
1660 uint32_t deviceIndex,
1663 uint32_t dataLength,
1709 uint32_t deviceIndex,
1710 uint32_t dataLength,
1759 const size_t sensorAttrStructSize);
1861 const size_t sensrCtrlStructSize
1916 const size_t embeddedDataChunkStructSize,
1918 const size_t dataInfoStructSize);
1972 const size_t embeddedDataChunkStructSize,
1974 const size_t dataInfoStructSize);
2170 uint32_t *reservedI2CAddr);
2208 uint32_t fsyncMuxSel,
2209 uint32_t camGrpIdx);
@ DEVBLK_CDI_I2C_BUS_14
Specifies i2c-14.
uint8_t method
Power control method.
@ DEVBLK_CDI_GPIO_EVENT_ERROR_BACKEND
An error occurred in backend code, potentially resulting in permanent loss of functionality.
Holds the sensor control structure.
@ DEVBLK_CDI_I2C_BUS_9
Specifies i2c-9.
@ DEVBLK_CDI_PWR_LINK_3
LINK 3 PWR.
uint32_t regLength
Holds the target device offset length in bytes.
NvMediaStatus DevBlkCDISetFsyncMux(DevBlkCDIDevice *device, uint32_t fsyncMuxSel, uint32_t camGrpIdx)
Set multiplexer to select the FSYNC source.
@ DEVBLK_CDI_I2C_BUS_11
Specifies i2c-11.
NvMediaStatus DevBlkCDIDeviceWrite(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t dataLength, const uint8_t *data)
Performs a write operation over I2C.
uint32_t timeout_ms
Error localization timeout duration [ms], 0 to disable.
@ DEVBLK_CDI_I2C_BUS_10
Specifies i2c-10.
NvMediaStatus DevBlkCDIRootDeviceSetGPIOPinLevel(DevBlkCDIRootDevice const *device, uint32_t gpio_idx, uint32_t level)
Sets the logic level of Tegra GPIO output pin associated with this root device.
Holds device driver data.
const uint8_t * embDataBottom
Pointer to start of a bottom embedded data, if enabled on a sensor.
Holds the sensor embedded data chunk structure.
Structure to hold array of CAMGPIO indices.
NvMediaStatus DevBlkCDIParseTopEmbDataInfo(DevBlkCDIDevice *device, const DevBlkCDIEmbeddedDataChunk *embeddedTopDataChunk, const size_t embeddedDataChunkStructSize, DevBlkCDIEmbeddedDataInfo *embeddedDataInfo, const size_t dataInfoStructSize)
Parses top sensor embedded data info and provides sensor image settings information for the captured ...
uint8_t numSensorContexts
Holds the number of sensor contexts to activate.
NvMediaStatus DevBlkCDISetSensorCharMode(DevBlkCDIDevice *device, uint8_t expNo)
Set sensor in characterization mode.
NvMediaStatus
Defines all possible error codes.
DevBlkCDIWhiteBalance wbControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor white balance settings to set for each context.
@ DEVBLK_CDI_I2C_BUS_16
Specifies i2c-16.
uint32_t height
Total height of an image, including top and/or bottom embedded data (if embedded data is put into the...
@ DEVBLK_CDI_I2C_SIMULATOR
Port SIMULATOR (20)
NvMediaStatus DevBlkCDIRootDeviceGetGPIOPinLevel(DevBlkCDIRootDevice const *device, uint32_t gpio_idx, uint32_t *level)
Queries the logic level of a Tegra GPIO input pin associated with the root device.
@ DEVBLK_CDI_I2C_BUS_7
Specifies i2c-7.
@ DEVBLK_CDI_GPIO_EVENT_INTR
An interrupt has occurred.
NvMediaStatus DevBlkCDIGetDesPowerControlInfo(DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *desPwrControlInfo)
Get the deserialzer's power control information.
const WFDCommitType const WFDHandle handle
Holds the description of the target I2C device.
#define DEVBLK_CDI_MAX_SENSOR_CONTEXTS
Maximum number of sensor contexts.
@ DEVBLK_CDI_I2C_BUS_3
Specifies i2c-3.
Holds the sensor report frame report structure.
NvMediaStatus DevBlkCDIParseBotEmbDataInfo(DevBlkCDIDevice *device, const DevBlkCDIEmbeddedDataChunk *embeddedBotDataChunk, const size_t embeddedDataChunkStructSize, DevBlkCDIEmbeddedDataInfo *embeddedDataInfo, const size_t dataInfoStructSize)
Parses Bottom sensor embedded data info and provides sensor image settings information for the captur...
@ DEVBLK_CDI_I2C_BUS_12
Specifies i2c-12.
@ DEVBLK_CDI_PWR_LINK_0
LINK 0 Power.
@ DEVBLK_CDI_GPIO_EVENT_INTR_TIMEOUT
An interrupt timeout period has elapsed.
@ DEVBLK_CDI_GPIO_EVENT_ERROR_UNKNOWN
A generic error occurred, potentially resulting in permanent loss of functionality.
const char * cameraModuleConfigPass2
uint8_t * imageData
A CPU pointer to an image buffer.
NvMediaStatus DevBlkCDIGetCamPowerControlInfo(DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *camPwrControlInfo)
Get the camera's power control information.
@ DEVBLK_CDI_PWR_LINK_1
LINK 1 PWR.
@ DEVBLK_CDI_PWR_LINK_2
LINK 2 PWR.
NvMediaStatus DevBlkCDIDeviceRead(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t regLength, uint8_t *regData, uint32_t dataLength, uint8_t *data)
Usage considerations
NvMediaStatus DevBlkCDISetDeserPower(DevBlkCDIDevice *device, NvMediaBool enable)
Set the deserializer module power.
Holds the sensor white balance gain structure.
uint32_t count
Number of items in indices in pins.
DevBlkCDIExposure exposureControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor exposure settings to set for each context.
@ DEVBLK_CDI_GPIO_EVENT_ERROR_CAMGPIO
An error occurred in CAMGPIO code, potentially resulting in permanent loss of functionality.
DevBlkCDIPowerItems
CDI Power control items.
NvMediaStatus DevBlkCDIGetSensorAttributes(DevBlkCDIDevice *device, DevBlkCDISensorAttributes *sensorAttr, const size_t sensorAttrStructSize)
Queries the sensor attributes.
DevBlkCDIGpioEvent
CDI codes for CAMGPIO Interrupt Events.
#define MAX_POWER_LINKS_PER_BLOCK
The maximum number of power links per device block.
@ DEVBLK_CDI_I2C_BUS_1
Specifies i2c-1.
@ DEVBLK_CDI_I2C_BUS_15
Specifies i2c-15.
@ DEVBLK_CDI_I2C_BUS_5
Specifies i2c-5.
char cameraModuleCfgName[128]
Holds the camera module name.
struct DevBlkCDIModuleConfig DevBlkCDIModuleConfig
Holds the CDI Module ISP configuration.
Holds the sensor illumination control structure.
uint8_t i2cAddr
Power controller i2c slave address.
@ DEVBLK_CDI_I2C_BUS_0
Specifies i2c-0.
Structure to describe a RAW image buffer.
uint32_t embSizeBottom
Size of a bottom embedded data in bytes, if enabled.
NvMediaStatus DevBlkCDIRootDeviceCheckGPIOPinLevel(DevBlkCDIRootDevice const *device, uint32_t gpio_idx, uint32_t expected_level)
Compares the logic level of a Tegra GPIO input pin associated with the root device with expected pin ...
Structure to hold power control information.
NvMediaStatus DevBlkCDIGetModuleConfig(DevBlkCDIDevice *device, DevBlkCDIModuleConfig *moduleConfig)
Gets the Module ISP configuration.
@ DEVBLK_CDI_I2C_BUS_13
Specifies i2c-13.
NvMediaStatus DevBlkCDIEnableErrorReport(DevBlkCDIRootDevice const *device)
Enable the error report.
NvMediaStatus DevBlkCDISetSensorControls(DevBlkCDIDevice *device, const DevBlkCDISensorControl *sensorControl, const size_t sensrCtrlStructSize)
Sets sensor control parameters.
uint32_t pitch
Length of a single line of an image (with any padding), in bytes.
Holds the sensor attributes.
NvMediaStatus DevBlkCDIRootDeviceCheckIntrPin(DevBlkCDIRootDevice const *device, uint32_t gpio_idx)
Verifies that the level of a GPIO pin configured as an interrupt is at the correct pre-transition lev...
const uint8_t * embDataTop
Pointer to start of a top embedded data, if enabled on a sensor.
DevBlkCDIGpioEvent evt
CAMGPIO index @anon_struct_member.
DevBlkCDIIllumination illuminationControl
Holds the illumination info for the captured frame.
@ DEVBLK_CDI_I2C_BUS_8
Specifies i2c-8.
Holds sensor exposure information.
uint64_t imageDataDMA
An image buffer address which can be used for direct crypto HW access.
struct DevBlkCDISensorControl DevBlkCDISensorControl
Holds the sensor control structure.
void DevBlkCDIRootDevice
An opaque handle for an DevBlkCDIRootDevice object.
DevBlkCDI_I2CPort
Defines the I2C buses on the host hardware device.
Holds the handles for an DevBlkCDIDevice object.
Holds the CDI Module ISP configuration.
#define DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS
The maximum number of GPIOs supported on a CDI Root Device.
const char * cameraModuleConfigPass1
Holds the camera-specific configuration string.
const char * deviceName
Holds the device name.
NvMediaStatus DevBlkCDIReserveI2CAddr(DevBlkCDIDevice *device, uint8_t address, bool useNativeI2C, uint32_t *reservedI2CAddr)
Reserve device I2C address.
@ DEVBLK_CDI_I2C_BUS_4
Specifies i2c-4.
uint32_t embSizeTop
Size of a top embedded data in bytes, if enabled.
void * clientContext
Holds the client context.
@ DEVBLK_CDI_PWR_AGGREGATOR
Aggregator Power.
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
NvMediaStatus DevBlkCDIAuthenticateImage(DevBlkCDIDevice const *const device, DevBlkImageDesc const *const imageDesc)
Authenticate an image data passed in a parameters.
Holds the sensor embedded data parsed info structure.
@ DEVBLK_CDI_I2C_BUS_2
Specifies i2c-2.
void * deviceDriverHandle
uint32_t idx
CAMGPIO index.
@ DEVBLK_CDI_I2C_BUS_6
Specifies i2c-6.
DevBlkCDIFrameReport frameReportControl
Holds the sensor frame report value to be programmed.
NvMediaStatus DevBlkCDIRootDevicePollGPIOPinLevel(DevBlkCDIDevice const *device, uint32_t gpio_idx, uint32_t expected_level, uint32_t poll_count, uint32_t poll_delay)
Poll the logic level of a Tegra GPIO input pin associated with the root device with expected pin leve...
uint32_t dataLength
Holds the target device data length in bytes.