camsys_drv: v0.0x13.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
21 #define MRV_MI_MP_Y_OFFS_CNT_START                   (MRV_MI_BASE+0x14)
22 #define MRV_MI_INIT                   (MRV_MI_BASE+0x4)
23 #define MRV_MI_MP_Y_BASE_AD                   (MRV_MI_BASE+0x8)
24 #define MRV_MI_Y_BASE_AD_SHD                   (MRV_MI_BASE+0x78)
25 #define MRV_MI_Y_OFFS_CNT_SHD                   (MRV_MI_BASE+0x80)
26 #define MRV_MI_IMIS                              (MRV_MI_BASE+0xf8)
27 #define MRV_MI_RIS                              (MRV_MI_BASE+0xfc)
28 #define MRV_MI_MIS                              (MRV_MI_BASE+0x100)
29 #define MRV_MI_ICR                              (MRV_MI_BASE+0x104)
30
31 #define MRV_FLASH_CONFIG                        (0x664)
32
33 #define MRV_JPG_BASE                             (0x1800)
34 #define MRV_JPG_ERR_RIS                          (MRV_JPG_BASE+0x6C)
35 #define MRV_JPG_ERR_MIS                          (MRV_JPG_BASE+0x70)
36 #define MRV_JPG_ERR_ICR                          (MRV_JPG_BASE+0x74)
37 #define MRV_JPG_MIS                              (MRV_JPG_BASE+0x84)
38 #define MRV_JPG_RIS                              (MRV_JPG_BASE+0x80)
39 #define MRV_JPG_ICR                              (MRV_JPG_BASE+0x88)
40
41 typedef enum IO_USE_TYPE_e{
42     USE_AS_GPIO,
43     USE_AS_ISP_INTERNAL,
44 }IO_USE_TYPE_t;
45
46 typedef struct camsys_mrv_clk_s {
47     struct clk      *pd_isp;
48     struct clk      *hclk_isp;
49     struct clk      *aclk_isp;
50     struct clk      *isp;
51     struct clk      *isp_jpe;
52     struct clk      *pclkin_isp;
53     struct clk      *clk_mipi_24m;
54     bool             in_on;
55
56     struct clk      *cif_clk_out;
57     struct clk      *cif_clk_pll;
58     unsigned int     out_on;
59
60     struct mutex     lock;
61 } camsys_mrv_clk_t;
62
63 int camsys_mrv_probe_cb(struct platform_device *pdev, camsys_dev_t *camsys_dev);
64
65 #endif
66
67