NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
devblk_cdi.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2014-2024 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 
20 #ifndef DEVBLK_CDI_H
21 #define DEVBLK_CDI_H
22 
23 #include "nvmedia_core.h"
24 #include "NvSIPLCapStructs.h"
25 #include "NvSIPLCDICommon.h"
26 
27 #ifndef __cplusplus
28 #include <stdbool.h>
29 #endif
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
60 #define DEVBLK_CDI_SIMULATOR_ADDRESS 0xFF1U
61 
62 #define RDEV_CFG_I2C_BITS 8U
63 
64 #define RDEV_CFG_CSI_BITS (RDEV_CFG_I2C_BITS + 8U)
65 
66 #define RDEV_CFG_SLV_BIT (RDEV_CFG_CSI_BITS + 1U)
67 
73 #define CDI_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << (uint32_t)RDEV_CFG_I2C_BITS) | (i2c))
74 
91 #define CDI_RDEV_CFG_EX(csi, i2c, disPwrCtrl) \
92  ((i2c & 0xffU) | \
93  ((uint32_t)(csi & 0xffU) << (uint32_t)RDEV_CFG_I2C_BITS) | \
94  ((uint32_t)(disPwrCtrl & 1U) << (uint32_t)RDEV_CFG_SLV_BIT))
95 
103 #define CDI_SLV_RDEV_CFG(csi, i2c) \
104  ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1U) << RDEV_CFG_CSI_BITS))
105 
106 
108 
110 
112 
114 
115 #if !NV_IS_SAFETY
116 struct DevBlkCDIModuleConfig;
117 #endif
118  /* Ends Basic CDI Types group */
120 
124 typedef struct {
128 
144 typedef enum {
164 
168 #define DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS (16U)
169 
173 #define MAX_POWER_LINKS_PER_BLOCK (4U)
174 
178 typedef struct {
180  uint8_t method;
184  uint8_t i2cAddr;
191 
195 typedef struct {
200  uint8_t *imageData;
206  uint64_t imageDataDMA;
211  uint32_t pitch;
218  uint32_t height;
226  uint8_t const *embDataTop;
231  uint32_t embSizeTop;
239  uint8_t const *embDataBottom;
244  uint32_t embSizeBottom;
246 
254 #define DEVBLK_CDI_GPIO_LEVEL_LOW (1U)
255 #define DEVBLK_CDI_GPIO_LEVEL_HIGH (2U)
256 
261 typedef enum {
282 
286 typedef struct {
291  struct {
296  uint32_t idx;
302  uint32_t timeout_ms;
313  uint32_t count;
315 
319 typedef void DevBlkCDIRootDevice;
320 
401 DevBlkCDIRootDeviceCreate(
402  uint32_t portCfg,
403  DevBlkCDIGPIOIndices gpios,
404  const bool useCDIv2API
405 );
407 
441 void
443 DevBlkCDIRootDeviceDestroy(
444  DevBlkCDIRootDevice *device
445 );
447 
491  DevBlkCDIRootDevice const *device,
492  uint32_t gpio_idx,
493  uint32_t *level
494 );
495 
542  DevBlkCDIRootDevice const *device,
543  uint32_t gpio_idx,
544  uint32_t expected_level
545 );
546 
596  DevBlkCDIDevice const *device,
597  uint32_t gpio_idx,
598  uint32_t expected_level,
599  uint32_t poll_count,
600  uint32_t poll_delay
601 );
602 
646  DevBlkCDIRootDevice const *device,
647  uint32_t gpio_idx,
648  uint32_t level
649 );
650 
690  DevBlkCDIRootDevice const *device,
691  uint32_t gpio_idx
692 );
693 
723 DevBlkCDIRootDeviceIsPulseErrorSupported(void);
725 
726 
764 DevBlkCDIRootDeviceWaitForPulseError(
765  DevBlkCDIRootDevice const *device);
767 
828 DevBlkCDIRootDeviceWaitForError(
829  DevBlkCDIRootDevice const *device,
830  DevBlkCDIGPIOIndices *gpios
831 );
833 
874 DevBlkCDIRootDeviceAbortWaitForError(
875  DevBlkCDIRootDevice const *device
876 );
878 
977 typedef struct {
979  const char *deviceName;
981  uint32_t regLength;
983  uint32_t dataLength;
984 
1020  NvMediaStatus (* DriverCreate)(
1022  void const* clientContext);
1023 
1056  NvMediaStatus (* DriverDestroy)(
1058 
1111  NvMediaStatus (* SetSensorControls)(
1112  DevBlkCDIDevice const* handle,
1113  const struct DevBlkCDISensorControl *sensorControl,
1114  const size_t sensrCtrlStructSize);
1115 
1168  NvMediaStatus (* ParseTopEmbDataInfo)(
1169  DevBlkCDIDevice const* handle,
1170  const struct DevBlkCDIEmbeddedDataChunk *topEmbDataChunk,
1171  const size_t topChunkStructSize,
1172  struct DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
1173  const size_t dataInfoStructSize);
1174 
1227  NvMediaStatus (* ParseBotEmbDataInfo)(
1228  DevBlkCDIDevice const* handle,
1229  const struct DevBlkCDIEmbeddedDataChunk *botEmbDataChunk,
1230  const size_t botChunkStructSize,
1231  struct DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
1232  const size_t dataInfoStructSize);
1233 
1271  NvMediaStatus (* GetSensorAttributes)(
1272  DevBlkCDIDevice const* handle,
1273  struct DevBlkCDISensorAttributes *sensorAttr,
1274  const size_t sensorAttrStructSize);
1275 
1276 #if !NV_IS_SAFETY
1277 
1300  NvMediaStatus (* GetModuleConfig)(
1302  struct DevBlkCDIModuleConfig *moduleConfig);
1303 
1363  NvMediaStatus (* SetSensorCharMode)(
1365  uint8_t expNo);
1366 #endif
1367 
1392  NvMediaStatus (* ReadRegister)(
1393  DevBlkCDIDevice const* handle,
1394  uint32_t deviceIndex,
1395  uint32_t registerNum,
1396  uint32_t dataLength,
1397  uint8_t *dataBuff);
1398 
1423  NvMediaStatus (* WriteRegister)(
1424  DevBlkCDIDevice const* handle,
1425  uint32_t deviceIndex,
1426  uint32_t registerNum,
1427  uint32_t dataLength,
1428  uint8_t const* dataBuff);
1429 
1430 
1474  NvMediaStatus (* AuthenticateImage)(
1475  DevBlkCDIDevice const * const handle,
1476  DevBlkImageDesc const * const imageDesc);
1477 
1479 
1494 typedef struct {
1498 
1565 DevBlkCDIDeviceCreate(
1566  DevBlkCDIRootDevice *rootDevice,
1567  uint32_t *deviceAddressList,
1568  uint32_t numDevices,
1569  DevBlkCDIDeviceDriver *deviceDriverParam,
1570  DevBlkCDIAdvancedConfig const *advancedConfig,
1571  uint8_t linkIndex,
1572  NvMediaBool isDeserializer,
1573  NvMediaBool useNativeI2CAddress,
1574  NvMediaBool useCDIv2API
1575 );
1577 
1611 void
1613 DevBlkCDIDeviceDestroy(
1614  DevBlkCDIDevice *device
1615 );
1617 
1618 #if !(NV_IS_SAFETY)
1619 
1659  DevBlkCDIDevice const *device,
1660  uint32_t deviceIndex,
1661  uint32_t regLength,
1662  uint8_t *regData,
1663  uint32_t dataLength,
1664  uint8_t *data
1665 );
1666 #endif
1667 
1668 #if !(NV_IS_SAFETY)
1669 
1708  DevBlkCDIDevice const *device,
1709  uint32_t deviceIndex,
1710  uint32_t dataLength,
1711  const uint8_t *data
1712 );
1713 #endif
1714 
1757  DevBlkCDIDevice *device,
1758  DevBlkCDISensorAttributes *sensorAttr,
1759  const size_t sensorAttrStructSize);
1760 
1777 typedef struct DevBlkCDISensorControl {
1788 
1793 
1798 
1806 
1812 
1859  DevBlkCDIDevice *device,
1860  const DevBlkCDISensorControl *sensorControl,
1861  const size_t sensrCtrlStructSize
1862 );
1863 
1914  DevBlkCDIDevice *device,
1915  const DevBlkCDIEmbeddedDataChunk *embeddedTopDataChunk,
1916  const size_t embeddedDataChunkStructSize,
1917  DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
1918  const size_t dataInfoStructSize);
1919 
1970  DevBlkCDIDevice *device,
1971  const DevBlkCDIEmbeddedDataChunk *embeddedBotDataChunk,
1972  const size_t embeddedDataChunkStructSize,
1973  DevBlkCDIEmbeddedDataInfo *embeddedDataInfo,
1974  const size_t dataInfoStructSize);
1975 
2011  DevBlkCDIDevice *device,
2012  NvMediaBool enable);
2013 
2047  DevBlkCDIRootDevice const *device);
2048 
2084  DevBlkCDIDevice *device,
2085  DevBlkCDIPowerControlInfo *desPwrControlInfo);
2086 
2122  DevBlkCDIDevice *device,
2123  DevBlkCDIPowerControlInfo *camPwrControlInfo);
2124 
2167  DevBlkCDIDevice *device,
2168  uint8_t address,
2169  bool useNativeI2C,
2170  uint32_t *reservedI2CAddr);
2171 
2207  DevBlkCDIDevice *device,
2208  uint32_t fsyncMuxSel,
2209  uint32_t camGrpIdx);
2210 
2258  DevBlkCDIDevice const * const device,
2259  DevBlkImageDesc const * const imageDesc);
2260 
2263 #if !NV_IS_SAFETY
2264 
2268 typedef enum {
2280 
2285 typedef struct DevBlkCDIModuleConfig {
2292 
2347  DevBlkCDIDevice *device,
2348  uint8_t expNo);
2349 
2384  DevBlkCDIDevice *device,
2385  DevBlkCDIModuleConfig *moduleConfig);
2386 
2387 #endif /* #if !NV_IS_SAFETY */
2388 
2391 #ifdef __cplusplus
2392 } /* extern "C" */
2393 #endif
2394 
2395 #endif /* DEVBLK_CDI_H */
DEVBLK_CDI_I2C_BUS_14
@ DEVBLK_CDI_I2C_BUS_14
Specifies i2c-14.
Definition: devblk_cdi.h:159
DevBlkCDIPowerControlInfo::method
uint8_t method
Power control method.
Definition: devblk_cdi.h:180
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:275
DevBlkCDISensorControl
Holds the sensor control structure.
Definition: devblk_cdi.h:1777
DEVBLK_CDI_I2C_BUS_9
@ DEVBLK_CDI_I2C_BUS_9
Specifies i2c-9.
Definition: devblk_cdi.h:154
DEVBLK_CDI_PWR_LINK_3
@ DEVBLK_CDI_PWR_LINK_3
LINK 3 PWR.
Definition: devblk_cdi.h:2278
DevBlkCDIDeviceDriver::regLength
uint32_t regLength
Holds the target device offset length in bytes.
Definition: devblk_cdi.h:981
DevBlkCDISetFsyncMux
NvMediaStatus DevBlkCDISetFsyncMux(DevBlkCDIDevice *device, uint32_t fsyncMuxSel, uint32_t camGrpIdx)
Set multiplexer to select the FSYNC source.
DEVBLK_CDI_I2C_BUS_11
@ DEVBLK_CDI_I2C_BUS_11
Specifies i2c-11.
Definition: devblk_cdi.h:156
DevBlkCDIDeviceWrite
NvMediaStatus DevBlkCDIDeviceWrite(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t dataLength, const uint8_t *data)
Performs a write operation over I2C.
DevBlkCDIGPIOIndices::timeout_ms
uint32_t timeout_ms
Error localization timeout duration [ms], 0 to disable.
Definition: devblk_cdi.h:302
DEVBLK_CDI_I2C_BUS_10
@ DEVBLK_CDI_I2C_BUS_10
Specifies i2c-10.
Definition: devblk_cdi.h:155
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:977
DevBlkImageDesc::embDataBottom
const uint8_t * embDataBottom
Pointer to start of a bottom embedded data, if enabled on a sensor.
Definition: devblk_cdi.h:239
DevBlkCDIEmbeddedDataChunk
Holds the sensor embedded data chunk structure.
Definition: NvSIPLCDICommon.h:233
DevBlkCDIGPIOIndices
Structure to hold array of CAMGPIO indices.
Definition: devblk_cdi.h:286
DevBlkCDIParseTopEmbDataInfo
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 ...
DevBlkCDISensorControl::numSensorContexts
uint8_t numSensorContexts
Holds the number of sensor contexts to activate.
Definition: devblk_cdi.h:1787
DevBlkCDISetSensorCharMode
NvMediaStatus DevBlkCDISetSensorCharMode(DevBlkCDIDevice *device, uint8_t expNo)
Set sensor in characterization mode.
NvMediaStatus
NvMediaStatus
Defines all possible error codes.
Definition: nvmedia_core.h:108
DevBlkCDISensorControl::wbControl
DevBlkCDIWhiteBalance wbControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor white balance settings to set for each context.
Definition: devblk_cdi.h:1797
DEVBLK_CDI_I2C_BUS_16
@ DEVBLK_CDI_I2C_BUS_16
Specifies i2c-16.
Definition: devblk_cdi.h:161
DevBlkImageDesc::height
uint32_t height
Total height of an image, including top and/or bottom embedded data (if embedded data is put into the...
Definition: devblk_cdi.h:218
DEVBLK_CDI_I2C_SIMULATOR
@ DEVBLK_CDI_I2C_SIMULATOR
Port SIMULATOR (20)
Definition: devblk_cdi.h:162
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:152
DEVBLK_CDI_GPIO_EVENT_INTR
@ DEVBLK_CDI_GPIO_EVENT_INTR
An interrupt has occurred.
Definition: devblk_cdi.h:263
DevBlkCDIGetDesPowerControlInfo
NvMediaStatus DevBlkCDIGetDesPowerControlInfo(DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *desPwrControlInfo)
Get the deserialzer's power control information.
handle
const WFDCommitType const WFDHandle handle
Definition: wfdext.h:124
DevBlkCDIAdvancedConfig
Holds the description of the target I2C device.
Definition: devblk_cdi.h:1494
DEVBLK_CDI_MAX_SENSOR_CONTEXTS
#define DEVBLK_CDI_MAX_SENSOR_CONTEXTS
Maximum number of sensor contexts.
Definition: NvSIPLCDICommon.h:61
DEVBLK_CDI_I2C_BUS_3
@ DEVBLK_CDI_I2C_BUS_3
Specifies i2c-3.
Definition: devblk_cdi.h:148
DevBlkCDIFrameReport
Holds the sensor report frame report structure.
Definition: NvSIPLCDICommon.h:367
DevBlkCDIParseBotEmbDataInfo
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
@ DEVBLK_CDI_I2C_BUS_12
Specifies i2c-12.
Definition: devblk_cdi.h:157
DEVBLK_CDI_PWR_LINK_0
@ DEVBLK_CDI_PWR_LINK_0
LINK 0 Power.
Definition: devblk_cdi.h:2272
NvSIPLCapStructs.h
DEVBLK_CDI_GPIO_EVENT_INTR_TIMEOUT
@ DEVBLK_CDI_GPIO_EVENT_INTR_TIMEOUT
An interrupt timeout period has elapsed.
Definition: devblk_cdi.h:265
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:280
DevBlkCDIModuleConfig::cameraModuleConfigPass2
const char * cameraModuleConfigPass2
Definition: devblk_cdi.h:2290
DevBlkImageDesc::imageData
uint8_t * imageData
A CPU pointer to an image buffer.
Definition: devblk_cdi.h:200
DevBlkCDIGetCamPowerControlInfo
NvMediaStatus DevBlkCDIGetCamPowerControlInfo(DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *camPwrControlInfo)
Get the camera's power control information.
DEVBLK_CDI_PWR_LINK_1
@ DEVBLK_CDI_PWR_LINK_1
LINK 1 PWR.
Definition: devblk_cdi.h:2274
DEVBLK_CDI_PWR_LINK_2
@ DEVBLK_CDI_PWR_LINK_2
LINK 2 PWR.
Definition: devblk_cdi.h:2276
DevBlkCDIDeviceRead
NvMediaStatus DevBlkCDIDeviceRead(DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t regLength, uint8_t *regData, uint32_t dataLength, uint8_t *data)
Usage considerations
DevBlkCDIDevice::deviceHandle
void * deviceHandle
Definition: devblk_cdi.h:125
NvSIPLCDICommon.h
DevBlkCDISetDeserPower
NvMediaStatus DevBlkCDISetDeserPower(DevBlkCDIDevice *device, NvMediaBool enable)
Set the deserializer module power.
DevBlkCDIWhiteBalance
Holds the sensor white balance gain structure.
Definition: NvSIPLCDICommon.h:306
DevBlkCDIGPIOIndices::count
uint32_t count
Number of items in indices in pins.
Definition: devblk_cdi.h:313
DevBlkCDISensorControl::exposureControl
DevBlkCDIExposure exposureControl[DEVBLK_CDI_MAX_SENSOR_CONTEXTS]
Holds the sensor exposure settings to set for each context.
Definition: devblk_cdi.h:1792
DEVBLK_CDI_GPIO_EVENT_ERROR_CAMGPIO
@ DEVBLK_CDI_GPIO_EVENT_ERROR_CAMGPIO
An error occurred in CAMGPIO code, potentially resulting in permanent loss of functionality.
Definition: devblk_cdi.h:270
DevBlkCDIPowerItems
DevBlkCDIPowerItems
CDI Power control items.
Definition: devblk_cdi.h:2268
DevBlkCDIGetSensorAttributes
NvMediaStatus DevBlkCDIGetSensorAttributes(DevBlkCDIDevice *device, DevBlkCDISensorAttributes *sensorAttr, const size_t sensorAttrStructSize)
Queries the sensor attributes.
nvmedia_core.h
NVIDIA Media Interface: Core
DevBlkCDIGpioEvent
DevBlkCDIGpioEvent
CDI codes for CAMGPIO Interrupt Events.
Definition: devblk_cdi.h:261
MAX_POWER_LINKS_PER_BLOCK
#define MAX_POWER_LINKS_PER_BLOCK
The maximum number of power links per device block.
Definition: devblk_cdi.h:173
DEVBLK_CDI_I2C_BUS_1
@ DEVBLK_CDI_I2C_BUS_1
Specifies i2c-1.
Definition: devblk_cdi.h:146
DEVBLK_CDI_I2C_BUS_15
@ DEVBLK_CDI_I2C_BUS_15
Specifies i2c-15.
Definition: devblk_cdi.h:160
DEVBLK_CDI_I2C_BUS_5
@ DEVBLK_CDI_I2C_BUS_5
Specifies i2c-5.
Definition: devblk_cdi.h:150
DevBlkCDIModuleConfig::cameraModuleCfgName
char cameraModuleCfgName[128]
Holds the camera module name.
Definition: devblk_cdi.h:2287
DevBlkCDIModuleConfig
struct DevBlkCDIModuleConfig DevBlkCDIModuleConfig
Holds the CDI Module ISP configuration.
DevBlkCDIIllumination
Holds the sensor illumination control structure.
Definition: NvSIPLCDICommon.h:327
DevBlkCDIPowerControlInfo::i2cAddr
uint8_t i2cAddr
Power controller i2c slave address.
Definition: devblk_cdi.h:184
DEVBLK_CDI_I2C_BUS_0
@ DEVBLK_CDI_I2C_BUS_0
Specifies i2c-0.
Definition: devblk_cdi.h:145
DevBlkImageDesc
Structure to describe a RAW image buffer.
Definition: devblk_cdi.h:195
DevBlkImageDesc::embSizeBottom
uint32_t embSizeBottom
Size of a bottom embedded data in bytes, if enabled.
Definition: devblk_cdi.h:244
DevBlkCDIRootDeviceCheckGPIOPinLevel
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 ...
DevBlkCDIPowerControlInfo
Structure to hold power control information.
Definition: devblk_cdi.h:178
DevBlkCDIGetModuleConfig
NvMediaStatus DevBlkCDIGetModuleConfig(DevBlkCDIDevice *device, DevBlkCDIModuleConfig *moduleConfig)
Gets the Module ISP configuration.
DEVBLK_CDI_I2C_BUS_13
@ DEVBLK_CDI_I2C_BUS_13
Specifies i2c-13.
Definition: devblk_cdi.h:158
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.
DevBlkImageDesc::pitch
uint32_t pitch
Length of a single line of an image (with any padding), in bytes.
Definition: devblk_cdi.h:211
DevBlkCDISensorAttributes
Holds the sensor attributes.
Definition: NvSIPLCDICommon.h:116
DevBlkCDIRootDeviceCheckIntrPin
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...
DevBlkImageDesc::embDataTop
const uint8_t * embDataTop
Pointer to start of a top embedded data, if enabled on a sensor.
Definition: devblk_cdi.h:226
DevBlkCDIGPIOIndices::evt
DevBlkCDIGpioEvent evt
CAMGPIO index @anon_struct_member.
Definition: devblk_cdi.h:307
DevBlkCDISensorControl::illuminationControl
DevBlkCDIIllumination illuminationControl
Holds the illumination info for the captured frame.
Definition: devblk_cdi.h:1810
DEVBLK_CDI_I2C_BUS_8
@ DEVBLK_CDI_I2C_BUS_8
Specifies i2c-8.
Definition: devblk_cdi.h:153
DevBlkCDIExposure
Holds sensor exposure information.
Definition: NvSIPLCDICommon.h:256
DevBlkImageDesc::imageDataDMA
uint64_t imageDataDMA
An image buffer address which can be used for direct crypto HW access.
Definition: devblk_cdi.h:206
DevBlkCDISensorControl
struct DevBlkCDISensorControl DevBlkCDISensorControl
Holds the sensor control structure.
DevBlkCDIRootDevice
void DevBlkCDIRootDevice
An opaque handle for an DevBlkCDIRootDevice object.
Definition: devblk_cdi.h:319
DevBlkCDI_I2CPort
DevBlkCDI_I2CPort
Defines the I2C buses on the host hardware device.
Definition: devblk_cdi.h:144
DevBlkCDIDevice
Holds the handles for an DevBlkCDIDevice object.
Definition: devblk_cdi.h:124
DevBlkCDIModuleConfig
Holds the CDI Module ISP configuration.
Definition: devblk_cdi.h:2285
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:168
DevBlkCDIModuleConfig::cameraModuleConfigPass1
const char * cameraModuleConfigPass1
Holds the camera-specific configuration string.
Definition: devblk_cdi.h:2289
DevBlkCDIDeviceDriver::deviceName
const char * deviceName
Holds the device name.
Definition: devblk_cdi.h:979
DevBlkCDIReserveI2CAddr
NvMediaStatus DevBlkCDIReserveI2CAddr(DevBlkCDIDevice *device, uint8_t address, bool useNativeI2C, uint32_t *reservedI2CAddr)
Reserve device I2C address.
DEVBLK_CDI_I2C_BUS_4
@ DEVBLK_CDI_I2C_BUS_4
Specifies i2c-4.
Definition: devblk_cdi.h:149
DevBlkImageDesc::embSizeTop
uint32_t embSizeTop
Size of a top embedded data in bytes, if enabled.
Definition: devblk_cdi.h:231
DevBlkCDIAdvancedConfig::clientContext
void * clientContext
Holds the client context.
Definition: devblk_cdi.h:1496
DEVBLK_CDI_PWR_AGGREGATOR
@ DEVBLK_CDI_PWR_AGGREGATOR
Aggregator Power.
Definition: devblk_cdi.h:2270
NvMediaBool
uint32_t NvMediaBool
A boolean value, holding NVMEDIA_TRUE or NVMEDIA_FALSE.
Definition: nvmedia_core.h:76
DevBlkCDIAuthenticateImage
NvMediaStatus DevBlkCDIAuthenticateImage(DevBlkCDIDevice const *const device, DevBlkImageDesc const *const imageDesc)
Authenticate an image data passed in a parameters.
DevBlkCDIEmbeddedDataInfo
Holds the sensor embedded data parsed info structure.
Definition: NvSIPLCDICommon.h:460
DEVBLK_CDI_I2C_BUS_2
@ DEVBLK_CDI_I2C_BUS_2
Specifies i2c-2.
Definition: devblk_cdi.h:147
DevBlkCDIDevice::deviceDriverHandle
void * deviceDriverHandle
Definition: devblk_cdi.h:126
DevBlkCDIGPIOIndices::idx
uint32_t idx
CAMGPIO index.
Definition: devblk_cdi.h:296
DEVBLK_CDI_I2C_BUS_6
@ DEVBLK_CDI_I2C_BUS_6
Specifies i2c-6.
Definition: devblk_cdi.h:151
DevBlkCDISensorControl::frameReportControl
DevBlkCDIFrameReport frameReportControl
Holds the sensor frame report value to be programmed.
Definition: devblk_cdi.h:1805
DevBlkCDIRootDevicePollGPIOPinLevel
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...
DevBlkCDIDeviceDriver::dataLength
uint32_t dataLength
Holds the target device data length in bytes.
Definition: devblk_cdi.h:983