NVIDIA DRIVE OS Linux SDK API Reference

6.0.3 Release
devblk_cdi.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2015-2022, NVIDIA CORPORATION. All rights reserved. All
3  * information contained herein is proprietary and confidential to NVIDIA
4  * Corporation. Any use, reproduction, or disclosure without the written
5  * permission of NVIDIA Corporation is prohibited.
6  */
7 
15 #ifndef DEVBLK_CDI_H
16 #define DEVBLK_CDI_H
17 
18 #include "nvmedia_core.h"
19 #include "NvSIPLCapStructs.h"
20 #include "NvSIPLCDICommon.h"
21 
22 #ifndef __cplusplus
23 #include <stdbool.h>
24 #endif
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
55 #define DEVBLK_CDI_SIMULATOR_ADDRESS 0xFF1U
56 
57 #define RDEV_CFG_I2C_BITS 8
58 
59 #define RDEV_CFG_CSI_BITS (RDEV_CFG_I2C_BITS + 8)
60 
61 #define RDEV_CFG_SLV_BIT (RDEV_CFG_CSI_BITS + 1)
62 
68 #define CDI_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << (uint32_t)RDEV_CFG_I2C_BITS) | (i2c))
69 
86 #define CDI_RDEV_CFG_EX(csi, i2c, disPwrCtrl) \
87  ((i2c & 0xffU) | \
88  ((uint32_t)(csi & 0xffU) << (uint32_t)RDEV_CFG_I2C_BITS) | \
89  ((uint32_t)(disPwrCtrl & 1U) << (uint32_t)RDEV_CFG_SLV_BIT))
90 
98 #define CDI_SLV_RDEV_CFG(csi, i2c) \
99  ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1U) << RDEV_CFG_CSI_BITS))
100 
101 
103 
104 struct DevBlkCDIEmbeddedDataChunk;
105 
106 struct DevBlkCDIEmbeddedDataInfo;
107 
108 struct DevBlkCDISensorAttributes;
109 
110 #if !NV_IS_SAFETY
111 struct DevBlkCDIModuleConfig;
112 #endif
113  /* Ends Basic CDI Types group */
115 
119 typedef struct {
122 
138 typedef enum {
153 
157 #define DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS (8U)
158 
162 typedef struct {
169  uint32_t count;
171 
179 #define DEVBLK_CDI_GPIO_LEVEL_LOW (1U)
180 #define DEVBLK_CDI_GPIO_LEVEL_HIGH (2U)
181 
186 typedef enum {
212 
216 typedef void DevBlkCDIRootDevice;
217 
277 DevBlkCDIRootDeviceCreate(
278  uint32_t portCfg,
279  DevBlkCDIGPIOIndices gpios,
280  const bool useCDIv2API
281 );
283 
297 void
299 DevBlkCDIRootDeviceDestroy(
300  DevBlkCDIRootDevice *device
301 );
303 
333  DevBlkCDIRootDevice const *device,
334  uint32_t gpio_idx,
335  uint32_t *level
336 );
337 
367  DevBlkCDIRootDevice const *device,
368  uint32_t gpio_idx,
369  uint32_t level
370 );
371 
397  DevBlkCDIRootDevice const *device,
398  uint32_t gpio_idx
399 );
400 
444 DevBlkCDIRootDeviceWaitForError(
445  DevBlkCDIRootDevice const *device,
446  DevBlkCDIGPIOIndices *gpios
447 );
449 
476  DevBlkCDIRootDevice const *device,
477  uint32_t gpio_idx,
478  DevBlkCDIGpioEvent *event_code
479 );
480 
503 DevBlkCDIRootDeviceAbortWaitForError(
504  DevBlkCDIRootDevice const *device
505 );
507 
604 typedef struct {
606  const char *deviceName;
608  uint32_t regLength;
610  uint32_t dataLength;
611 
632  NvMediaStatus (* DriverCreate)(
633  DevBlkCDIDevice *handle,
634  void const* clientContext);
635 
651  NvMediaStatus (* DriverDestroy)(
652  DevBlkCDIDevice *handle);
653 
689  NvMediaStatus (* SetSensorControls)(
690  DevBlkCDIDevice const* handle,
691  const struct DevBlkCDISensorControl *sensorControl,
692  const size_t sensrCtrlStructSize);
693 
734  NvMediaStatus (* ParseEmbedDataInfo)(
735  DevBlkCDIDevice const* handle,
736  const struct DevBlkCDIEmbeddedDataChunk *embeddedTopDataChunk,
737  const struct DevBlkCDIEmbeddedDataChunk *embeddedBotDataChunk,
738  const size_t dataChunkStructSize,
739  struct DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
740  const size_t dataInfoStructSize);
741 
762  NvMediaStatus (* GetSensorAttributes)(
763  DevBlkCDIDevice const* handle,
764  struct DevBlkCDISensorAttributes *sensorAttr,
765  const size_t sensorAttrStructSize);
766 
767 #if !NV_IS_SAFETY
768 
769  NvMediaStatus (* GetModuleConfig)(
770  DevBlkCDIDevice *handle,
771  struct DevBlkCDIModuleConfig *moduleConfig);
772 
812  NvMediaStatus (* SetSensorCharMode)(
813  DevBlkCDIDevice *handle,
814  uint8_t expNo);
815 #endif
816 
824  NvMediaStatus (* ReadRegister)(
825  DevBlkCDIDevice const* handle,
826  uint32_t deviceIndex,
827  uint32_t registerNum,
828  uint32_t dataLength,
829  uint8_t *dataBuff);
830 
838  NvMediaStatus (* WriteRegister)(
839  DevBlkCDIDevice const* handle,
840  uint32_t deviceIndex,
841  uint32_t registerNum,
842  uint32_t dataLength,
843  uint8_t const* dataBuff);
844 
846 
861 typedef struct {
865 
908 DevBlkCDIDeviceCreate(
909  DevBlkCDIRootDevice *rootDevice,
910  uint32_t *deviceAddressList,
911  uint32_t numDevices,
912  DevBlkCDIDeviceDriver *deviceDriverParam,
913  DevBlkCDIAdvancedConfig const *advancedConfig,
914  uint8_t linkIndex,
915  NvSiplBool isDeserializer,
916  NvSiplBool useNativeI2CAddress,
917  NvSiplBool useCDIv2API
918 );
920 
935 void
937 DevBlkCDIDeviceDestroy(
938  DevBlkCDIDevice *device
939 );
941 
968  DevBlkCDIDevice const *device,
969  uint32_t deviceIndex,
970  uint32_t regLength,
971  uint8_t *regData,
972  uint32_t dataLength,
973  uint8_t *data
974 );
975 
1001  DevBlkCDIDevice const *device,
1002  uint32_t deviceIndex,
1003  uint32_t dataLength,
1004  const uint8_t *data
1005 );
1006 
1035  DevBlkCDIDevice *device,
1036  DevBlkCDISensorAttributes *sensorAttr,
1037  const size_t sensorAttrStructSize);
1038 
1055 typedef struct DevBlkCDISensorControl {
1066 
1070  DevBlkCDIExposure exposureControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS];
1071 
1075  DevBlkCDIWhiteBalance wbControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS];
1076 
1083  DevBlkCDIFrameReport frameReportControl;
1084 
1086 
1117  DevBlkCDIDevice *device,
1118  const DevBlkCDISensorControl *sensorControl,
1119  const size_t sensrCtrlStructSize
1120 );
1121 
1161  DevBlkCDIDevice *device,
1162  const DevBlkCDIEmbeddedDataChunk *embeddedTopDataChunk,
1163  const DevBlkCDIEmbeddedDataChunk *embeddedBotDataChunk,
1164  const size_t embeddedDataChunkStructSize,
1165  DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
1166  const size_t dataInfoStructSize);
1167 
1182  DevBlkCDIRootDevice const *device,
1183  uint8_t linkIndex,
1184  NvMediaBool enable);
1185 
1198  DevBlkCDIRootDevice const *device);
1199 
1212  DevBlkCDIDevice *device,
1213  uint8_t *desPwrMethod);
1214 
1227  DevBlkCDIDevice *device,
1228  uint8_t *camPwrMethod);
1229 
1232 #if !NV_IS_SAFETY
1233 
1237 typedef enum {
1249 
1254 typedef struct DevBlkCDIModuleConfig {
1261 
1267 typedef enum {
1277 
1284  struct {
1285  float_t value;
1289  struct {
1290  float_t value;
1291  NvSiplBool valid;
1293  uint8_t sensorFrameId;
1295 
1300 typedef struct DevBlkCDIWBGainControl {
1303  struct {
1304  float_t value[4];
1308 
1313 typedef struct {
1315  uint32_t baseRegAddress;
1317  uint32_t size;
1319  uint32_t bufferSize;
1321  uint8_t *data;
1323 
1328 typedef struct DevBlkCDIEmbeddedData {
1338 
1345 typedef enum {
1398 
1438  DevBlkCDIDevice *device,
1439  uint8_t expNo);
1440 
1459  DevBlkCDIDevice *device,
1460  DevBlkCDIModuleConfig *moduleConfig);
1461 
1462 #endif /* #if !NV_IS_SAFETY */
1463 
1466 #ifdef __cplusplus
1467 } /* extern "C" */
1468 #endif
1469 
1470 #endif /* DEVBLK_CDI_H */
DevBlkCDIEmbeddedDataBuffer::bufferSize
uint32_t bufferSize
Holds the buffer size.
Definition: devblk_cdi.h:1319
DevBlkCDIEmbeddedData::top
DevBlkCDIEmbeddedDataBuffer top
Definition: devblk_cdi.h:1329
DEVBLK_CDI_GPIO_EVENT_ERROR_BACKEND
@ DEVBLK_CDI_GPIO_EVENT_ERROR_BACKEND
An error occurred in backend code, potentially resulting in permanent loss of functionality.
Definition: devblk_cdi.h:205
DevBlkCDIEmbeddedData::exposureControl
DevBlkCDIExposureControl exposureControl
Holds parsed exposure control.
Definition: devblk_cdi.h:1332
DevBlkCDISensorControl
Holds the sensor control structure.
Definition: devblk_cdi.h:1055
DEVBLK_CDI_EXPOSURE_MODE_LONG
@ DEVBLK_CDI_EXPOSURE_MODE_LONG
Specifies long exposure mode.
Definition: devblk_cdi.h:1269
DEVBLK_CDI_EXPOSURE_MODE_SHORT
@ DEVBLK_CDI_EXPOSURE_MODE_SHORT
Specifies short exposure mode.
Definition: devblk_cdi.h:1271
DevBlkCDIEmbeddedData::frameSequenceNumber
uint32_t frameSequenceNumber
Holds parsed frame counter.
Definition: devblk_cdi.h:1336
DEVBLK_CDI_I2C_BUS_9
@ DEVBLK_CDI_I2C_BUS_9
Specifies i2c-9.
Definition: devblk_cdi.h:148
DEVBLK_CDI_PWR_LINK_3
@ DEVBLK_CDI_PWR_LINK_3
LINK 3 PWR.
Definition: devblk_cdi.h:1247
DevBlkCDIGetCamPowerControlMethod
NvMediaStatus DevBlkCDIGetCamPowerControlMethod(DevBlkCDIDevice *device, uint8_t *camPwrMethod)
Get the camera's power control method.
DEVBLK_CDI_SENSOR_ATTR_GAIN_MAX
@ DEVBLK_CDI_SENSOR_ATTR_GAIN_MAX
Specifies maximum possible gain values.
Definition: devblk_cdi.h:1357
DevBlkCDIDeviceDriver::regLength
uint32_t regLength
Holds the target device offset length in bytes.
Definition: devblk_cdi.h:608
DevBlkCDIExposureMode
DevBlkCDIExposureMode
Defines Exposure mode.
Definition: devblk_cdi.h:1267
DEVBLK_CDI_EXPOSURE_MODE_VERY_SHORT
@ DEVBLK_CDI_EXPOSURE_MODE_VERY_SHORT
Specifies very short exposure mode.
Definition: devblk_cdi.h:1273
DEVBLK_CDI_I2C_BUS_11
@ DEVBLK_CDI_I2C_BUS_11
Specifies i2c-11.
Definition: devblk_cdi.h:150
DevBlkCDIDeviceWrite
NvMediaStatus DevBlkCDIDeviceWrite(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t dataLength, const uint8_t *data)
Performs a write operation over I2C.
DevBlkCDIExposureControl::sensorFrameId
uint8_t sensorFrameId
Definition: devblk_cdi.h:1293
DEVBLK_CDI_I2C_BUS_10
@ DEVBLK_CDI_I2C_BUS_10
Specifies i2c-10.
Definition: devblk_cdi.h:149
DevBlkCDIRootDeviceSetGPIOPinLevel
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.
DevBlkCDIDeviceDriver
Holds device driver data.
Definition: devblk_cdi.h:604
DevBlkCDIWBGainControl::valid
NvSiplBool valid
Definition: devblk_cdi.h:1305
DevBlkCDIWBGainControl
struct DevBlkCDIWBGainControl DevBlkCDIWBGainControl
Holds the white balance control structure.
DEVBLK_CDI_SENSOR_ATTR_ET_FINE
@ DEVBLK_CDI_SENSOR_ATTR_ET_FINE
Specifies fine integration time values in seconds.
Definition: devblk_cdi.h:1369
DEVBLK_CDI_SENSOR_ATTR_ET_STEP
@ DEVBLK_CDI_SENSOR_ATTR_ET_STEP
Specifies exposure time step values in seconds.
Definition: devblk_cdi.h:1373
DevBlkCDIGPIOIndices
Structure to hold array of CDAC GPIO indices.
Definition: devblk_cdi.h:162
DevBlkCDIExposureControl::sensorGain
struct DevBlkCDIExposureControl::@13 sensorGain[DEVBLK_CDI_EXPOSURE_MODE_MAX]
Holds sensor gain for each exposure mode.
DevBlkCDIEmbeddedDataBuffer::baseRegAddress
uint32_t baseRegAddress
Holds the address of the first register.
Definition: devblk_cdi.h:1315
DevBlkCDISensorControl::numSensorContexts
uint8_t numSensorContexts
Holds the number of sensor contexts to activate.
Definition: devblk_cdi.h:1065
DevBlkCDISetSensorCharMode
NvMediaStatus DevBlkCDISetSensorCharMode(DevBlkCDIDevice *device, uint8_t expNo)
Set sensor in characterization mode.
DevBlkCDISensorControl::wbControl
DevBlkCDIWhiteBalance wbControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor white balance settings to set for each context.
Definition: devblk_cdi.h:1075
DevBlkCDIParseEmbedDataInfo
NvMediaStatus DevBlkCDIParseEmbedDataInfo(DevBlkCDIDevice *device, const DevBlkCDIEmbeddedDataChunk *embeddedTopDataChunk, const DevBlkCDIEmbeddedDataChunk *embeddedBotDataChunk, const size_t embeddedDataChunkStructSize, DevBlkCDIEmbeddedDataInfo *embeddedDataInfo, const size_t dataInfoStructSize)
Parses sensor embedded data info and provides sensor image settings information for the captured fram...
DevBlkCDIRootDeviceCheckAndClearIntr
NvMediaStatus DevBlkCDIRootDeviceCheckAndClearIntr(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...
DEVBLK_CDI_I2C_SIMULATOR
@ DEVBLK_CDI_I2C_SIMULATOR
Port SIMULATOR (20)
Definition: devblk_cdi.h:151
DevBlkCDIRootDeviceGetGPIOPinLevel
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
@ DEVBLK_CDI_I2C_BUS_7
Specifies i2c-7.
Definition: devblk_cdi.h:146
DEVBLK_CDI_GPIO_EVENT_INTR
@ DEVBLK_CDI_GPIO_EVENT_INTR
An interrupt has occurred.
Definition: devblk_cdi.h:190
DevBlkCDIAdvancedConfig
Holds the description of the target I2C device.
Definition: devblk_cdi.h:861
DevBlkCDIEmbeddedData
Holds the embedded data structure.
Definition: devblk_cdi.h:1328
DevBlkCDIExposureControl::value
float_t value
Definition: devblk_cdi.h:1285
DEVBLK_CDI_I2C_BUS_3
@ DEVBLK_CDI_I2C_BUS_3
Specifies i2c-3.
Definition: devblk_cdi.h:142
DEVBLK_CDI_GPIO_EVENT_ERROR_WAIT_CANCELLED
@ DEVBLK_CDI_GPIO_EVENT_ERROR_WAIT_CANCELLED
Waiting for an interrupt was unexpectedly cancelled, potentially resulting in permanent loss of funct...
Definition: devblk_cdi.h:195
DevBlkCDIEmbeddedData::bottom
DevBlkCDIEmbeddedDataBuffer bottom
Definition: devblk_cdi.h:1330
DevBlkCDISetCameraPower
NvMediaStatus DevBlkCDISetCameraPower(DevBlkCDIRootDevice const *device, uint8_t linkIndex, NvMediaBool enable)
Set the camera module power.
DevBlkCDIEmbeddedDataBuffer::size
uint32_t size
Holds the data size.
Definition: devblk_cdi.h:1317
DEVBLK_CDI_PWR_LINK_0
@ DEVBLK_CDI_PWR_LINK_0
LINK 0 Power.
Definition: devblk_cdi.h:1241
NvSIPLCapStructs.h
DEVBLK_CDI_GPIO_EVENT_ERROR_UNKNOWN
@ DEVBLK_CDI_GPIO_EVENT_ERROR_UNKNOWN
A generic error occurred, potentially resulting in permanent loss of functionality.
Definition: devblk_cdi.h:210
DevBlkCDIModuleConfig::cameraModuleConfigPass2
const char * cameraModuleConfigPass2
Definition: devblk_cdi.h:1259
DevBlkCDIWBGainControl::value
float_t value[4]
Definition: devblk_cdi.h:1304
DevBlkCDISensorAttrType
DevBlkCDISensorAttrType
CDI sensor attributes.
Definition: devblk_cdi.h:1345
DEVBLK_CDI_GPIO_EVENT_ERROR_CDAC
@ DEVBLK_CDI_GPIO_EVENT_ERROR_CDAC
An error occurred in CDAC code, potentially resulting in permanent loss of functionality.
Definition: devblk_cdi.h:200
DEVBLK_CDI_PWR_LINK_1
@ DEVBLK_CDI_PWR_LINK_1
LINK 1 PWR.
Definition: devblk_cdi.h:1243
DEVBLK_CDI_PWR_LINK_2
@ DEVBLK_CDI_PWR_LINK_2
LINK 2 PWR.
Definition: devblk_cdi.h:1245
DevBlkCDIEmbeddedDataBuffer
Holds the embedded data buffer structure.
Definition: devblk_cdi.h:1313
DevBlkCDIDeviceRead
NvMediaStatus DevBlkCDIDeviceRead(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t regLength, uint8_t *regData, uint32_t dataLength, uint8_t *data)
Performs a read operation over I2C.
DevBlkCDIGPIOIndices::count
uint32_t count
Number of items in indices in gpio_idxs.
Definition: devblk_cdi.h:169
DevBlkCDIEmbeddedDataBuffer::data
uint8_t * data
Holds the actual data.
Definition: devblk_cdi.h:1321
nvsipl::NvSiplBool
NvMediaBool NvSiplBool
Definition: NvSIPLCommon.hpp:59
DevBlkCDISensorControl::exposureControl
DevBlkCDIExposure exposureControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor exposure settings to set for each context.
Definition: devblk_cdi.h:1070
DevBlkCDIPowerItems
DevBlkCDIPowerItems
CDI Power control items.
Definition: devblk_cdi.h:1237
DEVBLK_CDI_SENSOR_ATTR_NUM_EXPOSURES
@ DEVBLK_CDI_SENSOR_ATTR_NUM_EXPOSURES
Specifies active number of exposures.
Definition: devblk_cdi.h:1396
DevBlkCDIGetSensorAttributes
NvMediaStatus DevBlkCDIGetSensorAttributes(DevBlkCDIDevice *device, DevBlkCDISensorAttributes *sensorAttr, const size_t sensorAttrStructSize)
Queries the sensor attributes.
DEVBLK_CDI_SENSOR_ATTR_ET_MAX
@ DEVBLK_CDI_SENSOR_ATTR_ET_MAX
Specifies maximum possible exposure time values in seconds.
Definition: devblk_cdi.h:1365
DevBlkCDIGpioEvent
DevBlkCDIGpioEvent
CDI codes for CDAC GPIO Interrupt Events.
Definition: devblk_cdi.h:186
DEVBLK_CDI_I2C_BUS_1
@ DEVBLK_CDI_I2C_BUS_1
Specifies i2c-1.
Definition: devblk_cdi.h:140
DEVBLK_CDI_SENSOR_ATTR_GAIN_FACTOR
@ DEVBLK_CDI_SENSOR_ATTR_GAIN_FACTOR
Specifies gain factor between the exposures.
Definition: devblk_cdi.h:1382
DEVBLK_CDI_I2C_BUS_5
@ DEVBLK_CDI_I2C_BUS_5
Specifies i2c-5.
Definition: devblk_cdi.h:144
DevBlkCDIModuleConfig::cameraModuleCfgName
char cameraModuleCfgName[128]
Holds the camera module name.
Definition: devblk_cdi.h:1256
DevBlkCDIModuleConfig
struct DevBlkCDIModuleConfig DevBlkCDIModuleConfig
Holds the CDI Module ISP configuration.
DevBlkCDIWBGainControl::wbGain
struct DevBlkCDIWBGainControl::@14 wbGain[DEVBLK_CDI_EXPOSURE_MODE_MAX]
Holds white balance for each exposure mode in R Gr Gb B order.
DevBlkCDIGetDesPowerControlMethod
NvMediaStatus DevBlkCDIGetDesPowerControlMethod(DevBlkCDIDevice *device, uint8_t *desPwrMethod)
Get the deserialzer's power control method.
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: tvmr/include/nvmedia_core.h:180
DEVBLK_CDI_I2C_BUS_0
@ DEVBLK_CDI_I2C_BUS_0
Specifies i2c-0.
Definition: devblk_cdi.h:139
DevBlkCDIExposureControl
Holds exposure control information.
Definition: devblk_cdi.h:1282
DevBlkCDIExposureControl
struct DevBlkCDIExposureControl DevBlkCDIExposureControl
Holds exposure control information.
DevBlkCDIExposureControl::valid
NvSiplBool valid
Definition: devblk_cdi.h:1286
DEVBLK_CDI_SENSOR_ATTR_FRAME_RATE
@ DEVBLK_CDI_SENSOR_ATTR_FRAME_RATE
Specifies frames per second.
Definition: devblk_cdi.h:1392
DevBlkCDIGetModuleConfig
NvMediaStatus DevBlkCDIGetModuleConfig(DevBlkCDIDevice *device, DevBlkCDIModuleConfig *moduleConfig)
Gets the Module ISP configuration.
DEVBLK_CDI_GPIO_EVENT_NOTHING
@ DEVBLK_CDI_GPIO_EVENT_NOTHING
There is no pending event.
Definition: devblk_cdi.h:188
DevBlkCDIEnableErrorReport
NvMediaStatus DevBlkCDIEnableErrorReport(DevBlkCDIRootDevice const *device)
Enable the error report.
DevBlkCDISetSensorControls
NvMediaStatus DevBlkCDISetSensorControls(DevBlkCDIDevice *device, const DevBlkCDISensorControl *sensorControl, const size_t sensrCtrlStructSize)
Sets sensor control parameters.
DevBlkCDIRootDeviceGetGpioIntrEvent
NvMediaStatus DevBlkCDIRootDeviceGetGpioIntrEvent(DevBlkCDIRootDevice const *device, uint32_t gpio_idx, DevBlkCDIGpioEvent *event_code)
Queries CDAC for the latest event code of a GPIO pin.
DevBlkCDIEmbeddedData
struct DevBlkCDIEmbeddedData DevBlkCDIEmbeddedData
Holds the embedded data structure.
DEVBLK_CDI_SENSOR_ATTR_GAIN_MIN
@ DEVBLK_CDI_SENSOR_ATTR_GAIN_MIN
Specifies minimum possible gain values.
Definition: devblk_cdi.h:1353
DEVBLK_CDI_I2C_BUS_8
@ DEVBLK_CDI_I2C_BUS_8
Specifies i2c-8.
Definition: devblk_cdi.h:147
DevBlkCDIExposureControl::exposureTime
struct DevBlkCDIExposureControl::@12 exposureTime[DEVBLK_CDI_EXPOSURE_MODE_MAX]
Holds exposure time for each exposure mode.
DEVBLK_CDI_SENSOR_ATTR_HDR_MAX
@ DEVBLK_CDI_SENSOR_ATTR_HDR_MAX
Specifies maximum possible HDR ratio value.
Definition: devblk_cdi.h:1377
DevBlkCDISensorControl
struct DevBlkCDISensorControl DevBlkCDISensorControl
Holds the sensor control structure.
DEVBLK_CDI_EXPOSURE_MODE_MAX
@ DEVBLK_CDI_EXPOSURE_MODE_MAX
Specifies the exposure mode count.
Definition: devblk_cdi.h:1275
DevBlkCDIRootDevice
void DevBlkCDIRootDevice
An opaque handle for an DevBlkCDIRootDevice object.
Definition: devblk_cdi.h:216
DevBlkCDI_I2CPort
DevBlkCDI_I2CPort
Defines the I2C buses on the host hardware device.
Definition: devblk_cdi.h:138
DevBlkCDIDevice
Holds the handle for an DevBlkCDIDevice object.
Definition: devblk_cdi.h:119
DevBlkCDIModuleConfig
Holds the CDI Module ISP configuration.
Definition: devblk_cdi.h:1254
DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS
#define DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS
The maximum number of GPIOs supported on a CDI Root Device.
Definition: devblk_cdi.h:157
DevBlkCDIModuleConfig::cameraModuleConfigPass1
const char * cameraModuleConfigPass1
Holds the camera-specific configuration string.
Definition: devblk_cdi.h:1258
DevBlkCDIDeviceDriver::deviceName
const char * deviceName
Holds the device name.
Definition: devblk_cdi.h:606
NvMediaBool
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: tvmr/include/nvmedia_core.h:80
DEVBLK_CDI_SENSOR_ATTR_FUSE_ID
@ DEVBLK_CDI_SENSOR_ATTR_FUSE_ID
Specifies a unique ID per instance of camera module.
Definition: devblk_cdi.h:1349
DEVBLK_CDI_I2C_BUS_4
@ DEVBLK_CDI_I2C_BUS_4
Specifies i2c-4.
Definition: devblk_cdi.h:143
DevBlkCDIEmbeddedData::wbControl
DevBlkCDIWBGainControl wbControl
Holds parsed WB gains in R Gr Gb B order.
Definition: devblk_cdi.h:1334
DevBlkCDIWBGainControl
Holds the white balance control structure.
Definition: devblk_cdi.h:1300
DevBlkCDIAdvancedConfig::clientContext
void * clientContext
Holds the client context.
Definition: devblk_cdi.h:863
DEVBLK_CDI_SENSOR_ATTR_QE_PIXEL_RATIO
@ DEVBLK_CDI_SENSOR_ATTR_QE_PIXEL_RATIO
Specifies sensitivity ratios for different exposures.
Definition: devblk_cdi.h:1388
DEVBLK_CDI_PWR_AGGREGATOR
@ DEVBLK_CDI_PWR_AGGREGATOR
Aggregator Power.
Definition: devblk_cdi.h:1239
DEVBLK_CDI_I2C_BUS_2
@ DEVBLK_CDI_I2C_BUS_2
Specifies i2c-2.
Definition: devblk_cdi.h:141
DevBlkCDIDevice::deviceDriverHandle
void * deviceDriverHandle
Definition: devblk_cdi.h:120
DEVBLK_CDI_SENSOR_ATTR_ET_MIN
@ DEVBLK_CDI_SENSOR_ATTR_ET_MIN
Specifies minimum possible exposure time values in seconds.
Definition: devblk_cdi.h:1361
DEVBLK_CDI_I2C_BUS_6
@ DEVBLK_CDI_I2C_BUS_6
Specifies i2c-6.
Definition: devblk_cdi.h:145
DevBlkCDISensorControl::frameReportControl
DevBlkCDIFrameReport frameReportControl
Holds the sensor frame report value to be programmed.
Definition: devblk_cdi.h:1083
DevBlkCDIDeviceDriver::dataLength
uint32_t dataLength
Holds the target device data length in bytes.
Definition: devblk_cdi.h:610