1 /*
2  * Copyright (c) 2022 ITE.
3  * Copyright 2022 NXP
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  */
7 
8 #ifndef _MIPIRX_H_
9 #define _MIPIRX_H_
10 
11 #define MIPI_RX_SOFT_RESET_REG05                     (0x05U)
12 #define MIPI_RX_SOFT_RESET_REG05_RegSoftORst_SHIFT   (0x00U)
13 #define MIPI_RX_SOFT_RESET_REG05_RegSoftORst_MASK    (MIPI_RX_SOFT_RESET_REG05_RegSoftORst(0x01U))
14 #define MIPI_RX_SOFT_RESET_REG05_RegSoftORst(N)      ((N) << MIPI_RX_SOFT_RESET_REG05_RegSoftORst_SHIFT)
15 #define MIPI_RX_SOFT_RESET_REG05_RegSoftMRst_SHIFT   (0x01U)
16 #define MIPI_RX_SOFT_RESET_REG05_RegSoftMRst_MASK    (MIPI_RX_SOFT_RESET_REG05_RegSoftMRst(0x01U))
17 #define MIPI_RX_SOFT_RESET_REG05_RegSoftMRst(N)      ((N) << MIPI_RX_SOFT_RESET_REG05_RegSoftMRst_SHIFT)
18 #define MIPI_RX_SOFT_RESET_REG05_RegMPSoftPRst_SHIFT (0x02U)
19 #define MIPI_RX_SOFT_RESET_REG05_RegMPSoftPRst_MASK  (MIPI_RX_SOFT_RESET_REG05_RegMPSoftPRst(0x01U))
20 #define MIPI_RX_SOFT_RESET_REG05_RegMPSoftPRst(N)    ((N) << MIPI_RX_SOFT_RESET_REG05_RegMPSoftPRst_SHIFT)
21 #define MIPI_RX_SOFT_RESET_REG05_RefSoftREFRst_SHIFT (0x03U)
22 #define MIPI_RX_SOFT_RESET_REG05_RefSoftREFRst_MASK  (MIPI_RX_SOFT_RESET_REG05_RefSoftREFRst(0x01U))
23 #define MIPI_RX_SOFT_RESET_REG05_RefSoftREFRst(N)    ((N) << MIPI_RX_SOFT_RESET_REG05_RefSoftREFRst_SHIFT)
24 
25 #define MIPI_RX_INT_MASK_REG09                     (0x09U)
26 #define MIPI_RX_INT_MASK_REG09_REnPPSMVidStbChgInt (1U << 0)
27 #define MIPI_RX_INT_MASK_REG09_REnPPSPVidStbChgInt (1U << 4)
28 
29 #define MIPI_RX_INT_MASK_REG0A                    (0x0AU)
30 #define MIPI_RX_INT_MASK_REG0A_REnPPGVidStbChgInt (1U << 0)
31 #define MIPI_RX_INT_MASK_REG0A_REnPPSDByteErrInt  (1U << 1)
32 #define MIPI_RX_INT_MASK_REG0A_REnCMOffInt        (1U << 2)
33 #define MIPI_RX_INT_MASK_REG0A_REnCMOnInt         (1U << 3)
34 #define MIPI_RX_INT_MASK_REG0A_REnShutDoneInt     (1U << 4)
35 #define MIPI_RX_INT_MASK_REG0A_REnTurnOnInt       (1U << 5)
36 #define MIPI_RX_INT_MASK_REG0A_REnFIFOOvRdInt     (1U << 6)
37 #define MIPI_RX_INT_MASK_REG0A_REnFIFOOvWrInt     (1U << 7)
38 
39 #define MIPI_RX_INT_MASK_REG0B                   (0x0BU)
40 #define MIPI_RX_INT_MASK_REG0B_REnECC1bErrInt    (1U << 0)
41 #define MIPI_RX_INT_MASK_REG0B_REnECC2bErrInt    (1U << 1)
42 #define MIPI_RX_INT_MASK_REG0B_REnLMFIFOErrInt   (1U << 2)
43 #define MIPI_RX_INT_MASK_REG0B_REnCRCErrInt      (1U << 3)
44 #define MIPI_RX_INT_MASK_REG0B_REnMCLKOffInt     (1U << 4)
45 #define MIPI_RX_INT_MASK_REG0B_REnPPIFifoOvWrInt (1U << 5)
46 #define MIPI_RX_INT_MASK_REG0B_REnTimerInt       (1U << 6)
47 
48 #define MIPI_RX_SYS_CONF_REG0C                     (0x0CU)
49 #define MIPI_RX_SYS_CONF_REG0C_RegLaneNum_SHIFT    (0x0U)
50 #define MIPI_RX_SYS_CONF_REG0C_RegLaneNum_MASK     (0x3U)
51 #define MIPI_RX_SYS_CONF_REG0C_RegLaneNum(N)       ((N - 1U) << MIPI_RX_SYS_CONF_REG0C_RegLaneNum_SHIFT)
52 #define MIPI_RX_SYS_CONF_REG0C_RegEnPNSwap_SHIFT   (0x2U)
53 #define MIPI_RX_SYS_CONF_REG0C_RegEnPNSwap_MASK    (0x1U << 2U)
54 #define MIPI_RX_SYS_CONF_REG0C_RegEnPNSwap(N)      ((N) << MIPI_RX_SYS_CONF_REG0C_RegEnPNSwap_SHIFT)
55 #define MIPI_RX_SYS_CONF_REG0C_RegEnLaneSwap_SHIFT (0x3U)
56 #define MIPI_RX_SYS_CONF_REG0C_RegEnLaneSwap_MASK  (0x1U << 3U)
57 #define MIPI_RX_SYS_CONF_REG0C_RegEnLaneSwap(N)    ((N) << MIPI_RX_SYS_CONF_REG0C_RegEnLaneSwap_SHIFT)
58 
59 #define MIPI_RX_SYS_CONF_REG0D                 (0x0DU)
60 #define MIPI_RX_SYS_CONF_REG0D_REGINTPOL_SHIFT (0x01U)
61 #define MIPI_RX_SYS_CONF_REG0D_REGINTPOL_MASK  (MIPI_RX_SYS_CONF_REG0D_REGINTPOL(0x01U))
62 #define MIPI_RX_SYS_CONF_REG0D_REGINTPOL(N)    ((N) << MIPI_RX_SYS_CONF_REG0D_REGINTPOL_SHIFT)
63 
64 #define MIPI_RX_SYS_STATUS_REG0F (0x0FU)
65 
66 #define MIPI_RX_CLKBUF_CTRL_REG10                   (0x10U)
67 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateOCLK_SHIFT (0x0U)
68 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateOCLK_MASK  (MIPI_RX_CLKBUF_CTRL_REG10_RegGateOCLK(0x01U))
69 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateOCLK(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG10_RegGateOCLK_SHIFT)
70 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateMCLK_SHIFT (0x01U)
71 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateMCLK_MASK  (MIPI_RX_CLKBUF_CTRL_REG10_RegGateMCLK(0x01U))
72 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateMCLK(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG10_RegGateMCLK_SHIFT)
73 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGatePCLK_SHIFT (0x02U)
74 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGatePCLK_MASK  (MIPI_RX_CLKBUF_CTRL_REG10_RegGatePCLK(0x01U))
75 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGatePCLK(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG10_RegGatePCLK_SHIFT)
76 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateRCLK_SHIFT (0x03U)
77 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateRCLK_MASK  (MIPI_RX_CLKBUF_CTRL_REG10_RegGateRCLK(0x01U))
78 #define MIPI_RX_CLKBUF_CTRL_REG10_RegGateRCLK(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG10_RegGateRCLK_SHIFT)
79 
80 #define MIPI_RX_CLKBUF_CTRL_REG11                    (0x11U)
81 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvMCLK_SHIFT   (0x0U)
82 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvMCLK_MASK    (MIPI_RX_CLKBUF_CTRL_REG11_RegInvMCLK(0x01U))
83 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvMCLK(N)      ((N) << MIPI_RX_CLKBUF_CTRL_REG11_RegInvMCLK_SHIFT)
84 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvPCLK_SHIFT   (0x1U)
85 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvPCLK_MASK    (MIPI_RX_CLKBUF_CTRL_REG11_RegInvPCLK(0x01U))
86 #define MIPI_RX_CLKBUF_CTRL_REG11_RegInvPCLK(N)      ((N) << MIPI_RX_CLKBUF_CTRL_REG11_RegInvPCLK_SHIFT)
87 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStandby_SHIFT (0x2U)
88 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStandby_MASK  (MIPI_RX_CLKBUF_CTRL_REG11_RegEnStandby(0x01U))
89 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStandby(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG11_RegEnStandby_SHIFT)
90 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStb2Rst_SHIFT (0x4U)
91 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStb2Rst_MASK  (MIPI_RX_CLKBUF_CTRL_REG11_RegEnStb2Rst(0x01U))
92 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnStb2Rst(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG11_RegEnStb2Rst_SHIFT)
93 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnIDDQ_SHIFT    (0x5U)
94 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnIDDQ_MASK     (MIPI_RX_CLKBUF_CTRL_REG11_RegEnIDDQ(0x01U))
95 #define MIPI_RX_CLKBUF_CTRL_REG11_RegEnIDDQ(N)       ((N) << MIPI_RX_CLKBUF_CTRL_REG11_RegEnIDDQ_SHIFT)
96 
97 #define MIPI_RX_CLKBUF_CTRL_REG12                   (0x12U)
98 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCLK_SHIFT (0x00U)
99 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCLK_MASK  (MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCLK(0x01U))
100 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCLK(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCLK_SHIFT)
101 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCNT_SHIFT (0x01U)
102 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCNT_MASK  (MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCNT(0x03U))
103 #define MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCNT(N)    ((N) << MIPI_RX_CLKBUF_CTRL_REG12_RegPDREFCNT_SHIFT)
104 
105 /* PPI: PHY-Protocol Interface */
106 #define MIPI_RX_PPI_REG18                    (0x18U)
107 #define MIPI_RX_PPI_REG18_RegHSSetNum_SHIFT  (0x00U)
108 #define MIPI_RX_PPI_REG18_RegHSSetNum_MASK   (MIPI_RX_PPI_REG18_RegHSSetNum(0x07U))
109 #define MIPI_RX_PPI_REG18_RegHSSetNum(N)     ((N) << MIPI_RX_PPI_REG18_RegHSSetNum_SHIFT)
110 #define MIPI_RX_PPI_REG18_RegSkipStg_SHIFT   (0x04U)
111 #define MIPI_RX_PPI_REG18_RegSkipStg_MASK    (MIPI_RX_PPI_REG18_RegSkipStg(0x07U))
112 #define MIPI_RX_PPI_REG18_RegSkipStg(N)      ((N) << MIPI_RX_PPI_REG18_RegSkipStg_SHIFT)
113 #define MIPI_RX_PPI_REG18_RegEnSyncErr_SHIFT (0x07U)
114 #define MIPI_RX_PPI_REG18_RegEnSyncErr_MASK  (MIPI_RX_PPI_REG18_RegEnSyncErr(0x01U))
115 #define MIPI_RX_PPI_REG18_RegEnSyncErr(N)    ((N) << MIPI_RX_PPI_REG18_RegEnSyncErr_SHIFT)
116 
117 #define MIPI_RX_PPI_REG19                    (0x19U)
118 #define MIPI_RX_PPI_REG19_RegEnDeSkew_SHIFT  (0x00U)
119 #define MIPI_RX_PPI_REG19_RegEnDeSkew_MASK   (MIPI_RX_PPI_REG19_RegEnDeSkew(0x01U))
120 #define MIPI_RX_PPI_REG19_RegEnDeSkew(N)     ((N) << MIPI_RX_PPI_REG19_RegEnDeSkew_SHIFT)
121 #define MIPI_RX_PPI_REG19_RegEnContCK_SHIFT  (0x01U)
122 #define MIPI_RX_PPI_REG19_RegEnContCK_MASK   (MIPI_RX_PPI_REG19_RegEnContCK(0x01U))
123 #define MIPI_RX_PPI_REG19_RegEnContCK(N)     ((N) << MIPI_RX_PPI_REG19_RegEnContCK_SHIFT)
124 #define MIPI_RX_PPI_REG19_RegPPIDbgSel_SHIFT (0x04U)
125 #define MIPI_RX_PPI_REG19_RegPPIDbgSel_MASK  (MIPI_RX_PPI_REG19_RegPPIDbgSel(0x0FU))
126 #define MIPI_RX_PPI_REG19_RegPPIDbgSel(N)    ((N) << MIPI_RX_PPI_REG19_RegPPIDbgSel_SHIFT)
127 
128 /* Lane Merge & Packet Decoder */
129 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20                   (0x20U)
130 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrNull_SHIFT (0x00U)
131 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrNull_MASK \
132     (MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrNull(0x01U))
133 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrNull(N) \
134     ((N) << MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrNull_SHIFT)
135 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrBlk_SHIFT (0x01U)
136 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrBlk_MASK \
137     (MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrBlk(0x01U))
138 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrBlk(N) \
139     ((N) << MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegIgnrBlk_SHIFT)
140 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegEnDummyECC_SHIFT (0x02U)
141 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegEnDummyECC_MASK \
142     (MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegEnDummyECC(0x01U))
143 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegEnDummyECC(N) \
144     ((N) << MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegEnDummyECC_SHIFT)
145 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegSelEOTP_SHIFT (0x02U)
146 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegSelEOTP_MASK \
147     (MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegSelEOTP(0x01U))
148 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegSelEOTP(N) \
149     ((N) << MIPI_RX_LANE_MERGE_PACKET_DECODER_REG20_RegSelEOTP_SHIFT)
150 
151 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21                   (0x21U)
152 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21_RegSelLMDbg_SHIFT (0x00U)
153 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21_RegSelLMDbg_MASK \
154     (MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21_RegSelLMDbg(0x07U))
155 #define MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21_RegSelLMDbg(N) \
156     ((N) << MIPI_RX_LANE_MERGE_PACKET_DECODER_REG21_RegSelLMDbg_SHIFT)
157 
158 /* Packed pixel stream, timing generator and pattern generation */
159 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31                   (0x31U)
160 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31_RegEnUsrHFP_SHIFT (0x07U)
161 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31_RegEnUsrHFP_MASK \
162     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31_RegEnUsrHFP(0x01U))
163 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31_RegEnUsrHFP(N) \
164     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG31_RegEnUsrHFP_SHIFT)
165 
166 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33                   (0x33U)
167 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33_RegEnUsrHSW_SHIFT (0x07U)
168 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33_RegEnUsrHSW_MASK \
169     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33_RegEnUsrHSW(0x01U))
170 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33_RegEnUsrHSW(N) \
171     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG33_RegEnUsrHSW_SHIFT)
172 
173 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35                   (0x35U)
174 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35_RegEnUsrHBP_SHIFT (0x07U)
175 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35_RegEnUsrHBP_MASK \
176     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35_RegEnUsrHBP(0x01U))
177 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35_RegEnUsrHBP(N) \
178     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG35_RegEnUsrHBP_SHIFT)
179 
180 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37                    (0x37U)
181 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37_RegEnUsrHDEW_SHIFT (0x07U)
182 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37_RegEnUsrHDEW_MASK \
183     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37_RegEnUsrHDEW(0x01U))
184 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37_RegEnUsrHDEW(N) \
185     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG37_RegEnUsrHDEW_SHIFT)
186 
187 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39                      (0x39U)
188 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39_RegEnUsrHVR2nd_SHIFT (0x07U)
189 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39_RegEnUsrHVR2nd_MASK \
190     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39_RegEnUsrHVR2nd(0x01U))
191 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39_RegEnUsrHVR2nd(N) \
192     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG39_RegEnUsrHVR2nd_SHIFT)
193 
194 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A                   (0x3AU)
195 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A_RegMipi_VFP_SHIFT (0x00U)
196 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A_RegMipi_VFP_MASK \
197     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A_RegMipi_VFP(0xFFU))
198 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A_RegMipi_VFP(N) \
199     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3A_RegMipi_VFP_SHIFT)
200 
201 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C                   (0x3CU)
202 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C_RegMipi_VSW_SHIFT (0x00U)
203 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C_RegMipi_VSW_MASK \
204     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C_RegMipi_VSW(0xFFU))
205 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C_RegMipi_VSW(N) \
206     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3C_RegMipi_VSW_SHIFT)
207 
208 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E                   (0x3EU)
209 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E_RegMipi_VBP_SHIFT (0x00U)
210 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E_RegMipi_VBP_MASK \
211     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E_RegMipi_VBP(0xFFU))
212 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E_RegMipi_VBP(N) \
213     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG3E_RegMipi_VBP_SHIFT)
214 
215 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41                    (0x41U)
216 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41_RegEnUsrVDEW_SHIFT (0x07U)
217 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41_RegEnUsrVDEW_MASK \
218     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41_RegEnUsrVDEW(0x01U))
219 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41_RegEnUsrVDEW(N) \
220     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG41_RegEnUsrVDEW_SHIFT)
221 
222 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43                      (0x43U)
223 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43_RegEnUsrVFP2nd_SHIFT (0x07U)
224 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43_RegEnUsrVFP2nd_MASK \
225     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43_RegEnUsrVFP2nd(0x01U))
226 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43_RegEnUsrVFP2nd(N) \
227     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG43_RegEnUsrVFP2nd_SHIFT)
228 
229 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44                    (0x44U)
230 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegAutoSyncF_SHIFT (0x01U)
231 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegAutoSyncF_MASK \
232     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegAutoSyncF(0x01U))
233 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegAutoSyncF(N) \
234     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegAutoSyncF_SHIFT)
235 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMipi_Interlaced_SHIFT (0x02U)
236 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMipi_Interlaced_MASK \
237     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMipi_Interlaced(0x01U))
238 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMipi_Interlaced(N) \
239     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMipi_Interlaced_SHIFT)
240 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegSEModeUdef_SHIFT (0x03U)
241 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegSEModeUdef_MASK \
242     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegSEModeUdef(0x01U))
243 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegSEModeUdef(N) \
244     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegSEModeUdef_SHIFT)
245 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegPRec_UPdate_SHIFT (0x04U)
246 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegPRec_UPdate_MASK \
247     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegPRec_UPdate(0x01U))
248 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegPRec_UPdate(N) \
249     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegPRec_UPdate_SHIFT)
250 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMRec_UPdate_SHIFT (0x05U)
251 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMRec_UPdate_MASK \
252     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMRec_UPdate(0x01U))
253 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMRec_UPdate(N) \
254     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG44_RegMRec_UPdate_SHIFT)
255 
256 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B                   (0x4BU)
257 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnhSel_SHIFT (0x00U)
258 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnhSel_MASK \
259     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnhSel(0x07U))
260 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnhSel(N) \
261     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnhSel_SHIFT)
262 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnh_SHIFT (0x03U)
263 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnh_MASK \
264     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnh(0x01U))
265 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnh(N) \
266     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegVREnh_SHIFT)
267 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegFReSyncEn_SHIFT (0x04U)
268 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegFReSyncEn_MASK \
269     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegFReSyncEn(0x01U))
270 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegFReSyncEn(N) \
271     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4B_RegFReSyncEn_SHIFT)
272 
273 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C                  (0x4CU)
274 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C_RegFFRdStg_SHIFT (0x00U)
275 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C_RegFFRdStg_MASK \
276     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C_RegFFRdStg(0xFFU))
277 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C_RegFFRdStg(N) \
278     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4C_RegFFRdStg_SHIFT)
279 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D                  (0x4DU)
280 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D_RegFFRdStg_SHIFT (0x00U)
281 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D_RegFFRdStg_MASK \
282     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D_RegFFRdStg(0x01U))
283 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D_RegFFRdStg(N) \
284     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4D_RegFFRdStg_SHIFT)
285 
286 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E                     (0x4EU)
287 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_HSPol_SHIFT (0x00U)
288 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_HSPol_MASK \
289     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_HSPol(0x01U))
290 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_HSPol(N) \
291     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_HSPol_SHIFT)
292 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_VSPol_SHIFT (0x01U)
293 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_VSPol_MASK \
294     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_VSPol(0x01U))
295 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_VSPol(N) \
296     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMipi_VSPol_SHIFT)
297 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegHReSyncEn_SHIFT (0x02U)
298 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegHReSyncEn_MASK \
299     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegHReSyncEn(0x01U))
300 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegHReSyncEn(N) \
301     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegHReSyncEn_SHIFT)
302 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegVReSyncEn_SHIFT (0x03U)
303 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegVReSyncEn_MASK \
304     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegVReSyncEn(0x01U))
305 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegVReSyncEn(N) \
306     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegVReSyncEn_SHIFT)
307 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForceMCLKOn_SHIFT (0x04U)
308 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForceMCLKOn_MASK \
309     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForceMCLKOn(0x01U))
310 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForceMCLKOn(N) \
311     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForceMCLKOn_SHIFT)
312 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMPFFRst_SHIFT (0x05U)
313 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMPFFRst_MASK \
314     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMPFFRst(0x01U))
315 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMPFFRst(N) \
316     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegMPFFRst_SHIFT)
317 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSPStb_SHIFT (0x06U)
318 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSPStb_MASK \
319     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSPStb(0x01U))
320 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSPStb(N) \
321     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSPStb_SHIFT)
322 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSMStb_SHIFT (0x07U)
323 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSMStb_MASK \
324     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSMStb(0x01U))
325 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSMStb(N) \
326     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4E_RegForcePPSMStb_SHIFT)
327 
328 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F                       (0x4FU)
329 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegPPSFFAutoRst_SHIFT (0x00U)
330 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegPPSFFAutoRst_MASK \
331     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegPPSFFAutoRst(0x01U))
332 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegPPSFFAutoRst(N) \
333     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegPPSFFAutoRst_SHIFT)
334 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegEnPPSFFOv2Rst_SHIFT (0x01U)
335 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegEnPPSFFOv2Rst_MASK \
336     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegEnPPSFFOv2Rst(0x01U))
337 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegEnPPSFFOv2Rst(N) \
338     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegEnPPSFFOv2Rst_SHIFT)
339 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegDBGPPSSel_SHIFT (0x04U)
340 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegDBGPPSSel_MASK \
341     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegDBGPPSSel(0x07U))
342 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegDBGPPSSel(N) \
343     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG4F_RegDBGPPSSel_SHIFT)
344 
345 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70                 (0x70U)
346 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70_RegEnMAvg_SHIFT (0x00U)
347 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70_RegEnMAvg_MASK \
348     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70_RegEnMAvg(0x01U))
349 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70_RegEnMAvg(N) \
350     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG70_RegEnMAvg_SHIFT)
351 
352 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72                 (0x72U)
353 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72_RegMShift_SHIFT (0x00U)
354 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72_RegMShift_MASK \
355     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72_RegMShift(0xFFU))
356 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72_RegMShift(N) \
357     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG72_RegMShift_SHIFT)
358 
359 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73                 (0x73U)
360 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73_RegPShift_SHIFT (0x00U)
361 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73_RegPShift_MASK \
362     (MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73_RegPShift(0xFFU))
363 #define MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73_RegPShift(N) \
364     ((N) << MIPI_RX_PACKED_PIXEL_STREAM_TIMING_GENERATOR_AND_PATTERN_GENERATION_REG73_RegPShift_SHIFT)
365 
366 /* AFE: Analog Front End */
367 #define MIPI_RX_AFE_REG80                    (0x80U)
368 #define MIPI_RX_AFE_REG80_RegEnExtPCLK_SHIFT (0x05U)
369 #define MIPI_RX_AFE_REG80_RegEnExtPCLK_MASK  (MIPI_RX_AFE_REG80_RegEnExtPCLK(0x01U))
370 #define MIPI_RX_AFE_REG80_RegEnExtPCLK(N)    ((N) << MIPI_RX_AFE_REG80_RegEnExtPCLK_SHIFT)
371 
372 #define MIPI_RX_AFE_REG84                (0x84U)
373 #define MIPI_RX_AFE_REG84_REGHSAMP_SHIFT (0x00U)
374 #define MIPI_RX_AFE_REG84_REGHSAMP_MASK  (MIPI_RX_AFE_REG84_REGHSAMP(0x0FU))
375 #define MIPI_RX_AFE_REG84_REGHSAMP(N)    ((N) << MIPI_RX_AFE_REG84_REGHSAMP_SHIFT)
376 #define MIPI_RX_AFE_REG84_REGRTERM_SHIFT (0x04U)
377 #define MIPI_RX_AFE_REG84_REGRTERM_MASK  (MIPI_RX_AFE_REG84_REGRTERM(0x07U))
378 #define MIPI_RX_AFE_REG84_REGRTERM(N)    ((N) << MIPI_RX_AFE_REG84_REGRTERM_SHIFT)
379 #define MIPI_RX_AFE_REG84_REGHSCS_SHIFT  (0x07U)
380 #define MIPI_RX_AFE_REG84_REGHSCS_MASK   (MIPI_RX_AFE_REG84_REGHSCS(0x01U))
381 #define MIPI_RX_AFE_REG84_REGHSCS(N)     ((N) << MIPI_RX_AFE_REG84_REGHSCS_SHIFT)
382 
383 /* TX Pattern Conternt */
384 #define MIPI_RX_TX_PATTERN_CONTENT_REGA0               (0xA0U)
385 #define MIPI_RX_TX_PATTERN_CONTENT_REGA0_RegMBPM_SHIFT (0x00U)
386 #define MIPI_RX_TX_PATTERN_CONTENT_REGA0_RegMBPM_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA0_RegMBPM(0x01U))
387 #define MIPI_RX_TX_PATTERN_CONTENT_REGA0_RegMBPM(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA0_RegMBPM_SHIFT)
388 
389 #define MIPI_RX_TX_PATTERN_CONTENT_REGA1                   (0xA1U)
390 #define MIPI_RX_TX_PATTERN_CONTENT_REGA1_RegMBPM_HFP_SHIFT (0x00U)
391 #define MIPI_RX_TX_PATTERN_CONTENT_REGA1_RegMBPM_HFP_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA1_RegMBPM_HFP(0x7FU))
392 #define MIPI_RX_TX_PATTERN_CONTENT_REGA1_RegMBPM_HFP(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA1_RegMBPM_HFP_SHIFT)
393 
394 #define MIPI_RX_TX_PATTERN_CONTENT_REGA2                   (0xA2U)
395 #define MIPI_RX_TX_PATTERN_CONTENT_REGA2_RegMBPM_VFP_SHIFT (0x00U)
396 #define MIPI_RX_TX_PATTERN_CONTENT_REGA2_RegMBPM_VFP_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA2_RegMBPM_VFP(0x7FU))
397 #define MIPI_RX_TX_PATTERN_CONTENT_REGA2_RegMBPM_VFP(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA2_RegMBPM_VFP_SHIFT)
398 
399 #define MIPI_RX_TX_PATTERN_CONTENT_REGA3                   (0xA3U)
400 #define MIPI_RX_TX_PATTERN_CONTENT_REGA3_RegMBPM_HSW_SHIFT (0x00U)
401 #define MIPI_RX_TX_PATTERN_CONTENT_REGA3_RegMBPM_HSW_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA3_RegMBPM_HSW(0xFFU))
402 #define MIPI_RX_TX_PATTERN_CONTENT_REGA3_RegMBPM_HSW(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA3_RegMBPM_HSW_SHIFT)
403 
404 #define MIPI_RX_TX_PATTERN_CONTENT_REGA4                   (0xA4U)
405 #define MIPI_RX_TX_PATTERN_CONTENT_REGA4_RegMBPM_HSW_SHIFT (0x00U)
406 #define MIPI_RX_TX_PATTERN_CONTENT_REGA4_RegMBPM_HSW_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA4_RegMBPM_HSW(0x3FU))
407 #define MIPI_RX_TX_PATTERN_CONTENT_REGA4_RegMBPM_HSW(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA4_RegMBPM_HSW_SHIFT)
408 
409 #define MIPI_RX_TX_PATTERN_CONTENT_REGA5                   (0xA5U)
410 #define MIPI_RX_TX_PATTERN_CONTENT_REGA5_RegMBPM_VSW_SHIFT (0x00U)
411 #define MIPI_RX_TX_PATTERN_CONTENT_REGA5_RegMBPM_VSW_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA5_RegMBPM_VSW(0xFFU))
412 #define MIPI_RX_TX_PATTERN_CONTENT_REGA5_RegMBPM_VSW(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA5_RegMBPM_VSW_SHIFT)
413 
414 #define MIPI_RX_TX_PATTERN_CONTENT_REGA6                   (0xA6U)
415 #define MIPI_RX_TX_PATTERN_CONTENT_REGA6_RegMBPM_VSW_SHIFT (0x00U)
416 #define MIPI_RX_TX_PATTERN_CONTENT_REGA6_RegMBPM_VSW_MASK  (MIPI_RX_TX_PATTERN_CONTENT_REGA6_RegMBPM_VSW(0x3FU))
417 #define MIPI_RX_TX_PATTERN_CONTENT_REGA6_RegMBPM_VSW(N)    ((N) << MIPI_RX_TX_PATTERN_CONTENT_REGA6_RegMBPM_VSW_SHIFT)
418 
419 /* CRC */
420 #define MIPI_RX_CRC_REGC0                      (0xC0U)
421 #define MIPI_RX_CRC_REGC0_RegTTLTxCRCNum_SHIFT (0x00U)
422 #define MIPI_RX_CRC_REGC0_RegTTLTxCRCNum_MASK  (MIPI_RX_CRC_REGC0_RegTTLTxCRCNum(0x7FU))
423 #define MIPI_RX_CRC_REGC0_RegTTLTxCRCNum(N)    ((N) << MIPI_RX_CRC_REGC0_RegTTLTxCRCNum_SHIFT)
424 #define MIPI_RX_CRC_REGC0_RegEnTTLTxCRC_SHIFT  (0x07U)
425 #define MIPI_RX_CRC_REGC0_RegEnTTLTxCRC_MASK   (MIPI_RX_CRC_REGC0_RegEnTTLTxCRC(0x01U))
426 #define MIPI_RX_CRC_REGC0_RegEnTTLTxCRC(N)     ((N) << MIPI_RX_CRC_REGC0_RegEnTTLTxCRC_SHIFT)
427 
428 #define IT6161_VENDER_ID_REG     (0x0U)
429 #define IT6161_DEVICE_ID_REG     (0x2U)
430 #define IT6161_VENDER_ID_VALUE_L (0x54U)
431 #define IT6161_VENDER_ID_VALUE_H (0x49U)
432 #define IT6161_DEVICE_ID_VALUE_L (0x61U)
433 #define IT6161_DEVICE_ID_VALUE_H (0x61U)
434 
435 #define MIPIRX_Debug_message 1
436 #define DEBUG_MIPIRX
437 
438 //////////////////////////////////////////////////////////////////////
439 // reference: MIPI Alliance Specification for DSI Ch8.7 Table 16 Data Types for Processor-sourced Packets
440 #define RGB_24b   0x3E
441 #define RGB_30b   0x0D
442 #define RGB_36b   0x1D
443 #define RGB_18b   0x1E
444 #define RGB_18b_L 0x2E
445 #define YCbCr_16b 0x2C
446 #define YCbCr_20b 0x0C
447 #define YCbCr_24b 0x1C
448 
449 #define FrmPkt  0
450 #define SbSFull 3
451 #define TopBtm  6
452 #define SbSHalf 8
453 
454 #define DDC75K  0
455 #define DDC125K 1
456 #define DDC312K 2
457 
458 #define PICAR_NO  0
459 #define PICAR4_3  1
460 #define PICAR16_9 2
461 
462 #define ACTAR_PIC 8
463 #define ACTAR4_3  9
464 #define ACTAR16_9 10
465 #define ACTAR14_9 11
466 
467 #define LMDbgSel (0x00U)
468 
469 /* for PatGen */
470 #define EnRxPatGen (false)
471 
472 /* MP PtGen option */
473 #define MPVidType RGB_24b /* RGB_24b , RGB_18b, RGB_18b_L */
474 
475 #define InvMCLK    (true)
476 #define InvPCLK    (false)
477 #define MPLaneNum  (MIPIRX_LANE_NUM - 1) /* 0: 1-lane, 1: 2-lane, 2: 3-lane, 3: 4-lane */
478 #define EnMPx1PCLK (false)
479 /* system misc control */
480 #define PDREFCLK    (false) /* False :div1(20M) */
481 #define PDREFCNT    (0x00U) /* when PDREFCLK=(true), 0:div2, 1:div4, 2:div8, 3:divg16 */
482 #define EnIntWakeU3 (false)
483 #define EnIOIDDQ    (false)
484 #define EnStb2Rst   (false)
485 #define EnExtStdby  (false)
486 #define EnStandby   (false)
487 #define MPLaneSwap  (false)
488 #define MPPNSwap    (false) /* (true): MTK , (false): Solomon */
489 
490 #define DisPHSyncErr (false)
491 #define DisECCErr    (false)
492 
493 // PPI option
494 #define EnContCK      (true)
495 #define HSSetNum      (0x3U)
496 #define SkipStg       (0x4U)
497 #define EnDeSkew      (true)
498 #define PPIDbgSel     (0x00U)
499 #define RegIgnrNull   (0x01U)
500 #define RegIgnrBlk    (0x01U)
501 #define RegEnDummyECC (0x00U)
502 #define RegEnSyncErr  (false)
503 
504 // LM option
505 #define EOTPSel (0x00U)
506 
507 // PPS option
508 #define EnMBPM      (false) /* enable MIPI Bypass Mode */
509 #define PREC_Update (false) /* enable P-timing update */
510 #define MREC_Update (false) /* enable M-timing update */
511 #define REGSELDEF   (false)
512 #define EnMPExtPCLK (false)
513 #define MPForceStb  (false)
514 #define EnHReSync   (false)
515 #define EnVReSync   (false)
516 #define EnFReSync   (false)
517 #define EnVREnh     (false)
518 #define EnVREnhSel  (0x01U) /* 0:Div2, 1:Div4, 2:Div8, 3:Div16, 4:Div32 */
519 #define EnMAvg      (true)
520 #define MShift      (0x04U)
521 #define PShift      (0x03U)
522 #define EnFFAutoRst (true)
523 #define PPSFFRdStg  (0x04)
524 
525 #define EnTxCRC  (true)
526 #define TxCRCnum (0x00U)
527 
528 void MIPIRX_DumpRegs(display_handle_t *handle);
529 void MIPIRX_CalRclk(display_handle_t *handle);
530 void MIPIRX_AfeCfg(display_handle_t *handle);
531 void MIPIRX_CalMclk(display_handle_t *handle);
532 void MIPIRX_CalPclk(display_handle_t *handle);
533 void MIPIRX_ShowMRec(display_handle_t *handle);
534 void MIPIRX_ResetPDomain(display_handle_t *handle);
535 void HDMITX_GenerateBlankTiming(display_handle_t *handle);
536 void MIPIRX_ShowPrec(display_handle_t *handle);
537 void MIPIRX_Reg06_Process(display_handle_t *handle, uint8_t Reg06);
538 void MIPIRX_Reg07_Process(display_handle_t *handle, uint8_t Reg07);
539 void MIPIRX_Reg08_Process(display_handle_t *handle, uint8_t Reg08);
540 void MIPIRX_DevLoopProc(display_handle_t *handle);
541 #endif // _MIPIRX_H_
542