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... | |