Merge tag 'lsk-v3.10-android-15.02'
[firefly-linux-kernel-4.4.55.git] / drivers / media / video / rk_camsys / camsys_soc_rk3368.h
1 #ifndef __RKCAMSYS_SOC_RK3368_H__
2 #define __RKCAMSYS_SOC_RK3368_H__
3
4 #include "camsys_internal.h"
5
6 /*MARVIN REGISTER*/
7 #define MRV_MIPI_BASE                           0x1C00
8 #define MRV_MIPI_CTRL                           0x00
9
10 /*
11 #define CSIHOST_PHY_TEST_CTRL0_OFFSET 0x0030
12 #define DPHY_TX1RX1_TESTCLR    (1<<0)
13 #define DPHY_TX1RX1_TESTCLK    (1<<1)
14
15 #define CSIHOST_PHY_TEST_CTRL1_OFFSET 0x0034
16 #define DPHY_TX1RX1_TESTDIN_OFFSET_BITS    (0)
17 #define DPHY_TX1RX1_TESTDOUT_OFFSET_BITS    (8)
18 #define DPHY_TX1RX1_TESTEN    (16)
19 */
20
21 #define GRF_SOC_STATUS21                  (0x2D4)
22
23 #define CSIHOST_PHY_TEST_CTRL0            (0x30)
24 #define CSIHOST_PHY_TEST_CTRL1            (0x34)
25 #define CSIHOST_N_LANES                   (0x04)
26 #define CSIHOST_PHY_SHUTDOWNZ             (0x08)
27 #define CSIHOST_CSI2_RESETN               (0x10)
28 #define CSIHOST_DPHY_RSTZ                 (0x0c)
29 #define CSIHOST_PHY_STATE                 (0x14)
30 #define CSIHOST_DATA_IDS1                 (0x18)
31 #define CSIHOST_DATA_IDS2                 (0x1C)
32 #define CSIHOST_ERR1                      (0x20)
33 #define CSIHOST_ERR2                      (0x24)
34
35 /*
36 *GRF_SOC_CON6
37 *dphy_rx_forcerxmode 11:8
38 *isp_mipi_csi_host_sel:1
39 *disable_isp:0
40 *bit 0 grf_con_disable_isp
41 *bit 1 isp_mipi_csi_host_sel  1'b0: mipi csi host
42 */
43 #define GRF_SOC_CON6_OFFSET    (0x0418)
44 /*bit 0*/
45 #define MIPI_PHY_DISABLE_ISP_MASK       (0x1<<16)
46 #define MIPI_PHY_DISABLE_ISP            (0x0<<0)
47 /*bit 1*/
48 #define ISP_MIPI_CSI_HOST_SEL_OFFSET_MASK       (0x1<<17)
49 #define ISP_MIPI_CSI_HOST_SEL_OFFSET_BIT       (0x1)
50 /*bit 6*/
51 #define DPHY_RX_CLK_INV_SEL_MASK  (0x1<<22)
52 #define DPHY_RX_CLK_INV_SEL   (0x1<<6)
53 /*bit 11:8*/
54 #define DPHY_RX_FORCERXMODE_OFFSET_MASK     (0xF<<24)
55 #define DPHY_RX_FORCERXMODE_OFFSET_BITS   (8)
56
57 /*GRF_SOC_CON7*/
58 /*dphy_tx0_forcerxmode*/
59 #define GRF_SOC_CON7_OFFSET  (0x041c)
60 /*bit 10:7*/
61 #define FORCETXSTOPMODE_OFFSET_BITS   (7)
62 #define FORCETXSTOPMODE_MASK   (0xF<<23)
63
64 #define DPHY_TX0_FORCERXMODE   (6)
65 #define DPHY_TX0_FORCERXMODE_MASK   (0x01<<22)
66 /*bit 5*/
67 #define LANE0_TURNDISABLE_BITS  (5)
68 #define LANE0_TURNDISABLE_MASK  (0x01<<21)
69
70 #define GRF_SOC_STATUS13  (0x04b4)
71 /*dphy_rx_rxclkactivehs*/
72 /*dphy_rx_direction*/
73 /*dphy_rx_ulpsactivenot_0...3*/
74
75 /*LOW POWER MODE SET*/
76 /*base*/
77 #define MIPI_CSI_DPHY_CTRL_LANE_ENABLE_OFFSET  (0x00)
78 #define MIPI_CSI_DPHY_CTRL_LANE_ENABLE_OFFSET_BIT  (2)
79
80 #define MIPI_CSI_DPHY_CTRL_PWRCTL_OFFSET  (0x04)
81 #define MIPI_CSI_DPHY_CTRL_DIG_RST_OFFSET  (0x80)
82 #define MIPI_CSI_DPHY_CTRL_SIG_INV_OFFSET   (0x84)
83
84 /*Configure the count time of the THS-SETTLE by protocol.*/
85 #define MIPI_CSI_DPHY_LANEX_THS_SETTLE_OFFSET  (0x00)
86 /*MSB enable for pin_rxdatahs_
87 *1: enable
88 *0: disable
89 */
90 #define MIPI_CSI_DPHY_LANEX_MSB_EN_OFFSET  (0x38)
91
92 #define CSIHOST_N_LANES_OFFSET 0x04
93 #define CSIHOST_N_LANES_OFFSET_BIT (0)
94
95 #define write_grf_reg(addr, val)           __raw_writel(val, (void*)(addr+rk_grf_base)) //__raw_writel(val, addr+RK_GRF_VIRT)
96 #define read_grf_reg(addr)                 __raw_readl((void*)(addr+rk_grf_base)) //__raw_readl(addr+RK_GRF_VIRT)
97 #define mask_grf_reg(addr, msk, val)       write_grf_reg(addr,(val)|((~(msk))&read_grf_reg(addr)))
98
99 #define write_cru_reg(addr, val)           __raw_writel(val, (void*)(addr+rk_cru_base))
100
101 /*#define cru_writel(v, o)      do {writel(v, RK_CRU_VIRT + (o)); dsb();} \
102                                 while (0)
103 */
104
105 #define write_csihost_reg(addr, val)       __raw_writel(val, (void*)(addr+phy_virt))//__raw_writel(val, addr+IOMEM(phy_virt))
106 #define read_csihost_reg(addr)             __raw_readl((void*)(addr+phy_virt))//__raw_readl(addr+IOMEM(phy_virt))
107 /*csi phy*/
108 #define write_csiphy_reg(addr, val)       __raw_writel(val, (void*)(addr+csiphy_virt))//__raw_writel(val, addr+IOMEM(csiphy_virt))
109 #define read_csiphy_reg(addr)             __raw_readl((void*)(addr+csiphy_virt))//__raw_readl(addr+IOMEM(csiphy_virt))
110
111 #endif