1 /* 2 * combo csi module 3 * 4 * Copyright (c) 2019 by Allwinnertech Co., Ltd. http://www.allwinnertech.com 5 * 6 * Authors: Zheng Zequn <zequnzheng@allwinnertech.com> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License version 2 as 10 * published by the Free Software Foundation. 11 */ 12 13 #ifndef __COMBO_CSI_REG_I_H__ 14 #define __COMBO_CSI_REG_I_H__ 15 16 /* 17 * Detail information of registers----PHY 18 */ 19 #define CMB_PHY_TOP_REG_OFF 0x000 20 #define CMB_PHY_PWDNZ 0 21 #define CMB_PHY_PWDNZ_MASK (0x1 << CMB_PHY_PWDNZ) 22 #define CMB_PHY_RSTN 1 23 #define CMB_PHY_RSTN_MASK (0x1 << CMB_PHY_RSTN) 24 #define CMB_PHY_VREF_EN 2 25 #define CMB_PHY_VREF_EN_MASK (0x1 << CMB_PHY_VREF_EN) 26 #define CMB_PHY_LVLDO_EN 3 27 #define CMB_PHY_LVLDO_EN_MASK (0x1 << CMB_PHY_LVLDO_EN) 28 #define CMB_PHY_VREF_OP2 8 29 #define CMB_PHY_VREF_OP2_MASK (0x3 << CMB_PHY_VREF_OP2) 30 #define CMB_PHY_VREF_OP9 10 31 #define CMB_PHY_VREF_OP9_MASK (0x3 << CMB_PHY_VREF_OP9) 32 #define CMB_PRBS_SEL 24 33 #define CMB_PRBS_SEL_MASK (0x3 << CMB_PRBS_SEL) 34 35 #define CMB_TRESCAL_REG_OFF 0x004 36 #define CMB_PHYA_TRESCAL_AUTO 0 37 #define CMB_PHYA_TRESCAL_AUTO_MASK (0x1 << CMB_PHYA_TRESCAL_AUTO) 38 #define CMB_PHYA_TRESCAL_SOFT 1 39 #define CMB_PHYA_TRESCAL_SOFT_MASK (0x1 << CMB_PHYA_TRESCAL_SOFT) 40 #define CMB_PHYA_TRESCAL_RESETN 2 41 #define CMB_PHYA_TRESCAL_RESETN_MASK (0x1 << CMB_PHYA_TRESCAL_RESETN) 42 #define CMB_PHYA_TRESCAL_FLAG 3 43 #define CMB_PHYA_TRESCAL_FLAG_MASK (0x1 << CMB_PHYA_TRESCAL_FLAG) 44 #define CMB_PHYA_TRESCAL_SET 4 45 #define CMB_PHYA_TRESCAL_SET_MASK (0x1F << CMB_PHYA_TRESCAL_SET) 46 #define CMB_PHYA_TRESCAL_RESULT 16 47 #define CMB_PHYA_TRESCAL_RESULT_MASK (0x1F << CMB_PHYA_TRESCAL_RESULT) 48 49 /* 50 * Detail information of registers----PHYA/B 51 */ 52 #define CMB_PHY_REG_OFF 0x100 53 #define CMB_PHY_BETWEEN_OFF 0x100 54 55 #define CMB_PHY_CTL_REG_OFF 0x000 56 #define CMB_PHY0_EN 0 57 #define CMB_PHY0_EN_MASK (0x1 << CMB_PHY0_EN) 58 #define CMB_PHY1_EN 1 59 #define CMB_PHY1_EN_MASK (0x1 << CMB_PHY1_EN) 60 #define CMB_PHY_LINK_MODE 2 61 #define CMB_PHY_LINK_MODE_MASK (0x1 << CMB_PHY_LINK_MODE) 62 #define CMB_PHY_LANEDT_EN 4 63 #define CMB_PHY_LANEDT_EN_MASK (0xf << CMB_PHY_LANEDT_EN) 64 #define CMB_PHY_LANECK_EN 8 65 #define CMB_PHY_LANECK_EN_MASK (0x3 << CMB_PHY_LANECK_EN) 66 #define CMB_PHY0_CK_SEL 10 67 #define CMB_PHY0_CK_SEL_MASK (0x1 << CMB_PHY0_CK_SEL) 68 #define CMB_PHY1_CK_SEL 11 69 #define CMB_PHY1_CK_SEL_MASK (0x1 << CMB_PHY1_CK_SEL) 70 #define CMB_PHY0_LP_PEFI 12 71 #define CMB_PHY0_LP_PEFI_MASK (0x1 << CMB_PHY0_LP_PEFI) 72 #define CMB_PHY1_LP_PEFI 13 73 #define CMB_PHY1_LP_PEFI_MASK (0x1 << CMB_PHY1_LP_PEFI) 74 #define CMB_PHY0_HS_PEFI 16 75 #define CMB_PHY0_HS_PEFI_MASK (0x7 << CMB_PHY0_HS_PEFI) 76 #define CMB_PHY0_VCM 19 77 #define CMB_PHY0_VCM_MASK (0x1 << CMB_PHY0_VCM) 78 #define CMB_PHY1_HS_PEFI 20 79 #define CMB_PHY1_HS_PEFI_MASK (0x7 << CMB_PHY1_HS_PEFI) 80 #define CMB_PHY1_VCM 23 81 #define CMB_PHY1_VCM_MASK (0x1 << CMB_PHY1_VCM) 82 #define CMB_PHY0_IBIAS_EN 26 83 #define CMB_PHY0_IBIAS_EN_MASK (0x1 << CMB_PHY0_IBIAS_EN) 84 #define CMB_PHY1_IBIAS_EN 27 85 #define CMB_PHY1_IBIAS_EN_MASK (0x1 << CMB_PHY1_IBIAS_EN) 86 #define CMB_PHY0_WORK_MODE 28 87 #define CMB_PHY0_WORK_MODE_MASK (0x3 << CMB_PHY0_WORK_MODE) 88 #define CMB_PHY1_WORK_MODE 30 89 #define CMB_PHY1_WORK_MODE_MASK (0x3 << CMB_PHY1_WORK_MODE) 90 91 #define CMB_PHY_EQ_REG_OFF 0x004 92 #define CMB_PHY_EQ_DT_EN 0 93 #define CMB_PHY_EQ_DT_EN_MASK (0xF << CMB_PHY_EQ_DT_EN) 94 #define CMB_PHY_EQ_CK_EN 4 95 #define CMB_PHY_EQ_CK_EN_MASK (0x3 << CMB_PHY_EQ_CK_EN) 96 #define CMB_PHY_EQ_LANED0 16 97 #define CMB_PHY_EQ_LANED0_MASK (0x3 << CMB_PHY_EQ_LANED0) 98 #define CMB_PHY_EQ_LANED1 18 99 #define CMB_PHY_EQ_LANED1_MASK (0x3 << CMB_PHY_EQ_LANED1) 100 #define CMB_PHY_EQ_LANED2 20 101 #define CMB_PHY_EQ_LANED2_MASK (0x3 << CMB_PHY_EQ_LANED2) 102 #define CMB_PHY_EQ_LANED3 22 103 #define CMB_PHY_EQ_LANED3_MASK (0x3 << CMB_PHY_EQ_LANED3) 104 #define CMB_PHY_EQ_LANECK0 24 105 #define CMB_PHY_EQ_LANECK0_MASK (0x3 << CMB_PHY_EQ_LANECK0) 106 #define CMB_PHY_EQ_LANECK1 26 107 #define CMB_PHY_EQ_LANECK1_MASK (0x3 << CMB_PHY_EQ_LANECK1) 108 109 #define CMB_PHY_OFSCAL0_OFF 0x008 110 #define CMB_PHY0_OFSCAL_AUTO 4 111 #define CMB_PHY0_OFSCAL_AUTO_MASK (0x1 << CMB_PHY0_OFSCAL_AUTO) 112 #define CMB_PHY1_OFSCAL_AUTO 5 113 #define CMB_PHY1_OFSCAL_AUTO_MASK (0x1 << CMB_PHY1_OFSCAL_AUTO) 114 #define CMB_PHY0_OFSCAL_SOFT 12 115 #define CMB_PHY0_OFSCAL_SOFT_MASK (0x1 << CMB_PHY0_OFSCAL_SOFT) 116 #define CMB_PHY1_OFSCAL_SOFT 13 117 #define CMB_PHY1_OFSCAL_SOFT_MASK (0x1 << CMB_PHY1_OFSCAL_SOFT) 118 #define CMB_PHY0_OFSCAL_RESETN 20 119 #define CMB_PHY0_OFSCAL_RESETN_MASK (0x1 << CMB_PHY0_OFSCAL_RESETN) 120 #define CMB_PHY1_OFSCAL_RESETN 21 121 #define CMB_PHY1_OFSCAL_RESETN_MASK (0x1 << CMB_PHY1_OFSCAL_RESETN) 122 #define CMB_PHY0_OFSCAL_FLAG 28 123 #define CMB_PHY0_OFSCAL_FLAG_MASK (0x1 << CMB_PHY0_OFSCAL_FLAG) 124 #define CMB_PHY1_OFSCAL_FLAG 29 125 #define CMB_PHY1_OFSCAL_FLAG_MASK (0x1 << CMB_PHY1_OFSCAL_FLAG) 126 127 #define CMB_PHY_OFSCAL1_OFF 0x00C 128 #define CMB_PHY0_OFSCAL_SET 20 129 #define CMB_PHY0_OFSCAL_SET_MASK (0x1F << CMB_PHY0_OFSCAL_SET) 130 #define CMB_PHY1_OFSCAL_SET 25 131 #define CMB_PHY1_OFSCAL_SET_MASK (0x1F << CMB_PHY1_OFSCAL_SET) 132 133 #define CMB_PHY_DESKEW0_OFF 0x014 134 #define CMB_PHY_DESKEW_EN 0 135 #define CMB_PHY_DESKEW_EN_MASK (0xF << CMB_PHY_DESKEW_EN) 136 #define CMB_PHY_DESKEW_PERIOD_EN 4 137 #define CMB_PHY_DESKEW_PERIOD_EN_MASK (0xF << CMB_PHY_DESKEW_PERIOD_EN) 138 #define CMB_PHY0_DESKEW_STEP 8 139 #define CMB_PHY0_DESKEW_STEP_MASK (0x3 << CMB_PHY0_DESKEW_STEP) 140 #define CMB_PHY1_DESKEW_STEP 10 141 #define CMB_PHY1_DESKEW_STEP_MASK (0x3 << CMB_PHY1_DESKEW_STEP) 142 143 #define CMB_PHY_DESKEW1_OFF 0x018 144 #define CMB_PHY_DESKEW_LANED0_SET 0 145 #define CMB_PHY_DESKEW_LANED0_SET_MASK (0x1F << CMB_PHY_DESKEW_LANED0_SET) 146 #define CMB_PHY_DESKEW_LANED1_SET 5 147 #define CMB_PHY_DESKEW_LANED1_SET_MASK (0x1F << CMB_PHY_DESKEW_LANED1_SET) 148 #define CMB_PHY_DESKEW_LANED2_SET 10 149 #define CMB_PHY_DESKEW_LANED2_SET_MASK (0x1F << CMB_PHY_DESKEW_LANED2_SET) 150 #define CMB_PHY_DESKEW_LANED3_SET 15 151 #define CMB_PHY_DESKEW_LANED3_SET_MASK (0x1F << CMB_PHY_DESKEW_LANED3_SET) 152 #define CMB_PHY_DESKEW_LANECK0_SET 20 153 #define CMB_PHY_DESKEW_LANECK0_SET_MASK (0x1F << CMB_PHY_DESKEW_LANECK0_SET) 154 #define CMB_PHY_DESKEW_LANECK1_SET 20 155 #define CMB_PHY_DESKEW_LANECK1_SET_MASK (0x1F << CMB_PHY_DESKEW_LANECK1_SET) 156 157 #define CMB_PHY_TERM_CTL_REG_OFF 0x020 158 #define CMB_PHY_TERMDT_EN 0 159 #define CMB_PHY_TERMDT_EN_MASK (0xf << CMB_PHY_TERMDT_EN) 160 #define CMB_PHY_TERMCK_EN 4 161 #define CMB_PHY_TERMCK_EN_MASK (0x3 << CMB_PHY_TERMCK_EN) 162 #define CMB_PHY0_TERM_EN_DLY 16 163 #define CMB_PHY0_TERM_EN_DLY_MASK (0xff << CMB_PHY0_TERM_EN_DLY) 164 #define CMB_PHY1_TERM_EN_DLY 24 165 #define CMB_PHY1_TERM_EN_DLY_MASK (0xff << CMB_PHY1_TERM_EN_DLY) 166 167 #define CMB_PHY_HS_CTL_REG_OFF 0x024 168 #define CMB_PHY_HSDT_EN 0 169 #define CMB_PHY_HSDT_EN_MASK (0xf << CMB_PHY_HSDT_EN) 170 #define CMB_PHY_HSCK_EN 4 171 #define CMB_PHY_HSCK_EN_MASK (0x3 << CMB_PHY_HSCK_EN) 172 #define CMB_PHY_HSDT_POLAR 8 173 #define CMB_PHY_HSDT_POLAR_MASK (0xf << CMB_PHY_HSDT_POLAR) 174 #define CMB_PHY_HSCK_POLAR 12 175 #define CMB_PHY_HSCK_POLAR_MASK (0xf << CMB_PHY_HSCK_POLAR) 176 #define CMB_PHY0_HS_DLY 16 177 #define CMB_PHY0_HS_DLY_MASK (0xff << CMB_PHY0_HS_DLY) 178 #define CMB_PHY1_HS_DLY 24 179 #define CMB_PHY1_HS_DLY_MASK (0xff << CMB_PHY1_HS_DLY) 180 181 #define CMB_PHY_S2P_CTL_REG_OFF 0x028 182 #define CMB_PHY_S2P_EN 0 183 #define CMB_PHY_S2P_EN_MASK (0xf << CMB_PHY_S2P_EN) 184 #define CMB_PHY0_S2P_WIDTH 8 185 #define CMB_PHY0_S2P_WIDTH_MASK (0x3 << CMB_PHY0_S2P_WIDTH) 186 #define CMB_PHY1_S2P_WIDTH 10 187 #define CMB_PHY1_S2P_WIDTH_MASK (0x3 << CMB_PHY1_S2P_WIDTH) 188 #define CMB_PHY0_S2P_DLY 16 189 #define CMB_PHY0_S2P_DLY_MASK (0xff << CMB_PHY0_S2P_DLY) 190 #define CMB_PHY1_S2P_DLY 24 191 #define CMB_PHY1_S2P_DLY_MASK (0xff << CMB_PHY1_S2P_DLY) 192 193 #define CMB_PHY_MIPIRX_CTL_REG_OFF 0x02C 194 #define CMB_PHY0_MIPIHS_ENDLAN 0 195 #define CMB_PHY0_MIPIHS_ENDLAN_MASK (0x1 << CMB_PHY0_MIPIHS_ENDLAN) 196 #define CMB_PHY1_MIPIHS_ENDLAN 1 197 #define CMB_PHY1_MIPIHS_ENDLAN_MASK (0x1 << CMB_PHY1_MIPIHS_ENDLAN) 198 #define CMB_PHY0_MIPIHS_SYNC_MODE 2 199 #define CMB_PHY0_MIPIHS_SYNC_MODE_MASK (0x1 << CMB_PHY0_MIPIHS_SYNC_MODE) 200 #define CMB_PHY1_MIPIHS_SYNC_MODE 3 201 #define CMB_PHY1_MIPIHS_SYNC_MODE_MASK (0x1 << CMB_PHY1_MIPIHS_SYNC_MODE) 202 #define CMB_PHY0_MIPIHS_8B9B 4 203 #define CMB_PHY0_MIPIHS_8B9B_MASK (0x1 << CMB_PHY0_MIPIHS_8B9B) 204 #define CMB_PHY1_MIPIHS_8B9B 5 205 #define CMB_PHY1_MIPIHS_8B9B_MASK (0x1 << CMB_PHY1_MIPIHS_8B9B) 206 #define CMB_PHY_MIPI_LPDT_EN 8 207 #define CMB_PHY_MIPI_LPDT_EN_MASK (0xf << CMB_PHY_MIPI_LPDT_EN) 208 #define CMB_PHY_MIPI_LPCK_EN 12 209 #define CMB_PHY_MIPI_LPCK_EN_MASK (0x3 << CMB_PHY_MIPI_LPCK_EN) 210 #define CMB_PHY0_MIPILP_DBC_EN 16 211 #define CMB_PHY0_MIPILP_DBC_EN_MASK (0x1 << CMB_PHY0_MIPILP_DBC_EN) 212 #define CMB_PHY1_MIPILP_DBC_EN 17 213 #define CMB_PHY1_MIPILP_DBC_EN_MASK (0x1 << CMB_PHY1_MIPILP_DBC_EN) 214 215 /* 216 * Detail information of registers----PORT0/1 217 */ 218 #define CMB_PORT_REG_OFF 0x1000 219 #define CMB_PORT_BETWEEN_OFF 0x400 220 221 #define CMB_PORT_CTL_REG_OFF 0x0000 222 #define CMB_PORT_EN 0 223 #define CMB_PORT_EN_MASK (0x1 << CMB_PORT_EN) 224 #define CMB_PORT_WORK_MODE 4 225 #define CMB_PORT_WORK_MODE_MASK (0x3 << CMB_PORT_WORK_MODE) 226 #define CMB_PORT_LANE_NUM 8 227 #define CMB_PORT_LANE_NUM_MASK (0xf << CMB_PORT_LANE_NUM) 228 #define CMB_PORT_CHANNEL_NUM 16 229 #define CMB_PORT_CHANNEL_NUM_MASK (0x3 << CMB_PORT_CHANNEL_NUM) 230 #define CMB_PORT_OUT_NUM 31 231 #define CMB_PORT_OUT_NUM_MASK (0x1 << CMB_PORT_OUT_NUM) 232 233 #define CMB_PORT_LANE_MAP_REG0_OFF 0x0004 234 #define CMB_PORT_LANE0_ID 0 235 #define CMB_PORT_LANE0_ID_MASK (0xf << CMB_PORT_LANE0_ID) 236 #define CMB_PORT_LANE1_ID 4 237 #define CMB_PORT_LANE1_ID_MASK (0xf << CMB_PORT_LANE1_ID) 238 #define CMB_PORT_LANE2_ID 8 239 #define CMB_PORT_LANE2_ID_MASK (0xf << CMB_PORT_LANE2_ID) 240 #define CMB_PORT_LANE3_ID 12 241 #define CMB_PORT_LANE3_ID_MASK (0xf << CMB_PORT_LANE3_ID) 242 #define CMB_PORT_LANE4_ID 16 243 #define CMB_PORT_LANE4_ID_MASK (0xf << CMB_PORT_LANE4_ID) 244 #define CMB_PORT_LANE5_ID 20 245 #define CMB_PORT_LANE5_ID_MASK (0xf << CMB_PORT_LANE5_ID) 246 #define CMB_PORT_LANE6_ID 24 247 #define CMB_PORT_LANE6_ID_MASK (0xf << CMB_PORT_LANE6_ID) 248 #define CMB_PORT_LANE7_ID 28 249 #define CMB_PORT_LANE7_ID_MASK (0xf << CMB_PORT_LANE7_ID) 250 251 #define CMB_PORT_LANE_MAP_REG1_OFF 0x0008 252 #define CMB_PORT_LANE8_ID 0 253 #define CMB_PORT_LANE8_ID_MASK (0xf << CMB_PORT_LANE8_ID) 254 #define CMB_PORT_LANE9_ID 4 255 #define CMB_PORT_LANE9_ID_MASK (0xf << CMB_PORT_LANE9_ID) 256 #define CMB_PORT_LANE10_ID 8 257 #define CMB_PORT_LANE10_ID_MASK (0xf << CMB_PORT_LANE10_ID) 258 #define CMB_PORT_LANE11_ID 12 259 #define CMB_PORT_LANE11_ID_MASK (0xf << CMB_PORT_LANE11_ID) 260 261 #define CMB_PORT_WDR_MODE_REG_OFF 0x000C 262 #define CMB_PORT_WDR_MODE 0 263 #define CMB_PORT_WDR_MODE_MASK (0x3 << CMB_PORT_WDR_MODE) 264 265 #define CMB_PORT_FID_SEL_REG_OFF 0x0010 266 #define CMB_PORT_FID0_MAP 0 267 #define CMB_PORT_FID0_MAP_MASK (0xf << CMB_PORT_FID0_MAP) 268 #define CMB_PORT_FID1_MAP 4 269 #define CMB_PORT_FID1_MAP_MASK (0xf << CMB_PORT_FID1_MAP) 270 #define CMB_PORT_FID2_MAP 8 271 #define CMB_PORT_FID2_MAP_MASK (0xf << CMB_PORT_FID2_MAP) 272 #define CMB_PORT_FID3_MAP 12 273 #define CMB_PORT_FID3_MAP_MASK (0xf << CMB_PORT_FID3_MAP) 274 #define CMB_PORT_FID_MAP_EN 16 275 #define CMB_PORT_FID_MAP_EN_MASK (0xf << CMB_PORT_FID_MAP_EN) 276 #define CMB_PORT_SYNC_CODE_WITH_PD 20 277 #define CMB_PORT_SYNC_CODE_WITH_PD_MASK (0xf << CMB_PORT_SYNC_CODE_WITH_PD) 278 #define CMB_PORT_FID_MODE 31 279 #define CMB_PORT_FID_MODE_MASK (0x1 << CMB_PORT_FID_MODE) 280 281 #define CMB_PORT_MIPI_CFG_REG_OFF 0x0100 282 #define CMB_MIPI_UNPACK_EN 0 283 #define CMB_MIPI_UNPACK_EN_MASK (0x1 << CMB_MIPI_UNPACK_EN) 284 #define CMB_MIPI_NO_UNPACK_ALL 1 285 #define CMB_MIPI_NO_UNPACK_ALL_MASK (0x1 << CMB_MIPI_NO_UNPACK_ALL) 286 #define CMB_EMBED_EN 2 287 #define CMB_EMBED_EN_MASK (0x1 << CMB_EMBED_EN) 288 #define CMB_MIPI_USER_DEF_EN 3 289 #define CMB_MIPI_USER_DEF_EN_MASK (0x1 << CMB_MIPI_USER_DEF_EN) 290 #define CMB_MIPI_PH_BYTEORD 4 291 #define CMB_MIPI_PH_BYTEORD_MASK (0x3 << CMB_MIPI_PH_BYTEORD) 292 #define CMB_MIPI_PH_BITOED 6 293 #define CMB_MIPI_PH_BITOED_MASK (0x1 << CMB_MIPI_PH_BITOED) 294 #define CMB_MIPI_PL_BITORD 7 295 #define CMB_MIPI_PL_BITORD_MASK (0x1 << CMB_MIPI_PL_BITORD) 296 #define CMB_MIPI_LINE_SYNC_EN 8 297 #define CMB_MIPI_LINE_SYNC_EN_MASK (0x1 << CMB_MIPI_LINE_SYNC_EN) 298 #define CMB_MIPI_YUV_SEQ 16 299 #define CMB_MIPI_YUV_SEQ_MASK (0x3 << CMB_MIPI_YUV_SEQ) 300 301 #define CMB_PORT_MIPI_NO_UNPAK_NUM_REG_OFF 0x0104 302 #define CMB_MIPI_NO_UNPACK_NUM_REG 0 303 #define CMB_MIPI_NO_UNPACK_NUM_REG_MASK (0xFFFF << CMB_MIPI_NO_UNPACK_NUM_REG) 304 305 #define CMB_PORT_MIPI_DI_REG_OFF 0x0108 306 #define CMB_MIPI_CH0_DT 0 307 #define CMB_MIPI_CH0_DT_MASK (0x3f << CMB_MIPI_CH0_DT) 308 #define CMB_MIPI_CH0_VC 6 309 #define CMB_MIPI_CH0_VC_MASK (0x3 << CMB_MIPI_CH0_VC) 310 #define CMB_MIPI_CH1_DT 8 311 #define CMB_MIPI_CH1_DT_MASK (0x3f << CMB_MIPI_CH1_DT) 312 #define CMB_MIPI_CH1_VC 14 313 #define CMB_MIPI_CH1_VC_MASK (0x3 << CMB_MIPI_CH1_VC) 314 #define CMB_MIPI_CH2_DT 16 315 #define CMB_MIPI_CH2_DT_MASK (0x3f << CMB_MIPI_CH2_DT) 316 #define CMB_MIPI_CH2_VC 22 317 #define CMB_MIPI_CH2_VC_MASK (0x3 << CMB_MIPI_CH2_VC) 318 #define CMB_MIPI_CH3_DT 24 319 #define CMB_MIPI_CH3_DT_MASK (0x3f << CMB_MIPI_CH3_DT) 320 #define CMB_MIPI_CH3_VC 30 321 #define CMB_MIPI_CH3_VC_MASK (0x3 << CMB_MIPI_CH3_VC) 322 323 #define CMB_PORT_MIPI_USER_DI_REG_OFF 0x010C 324 #define CMB_MIPI_USER0_DT 0 325 #define CMB_MIPI_USER0_DT_MASK (0x3f << CMB_MIPI_USER0_DT) 326 #define CMB_MIPI_USER0_DT_EN 7 327 #define CMB_MIPI_USER0_DT_EN_MASK (0x1 << CMB_MIPI_USER0_DT_EN) 328 #define CMB_MIPI_USER1_DT 8 329 #define CMB_MIPI_USER1_DT_MASK (0x3f << CMB_MIPI_USER1_DT) 330 #define CMB_MIPI_USER1_DT_EN 15 331 #define CMB_MIPI_USER1_DT_EN_MASK (0x1 << CMB_MIPI_USER1_DT_EN) 332 #define CMB_MIPI_USER2_DT 16 333 #define CMB_MIPI_USER2_DT_MASK (0x3f << CMB_MIPI_USER2_DT) 334 #define CMB_MIPI_USER2_DT_EN 23 335 #define CMB_MIPI_USER2_DT_EN_MASK (0x1 << CMB_MIPI_USER2_DT_EN) 336 #define CMB_MIPI_USER3_DT 24 337 #define CMB_MIPI_USER3_DT_MASK (0x3f << CMB_MIPI_USER3_DT) 338 #define CMB_MIPI_USER3_DT_EN 31 339 #define CMB_MIPI_USER3_DT_EN_MASK (0x1 << CMB_MIPI_USER3_DT_EN) 340 341 #define CMB_PORT_MIPI_DI_TRIG_REG_OFF 0x0110 342 #define CMB_MIPI_FS 0 343 #define CMB_MIPI_FS_MASK (0x1 << CMB_MIPI_FS) 344 #define CMB_MIPI_FE 1 345 #define CMB_MIPI_FE_MASK (0x1 << CMB_MIPI_FE) 346 #define CMB_MIPI_LS 2 347 #define CMB_MIPI_LS_MASK (0x1 << CMB_MIPI_LS) 348 #define CMB_MIPI_LE 3 349 #define CMB_MIPI_LE_MASK (0x1 << CMB_MIPI_LE) 350 #define CMB_MIPI_GS0 8 351 #define CMB_MIPI_GS0_MASK (0x1 << CMB_MIPI_GS0) 352 #define CMB_MIPI_GS1 9 353 #define CMB_MIPI_GS1_MASK (0x1 << CMB_MIPI_GS1) 354 #define CMB_MIPI_GS2 10 355 #define CMB_MIPI_GS2_MASK (0x1 << CMB_MIPI_GS2) 356 #define CMB_MIPI_GS3 11 357 #define CMB_MIPI_GS3_MASK (0x1 << CMB_MIPI_GS3) 358 #define CMB_MIPI_GS4 12 359 #define CMB_MIPI_GS4_MASK (0x1 << CMB_MIPI_GS4) 360 #define CMB_MIPI_GS5 13 361 #define CMB_MIPI_GS5_MASK (0x1 << CMB_MIPI_GS5) 362 #define CMB_MIPI_GS6 14 363 #define CMB_MIPI_GS6_MASK (0x1 << CMB_MIPI_GS6) 364 #define CMB_MIPI_GS7 15 365 #define CMB_MIPI_GS7_MASK (0x1 << CMB_MIPI_GS7) 366 #define CMB_MIPI_GL 16 367 #define CMB_MIPI_GL_MASK (0x1 << CMB_MIPI_GL) 368 #define CMB_MIPI_YUV 17 369 #define CMB_MIPI_YUV_MASK (0x1 << CMB_MIPI_YUV) 370 #define CMB_MIPI_RGB 18 371 #define CMB_MIPI_RGB_MASK (0x1 << CMB_MIPI_RGB) 372 #define CMB_MIPI_RAW 19 373 #define CMB_MIPI_RAW_MASK (0x1 << CMB_MIPI_RAW) 374 #define CMB_MIPI_SRC_IS_FIELD 30 375 #define CMB_MIPI_SRC_IS_FIELD_MASK (0x1 << CMB_MIPI_SRC_IS_FIELD) 376 #define CMB_MIPI_FIELD_REV 31 377 #define CMB_MIPI_FIELD_REV_MASK (0x1 << CMB_MIPI_FIELD_REV) 378 379 #endif 380