camsys_drv : v0.9.0
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / rk_camsys / camsys_marvin.h
1 #ifndef __CAMSYS_MARVIN_H__
2 #define __CAMSYS_MARVIN_H__
3
4 #include "camsys_internal.h"
5
6 #define CAMSYS_MARVIN_IRQNAME                   "MarvinIrq"
7
8
9
10 #define MRV_ISP_BASE                            0x400
11 #define MRV_ISP_RIS                             (MRV_ISP_BASE+0x1c0)
12 #define MRV_ISP_MIS                             (MRV_ISP_BASE+0x1c4)
13 #define MRV_ISP_ICR                             (MRV_ISP_BASE+0x1c8)
14
15 #define MRV_MIPI_BASE                           0x1C00
16 #define MRV_MIPI_MIS                            (MRV_MIPI_BASE+0x10)
17 #define MRV_MIPI_ICR                            (MRV_MIPI_BASE+0x14)
18
19 #define MRV_MI_BASE                             (0x1400)
20 #define MRV_MI_MIS                              (MRV_MI_BASE+0x100)
21 #define MRV_MI_ICR                              (MRV_MI_BASE+0x104)
22
23
24
25 typedef struct camsys_mrv_clk_s {
26     struct clk      *pd_isp;
27     struct clk      *hclk_isp;
28     struct clk      *aclk_isp;
29     struct clk      *isp;
30     struct clk      *isp_jpe;
31     struct clk      *pclkin_isp;
32     struct clk      *clk_mipi_24m;
33     bool             in_on;
34
35     struct clk      *cif_clk_out;
36     struct clk      *cif_clk_pll;
37     unsigned int     out_on;
38
39     struct mutex     lock;
40 } camsys_mrv_clk_t;
41
42 int camsys_mrv_probe_cb(struct platform_device *pdev, camsys_dev_t *camsys_dev);
43
44 #endif
45
46