Merge tag lsk-v3.10-15.03-android
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / rk_camsys / camsys_internal.h
index 45550564697973eafc743b83d13143119e503536..10fdb9ec8ec41cab8dbeaa9eb743a1f51801e97a 100755 (executable)
@@ -36,7 +36,8 @@
 #include <linux/rockchip/cpu.h>
 #include <linux/rockchip/iomap.h>
 #include <linux/rockchip/grf.h>
-
+//#include <asm/gpio.h>
+//#include <asm/system.h>      
 #include <asm/uaccess.h>
 
 #include <linux/of.h>
                 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 <clk_gates17 0> to <&clk_gates16 0>.
+         2) add rl3369 pd_isp enable/disable.
 */
-#define CAMSYS_DRIVER_VERSION                   KERNEL_VERSION(0,0x17,0)
+#define CAMSYS_DRIVER_VERSION                   KERNEL_VERSION(0,0x1e,0)
 
 
 #define CAMSYS_PLATFORM_DRV_NAME                "RockChip-CamSys"
@@ -169,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;
 
@@ -196,6 +213,9 @@ 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];
@@ -257,13 +277,15 @@ 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;