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