video: rockchip: edp: Solve the problem of write grf register failure
[firefly-linux-kernel-4.4.55.git] / drivers / video / rockchip / transmitter / rk2928_lvds.h
1 #ifndef RK_LVDS_H_
2 #define RK_LVDS_H
3
4 #define LVDS_CON0_OFFSET        0x150
5 #define LVDS_CON0_REG           (RK2928_GRF_BASE + LVDS_CON0_OFFSET) 
6
7 #define LVDSRdReg()                                     __raw_readl(LVDS_CON0_REG)
8 #define LVDSWrReg(val)          __raw_writel( val ,LVDS_CON0_REG)
9
10 #define m_value(x,offset,mask)      \
11                         ((mask<<(offset+16)) | (x&mask)<<offset)
12
13 #define OEN                             (1<<9)
14 #define m_OEN(x)                        m_value(x,9,1)
15 #define PD_PLL                          (1<<8)
16 #define m_PD_PLL(x)             m_value(x,8,1)
17 #define PDN_CBG                         (1<<7)
18 #define m_PDN_CBG(x)            m_value(x,7,1)
19 #define PDN                             (1<<6)
20 #define m_PDN(x)                        m_value(x,6,1)
21 #define DS                                      (3<<4)
22 #define m_DS(x)                         m_value(x,4,3)
23 #define MSBSEL                          (1<<3)
24 #define m_MSBSEL(x)                     m_value(x,3,1)
25 #define OUT_FORMAT                      (3<<1)
26 #define m_OUT_FORMAT(x)         m_value(x,1,3)
27 #define LCDC_SEL                        (1<<0)
28 #define m_LCDC_SEL(x)           m_value(x,0,1)
29
30 enum{
31         OUT_DISABLE=0,
32         OUT_ENABLE,
33 };
34
35 //DS
36 #define DS_3PF                  0
37 #define DS_7PF                  0
38 #define DS_5PF                  0
39 #define DS_10PF                 0
40
41 //LVDS lane input format
42 #define DATA_D0_MSB     0
43 #define DATA_D7_MSB     1
44 //LVDS input source
45 #define FROM_LCDC0      0
46 #define FROM_LCDC1              1
47
48 extern int rk_lvds_register(rk_screen *screen);
49 #endif