X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fmedia%2Fvideo%2Frk_camsys%2Fcamsys_internal.h;h=10fdb9ec8ec41cab8dbeaa9eb743a1f51801e97a;hb=a203a16126bb63d92a438531d626f986eb3310bf;hp=ba57c84932ea01b7fc765c80c031f96e779af621;hpb=68aee7b7879973e6fd9fa745da1924fe9f286fbf;p=firefly-linux-kernel-4.4.55.git diff --git a/drivers/media/video/rk_camsys/camsys_internal.h b/drivers/media/video/rk_camsys/camsys_internal.h index ba57c84932ea..10fdb9ec8ec4 100755 --- a/drivers/media/video/rk_camsys/camsys_internal.h +++ b/drivers/media/video/rk_camsys/camsys_internal.h @@ -28,6 +28,7 @@ #include #include #include +#include //#include //#include //#include @@ -35,9 +36,8 @@ #include #include #include - -#include -#include +//#include +//#include #include #include @@ -48,6 +48,7 @@ #include #include #include +#include @@ -78,9 +79,48 @@ *v0.b.0: 1) control ddr freq by marvin self other than by clk unit. *v0.c.0: - 1) add flash_trigger_out control +* 1) add flash_trigger_out control +*v0.d.0: +* 1) add Isp_SoftRst for rk3288; +*v0.e.0: +* 1) isp_clk 208.8M for 1lane, isp_clk 416.6M for 2lane; +*v0.f.0: + 1) mi_mis register may read erro, this may cause mistaken mi frame_end irqs. +*v0.0x10.0: + 1) add flash_prelight control. +*v0.0x11.0: + 1) raise qos of isp up to the same as lcdc. +*v0.0x12.0: + 1) support iommu. +*v0.0x13.0: + 1) camsys_extdev_register return failed when this dev_id has been registered; + 2) add support JPG irq connect; +*v0.0x14.0: + 1) camsys_extdev_register return -EBUSY when this dev_id has been registered; +*v0.0x15.0: + 1) check extdev name when dev_id has been registered; +*v0.0x16.0: + 1) enable or disable IOMMU just depending on CONFIG_ROCKCHIP_IOMMU. +*v0.0x17.0: + 1) isp iommu status depend on vpu iommu status. +*v0.0x18.0: + 1) add flashlight RT8547 driver + 2) support torch mode +*v0.0x19.0: + 1) set CONFIG_CAMSYS_DRV disable as default,enable in defconfig file if needed. +*v0.0x1a.0: + 1) vpu_node changed from "vpu_service" to "rockchip,vpu_sub" +*v0.0x1b.0: + 1) use of_find_node_by_name to get vpu node instead of of_find_compatible_node +*v0.0x1c.0: + 1) support rk3368. +*v0.0x1d.0: + 1) enable aclk_rga for rk3368, otherwise, isp reset will cause system halted. +*v0.0x1e.0: + 1) dts remove aclk_rga, change aclk_isp from to <&clk_gates16 0>. + 2) add rl3369 pd_isp enable/disable. */ -#define CAMSYS_DRIVER_VERSION KERNEL_VERSION(0,0xc,0) +#define CAMSYS_DRIVER_VERSION KERNEL_VERSION(0,0x1e,0) #define CAMSYS_PLATFORM_DRV_NAME "RockChip-CamSys" @@ -146,8 +186,8 @@ typedef struct camsys_irq_s { typedef struct camsys_meminfo_s { unsigned char name[32]; - unsigned int phy_base; - unsigned int vir_base; + unsigned long phy_base; + unsigned long vir_base; unsigned int size; unsigned int vmas; @@ -173,8 +213,12 @@ typedef struct camsys_gpio_s { } camsys_gpio_t; typedef struct camsys_flash_s { camsys_gpio_t fl; + camsys_gpio_t fl_en; + void* ext_fsh_dev; + //flash call back } camsys_flash_t; typedef struct camsys_extdev_s { + unsigned char dev_name[CAMSYS_NAME_LEN]; unsigned int dev_id; camsys_regulator_t avdd; camsys_regulator_t dovdd; @@ -233,13 +277,16 @@ typedef struct camsys_dev_s { void *soc; + camsys_meminfo_t *csiphy_reg; + int (*clkin_cb)(void *ptr, unsigned int on); int (*clkout_cb)(void *ptr,unsigned int on,unsigned int clk); int (*reset_cb)(void *ptr, unsigned int on); int (*phy_cb) (camsys_extdev_t *extdev, camsys_sysctrl_t *devctl, void* ptr); int (*iomux)(camsys_extdev_t *extdev,void *ptr); int (*platform_remove)(struct platform_device *pdev); - int (*flash_trigger_cb)(void *ptr, unsigned int on); + int (*flash_trigger_cb)(void *ptr,int mode , unsigned int on); + int (*iommu_cb)(void *ptr,camsys_sysctrl_t *devctl); } camsys_dev_t;