summaryrefslogtreecommitdiff
path: root/include/video/isp_drv_kernel.h
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
committerYuval Adam <_@yuv.al>2017-08-30 08:25:59 +0000
commit8e4bff4cab0ddac6060645b0715210484d02ff40 (patch)
tree3a5c3024371a04692a3a6d9974d001cdff8ebf84 /include/video/isp_drv_kernel.h
Initial file dump from open source releaseHEADmaster
Diffstat (limited to 'include/video/isp_drv_kernel.h')
-rw-r--r--include/video/isp_drv_kernel.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/include/video/isp_drv_kernel.h b/include/video/isp_drv_kernel.h
new file mode 100644
index 00000000..973e8a13
--- /dev/null
+++ b/include/video/isp_drv_kernel.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2012 Spreadtrum Communications Inc.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+ #ifndef _ISP_DRV_KERNEL_H_
+ #define _ISP_DRV_KERNEL_H_
+
+ enum isp_clk_sel {
+ ISP_CLK_312M = 0,
+ ISP_CLK_256M,
+ ISP_CLK_128M,
+ ISP_CLK_76M8,
+ ISP_CLK_48M,
+ ISP_CLK_NONE
+};
+
+struct isp_irq_param {
+ uint32_t isp_irq_val;
+ uint32_t dcam_irq_val;
+ uint32_t irq_val;
+ int32_t ret_val;
+ uint64_t system_time;
+} ;
+struct isp_reg_bits {
+ unsigned long reg_addr;
+ unsigned long reg_value;
+} ;
+
+ struct isp_reg_param {
+ unsigned long reg_param;
+ uint32_t counts;
+} ;
+
+enum {
+ ISP_LNC_STATUS_OK = (1<<0),
+};
+
+enum {
+ ISP_INT_HIST_STORE = (1<<0),
+ ISP_INT_STORE = (1<<1),
+ ISP_INT_LENS_LOAD = (1<<2),
+ ISP_INT_HIST_CAL = (1<<3),
+ ISP_INT_HIST_RST = (1<<4),
+ ISP_INT_FETCH_BUF_FULL = (1<<5),
+ ISP_INT_DCAM_FULL = (1<<6),
+ ISP_INT_STORE_ERR = (1<<7),
+ ISP_INT_SHADOW = (1<<8),
+ ISP_INT_PREVIEW_STOP = (1<<9),
+ ISP_INT_AWB = (1<<10),
+ ISP_INT_AF = (1<<11),
+ ISP_INT_SLICE_CNT = (1<<12),
+ ISP_INT_AE = (1<<13),
+ ISP_INT_ANTI_FLICKER = (1<<14),
+ ISP_INT_AWBM_START = (1<<15),
+ ISP_INT_AFM_START = (1<<16),
+ ISP_INT_AE_START = (1<<17),
+ ISP_INT_FETCH_SOF = (1<<18),
+ ISP_INT_FETCH_EOF = (1<<19),
+ ISP_INT_AFM_WIN8 = (1<<20),
+ ISP_INT_AFM_WIN7 = (1<<21),
+ ISP_INT_AFM_WIN6 = (1<<22),
+ ISP_INT_AFM_WIN5 = (1<<23),
+ ISP_INT_AFM_WIN4 = (1<<24),
+ ISP_INT_AFM_WIN3 = (1<<25),
+ ISP_INT_AFM_WIN2 = (1<<26),
+ ISP_INT_AFM_WIN1 = (1<<27),
+ ISP_INT_AFM_WIN0 = (1<<28),
+ ISP_INT_STOP=(1<<31),
+};
+
+#define ISP_IO_MAGIC 'R'
+#define ISP_IO_IRQ _IOR(ISP_IO_MAGIC, 0, struct isp_irq_param)
+#define ISP_IO_READ _IOR(ISP_IO_MAGIC, 1, struct isp_reg_param)
+#define ISP_IO_WRITE _IOW(ISP_IO_MAGIC, 2, struct isp_reg_param)
+#define ISP_IO_RST _IOW(ISP_IO_MAGIC, 3, uint32_t)
+#define ISP_IO_SETCLK _IOW(ISP_IO_MAGIC, 4, enum isp_clk_sel)
+#define ISP_IO_STOP _IOW(ISP_IO_MAGIC, 5, uint32_t)
+#define ISP_IO_INT _IOW(ISP_IO_MAGIC, 6, uint32_t)
+#define ISP_IO_DCAM_INT _IOW(ISP_IO_MAGIC, 7, uint32_t)
+#define ISP_IO_LNC_PARAM _IOW(ISP_IO_MAGIC, 8, struct isp_reg_param)
+#define ISP_IO_LNC _IOW(ISP_IO_MAGIC, 9, struct isp_reg_param)
+#define ISP_IO_ALLOC _IOW(ISP_IO_MAGIC, 10, struct isp_reg_param)
+
+#endif