* 2) add support io domain and mclk driver strength configuration;
*v0.7.0:
1) add flash_trigger_out control
+*v0.8.0:
+ 1) support isp iommu
+*v0.9.0:
+ 1) add dev_name in struct camsys_devio_name_s;
+*v0.a.0:
+ 1) support external flash IC
+*v0.b.0:
+ 1) add CamSys_SensorBit0_CifBit4 in enum camsys_cifio_e.
*/
-#define CAMSYS_HEAD_VERSION KERNEL_VERSION(0,7,0)
+#define CAMSYS_HEAD_VERSION KERNEL_VERSION(0,0xb,0)
#define CAMSYS_MARVIN_DEVNAME "camsys_marvin"
#define CAMSYS_CIF0_DEVNAME "camsys_cif0"
#define CAMSYS_DEVID_EXTERNAL 0xFF000000
#define CAMSYS_DEVID_EXTERNAL_NUM 8
-#define CAMSYS_DEVCFG_FLASHLIGHT 0x00000001
-#define CAMSYS_DEVCFG_PREFLASHLIGHT 0x00000002
-#define CAMSYS_DEVCFG_SHUTTER 0x00000004
+#define CAMSYS_DEVCFG_FLASHLIGHT 0x00000001
+#define CAMSYS_DEVCFG_PREFLASHLIGHT 0x00000002
+#define CAMSYS_DEVCFG_SHUTTER 0x00000004
typedef struct camsys_irqsta_s {
unsigned int ris; //Raw interrupt status
CamSys_Phy_End_Tag,
CamSys_Flash_Trigger_Start_Tag,
CamSys_Flash_Trigger,
- CamSys_Flash_Trigger_End_Tag
+ CamSys_Flash_Trigger_End_Tag,
+ CamSys_IOMMU
} camsys_sysctrl_ops_t;
unsigned int active;
} camsys_gpio_info_t;
+typedef struct camsys_iommu_s{
+ int client_fd;
+ int map_fd;
+ unsigned long linear_addr;
+ unsigned long len;
+}camsys_iommu_t;
+
typedef struct camsys_sysctrl_s {
unsigned int dev_mask;
camsys_sysctrl_ops_t ops;
} camsys_sysctrl_t;
typedef struct camsys_flash_info_s {
- camsys_gpio_info_t fl;
+ unsigned char fl_drv_name[CAMSYS_NAME_LEN];
+ camsys_gpio_info_t fl; //fl_trig
+ camsys_gpio_info_t fl_en;
} camsys_flash_info_t;
typedef struct camsys_mipiphy_s {
typedef enum camsys_cifio_e {
CamSys_SensorBit0_CifBit0 = 0x00,
CamSys_SensorBit0_CifBit2 = 0x01,
+ CamSys_SensorBit0_CifBit4 = 0x02,
} camsys_cifio_t;
typedef struct camsys_cifphy_s {
} camsys_extdev_clk_t;
typedef struct camsys_devio_name_s {
+ unsigned char dev_name[CAMSYS_NAME_LEN];
unsigned int dev_id;
camsys_regulator_info_t avdd; // sensor avdd power regulator name
#define CAMSYS_IRQDISCONNECT _IOW(CAMSYS_IOC_MAGIC, 10, camsys_irqcnnt_t)
#define CAMSYS_QUREYMEM _IOR(CAMSYS_IOC_MAGIC, 11, camsys_querymem_t)
+#define CAMSYS_QUREYIOMMU _IOW(CAMSYS_IOC_MAGIC, 12, int)
#endif