NVIDIA Device Block Interface: Camera Device Interface (CDI)
This file contains the Camera Device Interface API.
Definition in file devblk_cdi.h.
Go to the source code of this file.
Data Structures | |
struct | DevBlkCDIDevice |
Holds the handles for an DevBlkCDIDevice object. More... | |
struct | DevBlkCDIPowerControlInfo |
Structure to hold power control information. More... | |
struct | DevBlkImageDesc |
Structure to describe a RAW image buffer. More... | |
struct | DevBlkCDIGPIOIndices |
Structure to hold array of CAMGPIO indices. More... | |
struct | DevBlkCDIDeviceDriver |
Holds device driver data. More... | |
struct | DevBlkCDIAdvancedConfig |
Holds the description of the target I2C device. More... | |
struct | DevBlkCDISensorControl |
Holds the sensor control structure. More... | |
struct | DevBlkCDIModuleConfig |
Holds the CDI Module ISP configuration. More... | |
Macros | |
#define | DEVBLK_CDI_SIMULATOR_ADDRESS 0xFF1U |
Device address to use for an CDI simulator device. More... | |
#define | RDEV_CFG_I2C_BITS 8U |
Bits reserved for the I2C bus number in CDI_RDEV_CFG(csi, i2c). More... | |
#define | RDEV_CFG_CSI_BITS (RDEV_CFG_I2C_BITS + 8U) |
Bits reserved for the CSI port in CDI_SLV_RDEV_CFG(csi, i2c). More... | |
#define | RDEV_CFG_SLV_BIT (RDEV_CFG_CSI_BITS + 1U) |
Bit reserved for the passive mode flag in CDI_SLV_RDEV_CFG(csi, i2c). More... | |
#define | CDI_RDEV_CFG(csi, i2c) (((uint32_t)(csi) << (uint32_t)RDEV_CFG_I2C_BITS) | (i2c)) |
Macro to create root device configuration with the connected CSI port and I2C bus. More... | |
#define | CDI_RDEV_CFG_EX(csi, i2c, disPwrCtrl) |
Extended macro to create root device configuration with the connected CSI port, I2C bus, and an option to disable power control from root device. More... | |
#define | CDI_SLV_RDEV_CFG(csi, i2c) ((i2c) | ((uint32_t)(csi) << RDEV_CFG_I2C_BITS) | ((uint32_t)(1U) << RDEV_CFG_CSI_BITS)) |
Macro to create a passive root device configuration with the connected CSI port and I2C bus when the application is run on a passive SoC. More... | |
#define | DEVBLK_CDI_ROOT_DEVICE_MAX_GPIOS (16U) |
The maximum number of GPIOs supported on a CDI Root Device. More... | |
#define | MAX_POWER_LINKS_PER_BLOCK (4U) |
The maximum number of power links per device block. More... | |
#define | DEVBLK_CDI_GPIO_LEVEL_LOW (1U) |
CDI codes for CAMGPIO GPIO Levels. More... | |
#define | DEVBLK_CDI_GPIO_LEVEL_HIGH (2U) |
Typedefs | |
typedef void | DevBlkCDIRootDevice |
An opaque handle for an DevBlkCDIRootDevice object. More... | |
typedef struct DevBlkCDISensorControl | DevBlkCDISensorControl |
Holds the sensor control structure. More... | |
typedef struct DevBlkCDIModuleConfig | DevBlkCDIModuleConfig |
Holds the CDI Module ISP configuration. More... | |
Functions | |
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. More... | |
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 level. More... | |
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 level. More... | |
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. More... | |
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 level, and then clears any pending interrupt event. More... | |
NvMediaStatus | DevBlkCDIDeviceRead (DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t regLength, uint8_t *regData, uint32_t dataLength, uint8_t *data) |
Usage considerations More... | |
NvMediaStatus | DevBlkCDIDeviceWrite (DevBlkCDIDevice const *device, uint32_t deviceIndex, uint32_t dataLength, const uint8_t *data) |
Performs a write operation over I2C. More... | |
NvMediaStatus | DevBlkCDIGetSensorAttributes (DevBlkCDIDevice *device, DevBlkCDISensorAttributes *sensorAttr, const size_t sensorAttrStructSize) |
Queries the sensor attributes. More... | |
NvMediaStatus | DevBlkCDISetSensorControls (DevBlkCDIDevice *device, const DevBlkCDISensorControl *sensorControl, const size_t sensrCtrlStructSize) |
Sets sensor control parameters. More... | |
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 frame. More... | |
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 captured frame. More... | |
NvMediaStatus | DevBlkCDISetDeserPower (DevBlkCDIDevice *device, NvMediaBool enable) |
Set the deserializer module power. More... | |
NvMediaStatus | DevBlkCDIEnableErrorReport (DevBlkCDIRootDevice const *device) |
Enable the error report. More... | |
NvMediaStatus | DevBlkCDIGetDesPowerControlInfo (DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *desPwrControlInfo) |
Get the deserialzer's power control information. More... | |
NvMediaStatus | DevBlkCDIGetCamPowerControlInfo (DevBlkCDIDevice *device, DevBlkCDIPowerControlInfo *camPwrControlInfo) |
Get the camera's power control information. More... | |
NvMediaStatus | DevBlkCDIReserveI2CAddr (DevBlkCDIDevice *device, uint8_t address, bool useNativeI2C, uint32_t *reservedI2CAddr) |
Reserve device I2C address. More... | |
NvMediaStatus | DevBlkCDISetFsyncMux (DevBlkCDIDevice *device, uint32_t fsyncMuxSel, uint32_t camGrpIdx) |
Set multiplexer to select the FSYNC source. More... | |
NvMediaStatus | DevBlkCDIAuthenticateImage (DevBlkCDIDevice const *const device, DevBlkImageDesc const *const imageDesc) |
Authenticate an image data passed in a parameters. More... | |
NvMediaStatus | DevBlkCDISetSensorCharMode (DevBlkCDIDevice *device, uint8_t expNo) |
Set sensor in characterization mode. More... | |
NvMediaStatus | DevBlkCDIGetModuleConfig (DevBlkCDIDevice *device, DevBlkCDIModuleConfig *moduleConfig) |
Gets the Module ISP configuration. More... | |