1 /* 2 * SPDX-FileCopyrightText: 2021 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include <stdint.h> 9 #include "soc/soc.h" 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 /** LCD_CAM_LCD_CLOCK_REG register 15 * LCD clock register 16 */ 17 #define LCD_CAM_LCD_CLOCK_REG (DR_REG_LCD_CAM_BASE + 0x0) 18 /** LCD_CAM_LCD_CLKCNT_N : R/W; bitpos: [5:0]; default: 3; 19 * f_LCD_PCLK = f_LCD_CLK / (reg_clkcnt_N + 1) when reg_clk_equ_sysclk is 0. 20 */ 21 #define LCD_CAM_LCD_CLKCNT_N 0x0000003FU 22 #define LCD_CAM_LCD_CLKCNT_N_M (LCD_CAM_LCD_CLKCNT_N_V << LCD_CAM_LCD_CLKCNT_N_S) 23 #define LCD_CAM_LCD_CLKCNT_N_V 0x0000003FU 24 #define LCD_CAM_LCD_CLKCNT_N_S 0 25 /** LCD_CAM_LCD_CLK_EQU_SYSCLK : R/W; bitpos: [6]; default: 1; 26 * 1: f_LCD_PCLK = f_LCD_CLK. 0: f_LCD_PCLK = f_LCD_CLK / (reg_clkcnt_N + 1). 27 */ 28 #define LCD_CAM_LCD_CLK_EQU_SYSCLK (BIT(6)) 29 #define LCD_CAM_LCD_CLK_EQU_SYSCLK_M (LCD_CAM_LCD_CLK_EQU_SYSCLK_V << LCD_CAM_LCD_CLK_EQU_SYSCLK_S) 30 #define LCD_CAM_LCD_CLK_EQU_SYSCLK_V 0x00000001U 31 #define LCD_CAM_LCD_CLK_EQU_SYSCLK_S 6 32 /** LCD_CAM_LCD_CK_IDLE_EDGE : R/W; bitpos: [7]; default: 0; 33 * 1: LCD_PCLK line is high when idle 0: LCD_PCLK line is low when idle. 34 */ 35 #define LCD_CAM_LCD_CK_IDLE_EDGE (BIT(7)) 36 #define LCD_CAM_LCD_CK_IDLE_EDGE_M (LCD_CAM_LCD_CK_IDLE_EDGE_V << LCD_CAM_LCD_CK_IDLE_EDGE_S) 37 #define LCD_CAM_LCD_CK_IDLE_EDGE_V 0x00000001U 38 #define LCD_CAM_LCD_CK_IDLE_EDGE_S 7 39 /** LCD_CAM_LCD_CK_OUT_EDGE : R/W; bitpos: [8]; default: 0; 40 * 1: LCD_PCLK high in first half clock cycle. 0: LCD_PCLK low in first half clock 41 * cycle. 42 */ 43 #define LCD_CAM_LCD_CK_OUT_EDGE (BIT(8)) 44 #define LCD_CAM_LCD_CK_OUT_EDGE_M (LCD_CAM_LCD_CK_OUT_EDGE_V << LCD_CAM_LCD_CK_OUT_EDGE_S) 45 #define LCD_CAM_LCD_CK_OUT_EDGE_V 0x00000001U 46 #define LCD_CAM_LCD_CK_OUT_EDGE_S 8 47 /** LCD_CAM_LCD_CLKM_DIV_NUM : R/W; bitpos: [16:9]; default: 4; 48 * Integral LCD clock divider value 49 */ 50 #define LCD_CAM_LCD_CLKM_DIV_NUM 0x000000FFU 51 #define LCD_CAM_LCD_CLKM_DIV_NUM_M (LCD_CAM_LCD_CLKM_DIV_NUM_V << LCD_CAM_LCD_CLKM_DIV_NUM_S) 52 #define LCD_CAM_LCD_CLKM_DIV_NUM_V 0x000000FFU 53 #define LCD_CAM_LCD_CLKM_DIV_NUM_S 9 54 /** LCD_CAM_LCD_CLKM_DIV_B : R/W; bitpos: [22:17]; default: 0; 55 * Fractional clock divider numerator value 56 */ 57 #define LCD_CAM_LCD_CLKM_DIV_B 0x0000003FU 58 #define LCD_CAM_LCD_CLKM_DIV_B_M (LCD_CAM_LCD_CLKM_DIV_B_V << LCD_CAM_LCD_CLKM_DIV_B_S) 59 #define LCD_CAM_LCD_CLKM_DIV_B_V 0x0000003FU 60 #define LCD_CAM_LCD_CLKM_DIV_B_S 17 61 /** LCD_CAM_LCD_CLKM_DIV_A : R/W; bitpos: [28:23]; default: 0; 62 * Fractional clock divider denominator value 63 */ 64 #define LCD_CAM_LCD_CLKM_DIV_A 0x0000003FU 65 #define LCD_CAM_LCD_CLKM_DIV_A_M (LCD_CAM_LCD_CLKM_DIV_A_V << LCD_CAM_LCD_CLKM_DIV_A_S) 66 #define LCD_CAM_LCD_CLKM_DIV_A_V 0x0000003FU 67 #define LCD_CAM_LCD_CLKM_DIV_A_S 23 68 /** LCD_CAM_LCD_CLK_SEL : R/W; bitpos: [30:29]; default: 0; 69 * Select LCD module source clock. 0: no clock. 1: APLL. 2: CLK160. 3: no clock. 70 */ 71 #define LCD_CAM_LCD_CLK_SEL 0x00000003U 72 #define LCD_CAM_LCD_CLK_SEL_M (LCD_CAM_LCD_CLK_SEL_V << LCD_CAM_LCD_CLK_SEL_S) 73 #define LCD_CAM_LCD_CLK_SEL_V 0x00000003U 74 #define LCD_CAM_LCD_CLK_SEL_S 29 75 /** LCD_CAM_CLK_EN : R/W; bitpos: [31]; default: 0; 76 * Set this bit to enable clk gate 77 */ 78 #define LCD_CAM_CLK_EN (BIT(31)) 79 #define LCD_CAM_CLK_EN_M (LCD_CAM_CLK_EN_V << LCD_CAM_CLK_EN_S) 80 #define LCD_CAM_CLK_EN_V 0x00000001U 81 #define LCD_CAM_CLK_EN_S 31 82 83 /** LCD_CAM_CAM_CTRL_REG register 84 * Camera configuration register 85 */ 86 #define LCD_CAM_CAM_CTRL_REG (DR_REG_LCD_CAM_BASE + 0x4) 87 /** LCD_CAM_CAM_STOP_EN : R/W; bitpos: [0]; default: 0; 88 * Camera stop enable signal, 1: camera stops when DMA Rx FIFO is full. 0: Not stop. 89 */ 90 #define LCD_CAM_CAM_STOP_EN (BIT(0)) 91 #define LCD_CAM_CAM_STOP_EN_M (LCD_CAM_CAM_STOP_EN_V << LCD_CAM_CAM_STOP_EN_S) 92 #define LCD_CAM_CAM_STOP_EN_V 0x00000001U 93 #define LCD_CAM_CAM_STOP_EN_S 0 94 /** LCD_CAM_CAM_VSYNC_FILTER_THRES : R/W; bitpos: [3:1]; default: 0; 95 * Filter threshold value for CAM_VSYNC signal. 96 */ 97 #define LCD_CAM_CAM_VSYNC_FILTER_THRES 0x00000007U 98 #define LCD_CAM_CAM_VSYNC_FILTER_THRES_M (LCD_CAM_CAM_VSYNC_FILTER_THRES_V << LCD_CAM_CAM_VSYNC_FILTER_THRES_S) 99 #define LCD_CAM_CAM_VSYNC_FILTER_THRES_V 0x00000007U 100 #define LCD_CAM_CAM_VSYNC_FILTER_THRES_S 1 101 /** LCD_CAM_CAM_UPDATE_REG : R/W; bitpos: [4]; default: 0; 102 * 1: Update Camera registers, will be cleared by hardware. 0 : Not care. 103 */ 104 #define LCD_CAM_CAM_UPDATE_REG (BIT(4)) 105 #define LCD_CAM_CAM_UPDATE_REG_M (LCD_CAM_CAM_UPDATE_REG_V << LCD_CAM_CAM_UPDATE_REG_S) 106 #define LCD_CAM_CAM_UPDATE_REG_V 0x00000001U 107 #define LCD_CAM_CAM_UPDATE_REG_S 4 108 /** LCD_CAM_CAM_BYTE_ORDER : R/W; bitpos: [5]; default: 0; 109 * 1: Change data bit order, change CAM_DATA_in[7:0] to CAM_DATA_in[0:7] in one byte 110 * mode, and bits[15:0] to bits[0:15] in two byte mode. 0: Not change. 111 */ 112 #define LCD_CAM_CAM_BYTE_ORDER (BIT(5)) 113 #define LCD_CAM_CAM_BYTE_ORDER_M (LCD_CAM_CAM_BYTE_ORDER_V << LCD_CAM_CAM_BYTE_ORDER_S) 114 #define LCD_CAM_CAM_BYTE_ORDER_V 0x00000001U 115 #define LCD_CAM_CAM_BYTE_ORDER_S 5 116 /** LCD_CAM_CAM_BIT_ORDER : R/W; bitpos: [6]; default: 0; 117 * 1: invert data byte order, only valid in 2 byte mode. 0: Not change. 118 */ 119 #define LCD_CAM_CAM_BIT_ORDER (BIT(6)) 120 #define LCD_CAM_CAM_BIT_ORDER_M (LCD_CAM_CAM_BIT_ORDER_V << LCD_CAM_CAM_BIT_ORDER_S) 121 #define LCD_CAM_CAM_BIT_ORDER_V 0x00000001U 122 #define LCD_CAM_CAM_BIT_ORDER_S 6 123 /** LCD_CAM_CAM_LINE_INT_EN : R/W; bitpos: [7]; default: 0; 124 * 1: Enable to generate CAM_HS_INT. 0: Disable. 125 */ 126 #define LCD_CAM_CAM_LINE_INT_EN (BIT(7)) 127 #define LCD_CAM_CAM_LINE_INT_EN_M (LCD_CAM_CAM_LINE_INT_EN_V << LCD_CAM_CAM_LINE_INT_EN_S) 128 #define LCD_CAM_CAM_LINE_INT_EN_V 0x00000001U 129 #define LCD_CAM_CAM_LINE_INT_EN_S 7 130 /** LCD_CAM_CAM_VS_EOF_EN : R/W; bitpos: [8]; default: 0; 131 * 1: CAM_VSYNC to generate in_suc_eof. 0: in_suc_eof is controlled by 132 * reg_cam_rec_data_cyclelen. 133 */ 134 #define LCD_CAM_CAM_VS_EOF_EN (BIT(8)) 135 #define LCD_CAM_CAM_VS_EOF_EN_M (LCD_CAM_CAM_VS_EOF_EN_V << LCD_CAM_CAM_VS_EOF_EN_S) 136 #define LCD_CAM_CAM_VS_EOF_EN_V 0x00000001U 137 #define LCD_CAM_CAM_VS_EOF_EN_S 8 138 /** LCD_CAM_CAM_CLKM_DIV_NUM : R/W; bitpos: [16:9]; default: 4; 139 * Integral Camera clock divider value 140 */ 141 #define LCD_CAM_CAM_CLKM_DIV_NUM 0x000000FFU 142 #define LCD_CAM_CAM_CLKM_DIV_NUM_M (LCD_CAM_CAM_CLKM_DIV_NUM_V << LCD_CAM_CAM_CLKM_DIV_NUM_S) 143 #define LCD_CAM_CAM_CLKM_DIV_NUM_V 0x000000FFU 144 #define LCD_CAM_CAM_CLKM_DIV_NUM_S 9 145 /** LCD_CAM_CAM_CLKM_DIV_B : R/W; bitpos: [22:17]; default: 0; 146 * Fractional clock divider numerator value 147 */ 148 #define LCD_CAM_CAM_CLKM_DIV_B 0x0000003FU 149 #define LCD_CAM_CAM_CLKM_DIV_B_M (LCD_CAM_CAM_CLKM_DIV_B_V << LCD_CAM_CAM_CLKM_DIV_B_S) 150 #define LCD_CAM_CAM_CLKM_DIV_B_V 0x0000003FU 151 #define LCD_CAM_CAM_CLKM_DIV_B_S 17 152 /** LCD_CAM_CAM_CLKM_DIV_A : R/W; bitpos: [28:23]; default: 0; 153 * Fractional clock divider denominator value 154 */ 155 #define LCD_CAM_CAM_CLKM_DIV_A 0x0000003FU 156 #define LCD_CAM_CAM_CLKM_DIV_A_M (LCD_CAM_CAM_CLKM_DIV_A_V << LCD_CAM_CAM_CLKM_DIV_A_S) 157 #define LCD_CAM_CAM_CLKM_DIV_A_V 0x0000003FU 158 #define LCD_CAM_CAM_CLKM_DIV_A_S 23 159 /** LCD_CAM_CAM_CLK_SEL : R/W; bitpos: [30:29]; default: 0; 160 * Select Camera module source clock. 0: no clock. 1: APLL. 2: CLK160. 3: no clock. 161 */ 162 #define LCD_CAM_CAM_CLK_SEL 0x00000003U 163 #define LCD_CAM_CAM_CLK_SEL_M (LCD_CAM_CAM_CLK_SEL_V << LCD_CAM_CAM_CLK_SEL_S) 164 #define LCD_CAM_CAM_CLK_SEL_V 0x00000003U 165 #define LCD_CAM_CAM_CLK_SEL_S 29 166 167 /** LCD_CAM_CAM_CTRL1_REG register 168 * Camera configuration register 169 */ 170 #define LCD_CAM_CAM_CTRL1_REG (DR_REG_LCD_CAM_BASE + 0x8) 171 /** LCD_CAM_CAM_REC_DATA_BYTELEN : R/W; bitpos: [15:0]; default: 0; 172 * Camera receive data byte length minus 1 to set DMA in_suc_eof_int. 173 */ 174 #define LCD_CAM_CAM_REC_DATA_BYTELEN 0x0000FFFFU 175 #define LCD_CAM_CAM_REC_DATA_BYTELEN_M (LCD_CAM_CAM_REC_DATA_BYTELEN_V << LCD_CAM_CAM_REC_DATA_BYTELEN_S) 176 #define LCD_CAM_CAM_REC_DATA_BYTELEN_V 0x0000FFFFU 177 #define LCD_CAM_CAM_REC_DATA_BYTELEN_S 0 178 /** LCD_CAM_CAM_LINE_INT_NUM : R/W; bitpos: [21:16]; default: 0; 179 * The line number minus 1 to generate cam_hs_int. 180 */ 181 #define LCD_CAM_CAM_LINE_INT_NUM 0x0000003FU 182 #define LCD_CAM_CAM_LINE_INT_NUM_M (LCD_CAM_CAM_LINE_INT_NUM_V << LCD_CAM_CAM_LINE_INT_NUM_S) 183 #define LCD_CAM_CAM_LINE_INT_NUM_V 0x0000003FU 184 #define LCD_CAM_CAM_LINE_INT_NUM_S 16 185 /** LCD_CAM_CAM_CLK_INV : R/W; bitpos: [22]; default: 0; 186 * 1: Invert the input signal CAM_PCLK. 0: Not invert. 187 */ 188 #define LCD_CAM_CAM_CLK_INV (BIT(22)) 189 #define LCD_CAM_CAM_CLK_INV_M (LCD_CAM_CAM_CLK_INV_V << LCD_CAM_CAM_CLK_INV_S) 190 #define LCD_CAM_CAM_CLK_INV_V 0x00000001U 191 #define LCD_CAM_CAM_CLK_INV_S 22 192 /** LCD_CAM_CAM_VSYNC_FILTER_EN : R/W; bitpos: [23]; default: 0; 193 * 1: Enable CAM_VSYNC filter function. 0: bypass. 194 */ 195 #define LCD_CAM_CAM_VSYNC_FILTER_EN (BIT(23)) 196 #define LCD_CAM_CAM_VSYNC_FILTER_EN_M (LCD_CAM_CAM_VSYNC_FILTER_EN_V << LCD_CAM_CAM_VSYNC_FILTER_EN_S) 197 #define LCD_CAM_CAM_VSYNC_FILTER_EN_V 0x00000001U 198 #define LCD_CAM_CAM_VSYNC_FILTER_EN_S 23 199 /** LCD_CAM_CAM_2BYTE_EN : R/W; bitpos: [24]; default: 0; 200 * 1: The bit number of input data is 9~16. 0: The bit number of input data is 0~8. 201 */ 202 #define LCD_CAM_CAM_2BYTE_EN (BIT(24)) 203 #define LCD_CAM_CAM_2BYTE_EN_M (LCD_CAM_CAM_2BYTE_EN_V << LCD_CAM_CAM_2BYTE_EN_S) 204 #define LCD_CAM_CAM_2BYTE_EN_V 0x00000001U 205 #define LCD_CAM_CAM_2BYTE_EN_S 24 206 /** LCD_CAM_CAM_DE_INV : R/W; bitpos: [25]; default: 0; 207 * CAM_DE invert enable signal, valid in high level. 208 */ 209 #define LCD_CAM_CAM_DE_INV (BIT(25)) 210 #define LCD_CAM_CAM_DE_INV_M (LCD_CAM_CAM_DE_INV_V << LCD_CAM_CAM_DE_INV_S) 211 #define LCD_CAM_CAM_DE_INV_V 0x00000001U 212 #define LCD_CAM_CAM_DE_INV_S 25 213 /** LCD_CAM_CAM_HSYNC_INV : R/W; bitpos: [26]; default: 0; 214 * CAM_HSYNC invert enable signal, valid in high level. 215 */ 216 #define LCD_CAM_CAM_HSYNC_INV (BIT(26)) 217 #define LCD_CAM_CAM_HSYNC_INV_M (LCD_CAM_CAM_HSYNC_INV_V << LCD_CAM_CAM_HSYNC_INV_S) 218 #define LCD_CAM_CAM_HSYNC_INV_V 0x00000001U 219 #define LCD_CAM_CAM_HSYNC_INV_S 26 220 /** LCD_CAM_CAM_VSYNC_INV : R/W; bitpos: [27]; default: 0; 221 * CAM_VSYNC invert enable signal, valid in high level. 222 */ 223 #define LCD_CAM_CAM_VSYNC_INV (BIT(27)) 224 #define LCD_CAM_CAM_VSYNC_INV_M (LCD_CAM_CAM_VSYNC_INV_V << LCD_CAM_CAM_VSYNC_INV_S) 225 #define LCD_CAM_CAM_VSYNC_INV_V 0x00000001U 226 #define LCD_CAM_CAM_VSYNC_INV_S 27 227 /** LCD_CAM_CAM_VH_DE_MODE_EN : R/W; bitpos: [28]; default: 0; 228 * 1: Input control signals are CAM_DE CAM_HSYNC and CAM_VSYNC is 1. 0: Input control 229 * signals are CAM_DE and CAM_VSYNC. CAM_HSYNC and CAM_DE are all 1 the the same time. 230 */ 231 #define LCD_CAM_CAM_VH_DE_MODE_EN (BIT(28)) 232 #define LCD_CAM_CAM_VH_DE_MODE_EN_M (LCD_CAM_CAM_VH_DE_MODE_EN_V << LCD_CAM_CAM_VH_DE_MODE_EN_S) 233 #define LCD_CAM_CAM_VH_DE_MODE_EN_V 0x00000001U 234 #define LCD_CAM_CAM_VH_DE_MODE_EN_S 28 235 /** LCD_CAM_CAM_START : R/W; bitpos: [29]; default: 0; 236 * Camera module start signal. 237 */ 238 #define LCD_CAM_CAM_START (BIT(29)) 239 #define LCD_CAM_CAM_START_M (LCD_CAM_CAM_START_V << LCD_CAM_CAM_START_S) 240 #define LCD_CAM_CAM_START_V 0x00000001U 241 #define LCD_CAM_CAM_START_S 29 242 /** LCD_CAM_CAM_RESET : WO; bitpos: [30]; default: 0; 243 * Camera module reset signal. 244 */ 245 #define LCD_CAM_CAM_RESET (BIT(30)) 246 #define LCD_CAM_CAM_RESET_M (LCD_CAM_CAM_RESET_V << LCD_CAM_CAM_RESET_S) 247 #define LCD_CAM_CAM_RESET_V 0x00000001U 248 #define LCD_CAM_CAM_RESET_S 30 249 /** LCD_CAM_CAM_AFIFO_RESET : WO; bitpos: [31]; default: 0; 250 * Camera AFIFO reset signal. 251 */ 252 #define LCD_CAM_CAM_AFIFO_RESET (BIT(31)) 253 #define LCD_CAM_CAM_AFIFO_RESET_M (LCD_CAM_CAM_AFIFO_RESET_V << LCD_CAM_CAM_AFIFO_RESET_S) 254 #define LCD_CAM_CAM_AFIFO_RESET_V 0x00000001U 255 #define LCD_CAM_CAM_AFIFO_RESET_S 31 256 257 /** LCD_CAM_CAM_RGB_YUV_REG register 258 * Camera configuration register 259 */ 260 #define LCD_CAM_CAM_RGB_YUV_REG (DR_REG_LCD_CAM_BASE + 0xc) 261 /** LCD_CAM_CAM_CONV_8BITS_DATA_INV : R/W; bitpos: [21]; default: 0; 262 * 1:invert every two 8bits input data. 2. disabled. 263 */ 264 #define LCD_CAM_CAM_CONV_8BITS_DATA_INV (BIT(21)) 265 #define LCD_CAM_CAM_CONV_8BITS_DATA_INV_M (LCD_CAM_CAM_CONV_8BITS_DATA_INV_V << LCD_CAM_CAM_CONV_8BITS_DATA_INV_S) 266 #define LCD_CAM_CAM_CONV_8BITS_DATA_INV_V 0x00000001U 267 #define LCD_CAM_CAM_CONV_8BITS_DATA_INV_S 21 268 /** LCD_CAM_CAM_CONV_YUV2YUV_MODE : R/W; bitpos: [23:22]; default: 3; 269 * 0: to yuv422. 1: to yuv420. 2: to yuv411. 3: disabled. To enable yuv2yuv mode, 270 * trans_mode must be set to 1. 271 */ 272 #define LCD_CAM_CAM_CONV_YUV2YUV_MODE 0x00000003U 273 #define LCD_CAM_CAM_CONV_YUV2YUV_MODE_M (LCD_CAM_CAM_CONV_YUV2YUV_MODE_V << LCD_CAM_CAM_CONV_YUV2YUV_MODE_S) 274 #define LCD_CAM_CAM_CONV_YUV2YUV_MODE_V 0x00000003U 275 #define LCD_CAM_CAM_CONV_YUV2YUV_MODE_S 22 276 /** LCD_CAM_CAM_CONV_YUV_MODE : R/W; bitpos: [25:24]; default: 0; 277 * 0: yuv422. 1: yuv420. 2: yuv411. When in yuv2yuv mode, yuv_mode decides the yuv 278 * mode of Data_in 279 */ 280 #define LCD_CAM_CAM_CONV_YUV_MODE 0x00000003U 281 #define LCD_CAM_CAM_CONV_YUV_MODE_M (LCD_CAM_CAM_CONV_YUV_MODE_V << LCD_CAM_CAM_CONV_YUV_MODE_S) 282 #define LCD_CAM_CAM_CONV_YUV_MODE_V 0x00000003U 283 #define LCD_CAM_CAM_CONV_YUV_MODE_S 24 284 /** LCD_CAM_CAM_CONV_PROTOCOL_MODE : R/W; bitpos: [26]; default: 0; 285 * 0:BT601. 1:BT709. 286 */ 287 #define LCD_CAM_CAM_CONV_PROTOCOL_MODE (BIT(26)) 288 #define LCD_CAM_CAM_CONV_PROTOCOL_MODE_M (LCD_CAM_CAM_CONV_PROTOCOL_MODE_V << LCD_CAM_CAM_CONV_PROTOCOL_MODE_S) 289 #define LCD_CAM_CAM_CONV_PROTOCOL_MODE_V 0x00000001U 290 #define LCD_CAM_CAM_CONV_PROTOCOL_MODE_S 26 291 /** LCD_CAM_CAM_CONV_DATA_OUT_MODE : R/W; bitpos: [27]; default: 0; 292 * LIMIT or FULL mode of Data out. 0: limit. 1: full 293 */ 294 #define LCD_CAM_CAM_CONV_DATA_OUT_MODE (BIT(27)) 295 #define LCD_CAM_CAM_CONV_DATA_OUT_MODE_M (LCD_CAM_CAM_CONV_DATA_OUT_MODE_V << LCD_CAM_CAM_CONV_DATA_OUT_MODE_S) 296 #define LCD_CAM_CAM_CONV_DATA_OUT_MODE_V 0x00000001U 297 #define LCD_CAM_CAM_CONV_DATA_OUT_MODE_S 27 298 /** LCD_CAM_CAM_CONV_DATA_IN_MODE : R/W; bitpos: [28]; default: 0; 299 * LIMIT or FULL mode of Data in. 0: limit. 1: full 300 */ 301 #define LCD_CAM_CAM_CONV_DATA_IN_MODE (BIT(28)) 302 #define LCD_CAM_CAM_CONV_DATA_IN_MODE_M (LCD_CAM_CAM_CONV_DATA_IN_MODE_V << LCD_CAM_CAM_CONV_DATA_IN_MODE_S) 303 #define LCD_CAM_CAM_CONV_DATA_IN_MODE_V 0x00000001U 304 #define LCD_CAM_CAM_CONV_DATA_IN_MODE_S 28 305 /** LCD_CAM_CAM_CONV_MODE_8BITS_ON : R/W; bitpos: [29]; default: 0; 306 * 0: 16bits mode. 1: 8bits mode. 307 */ 308 #define LCD_CAM_CAM_CONV_MODE_8BITS_ON (BIT(29)) 309 #define LCD_CAM_CAM_CONV_MODE_8BITS_ON_M (LCD_CAM_CAM_CONV_MODE_8BITS_ON_V << LCD_CAM_CAM_CONV_MODE_8BITS_ON_S) 310 #define LCD_CAM_CAM_CONV_MODE_8BITS_ON_V 0x00000001U 311 #define LCD_CAM_CAM_CONV_MODE_8BITS_ON_S 29 312 /** LCD_CAM_CAM_CONV_TRANS_MODE : R/W; bitpos: [30]; default: 0; 313 * 0: YUV to RGB. 1: RGB to YUV. 314 */ 315 #define LCD_CAM_CAM_CONV_TRANS_MODE (BIT(30)) 316 #define LCD_CAM_CAM_CONV_TRANS_MODE_M (LCD_CAM_CAM_CONV_TRANS_MODE_V << LCD_CAM_CAM_CONV_TRANS_MODE_S) 317 #define LCD_CAM_CAM_CONV_TRANS_MODE_V 0x00000001U 318 #define LCD_CAM_CAM_CONV_TRANS_MODE_S 30 319 /** LCD_CAM_CAM_CONV_BYPASS : R/W; bitpos: [31]; default: 0; 320 * 0: Bypass converter. 1: Enable converter. 321 */ 322 #define LCD_CAM_CAM_CONV_BYPASS (BIT(31)) 323 #define LCD_CAM_CAM_CONV_BYPASS_M (LCD_CAM_CAM_CONV_BYPASS_V << LCD_CAM_CAM_CONV_BYPASS_S) 324 #define LCD_CAM_CAM_CONV_BYPASS_V 0x00000001U 325 #define LCD_CAM_CAM_CONV_BYPASS_S 31 326 327 /** LCD_CAM_LCD_RGB_YUV_REG register 328 * LCD configuration register 329 */ 330 #define LCD_CAM_LCD_RGB_YUV_REG (DR_REG_LCD_CAM_BASE + 0x10) 331 /** LCD_CAM_LCD_CONV_8BITS_DATA_INV : R/W; bitpos: [20]; default: 0; 332 * 1:invert every two 8bits input data. 2. disabled. 333 */ 334 #define LCD_CAM_LCD_CONV_8BITS_DATA_INV (BIT(20)) 335 #define LCD_CAM_LCD_CONV_8BITS_DATA_INV_M (LCD_CAM_LCD_CONV_8BITS_DATA_INV_V << LCD_CAM_LCD_CONV_8BITS_DATA_INV_S) 336 #define LCD_CAM_LCD_CONV_8BITS_DATA_INV_V 0x00000001U 337 #define LCD_CAM_LCD_CONV_8BITS_DATA_INV_S 20 338 /** LCD_CAM_LCD_CONV_TXTORX : R/W; bitpos: [21]; default: 0; 339 * 0: txtorx mode off. 1: txtorx mode on. 340 */ 341 #define LCD_CAM_LCD_CONV_TXTORX (BIT(21)) 342 #define LCD_CAM_LCD_CONV_TXTORX_M (LCD_CAM_LCD_CONV_TXTORX_V << LCD_CAM_LCD_CONV_TXTORX_S) 343 #define LCD_CAM_LCD_CONV_TXTORX_V 0x00000001U 344 #define LCD_CAM_LCD_CONV_TXTORX_S 21 345 /** LCD_CAM_LCD_CONV_YUV2YUV_MODE : R/W; bitpos: [23:22]; default: 3; 346 * 0: to yuv422. 1: to yuv420. 2: to yuv411. 3: disabled. To enable yuv2yuv mode, 347 * trans_mode must be set to 1. 348 */ 349 #define LCD_CAM_LCD_CONV_YUV2YUV_MODE 0x00000003U 350 #define LCD_CAM_LCD_CONV_YUV2YUV_MODE_M (LCD_CAM_LCD_CONV_YUV2YUV_MODE_V << LCD_CAM_LCD_CONV_YUV2YUV_MODE_S) 351 #define LCD_CAM_LCD_CONV_YUV2YUV_MODE_V 0x00000003U 352 #define LCD_CAM_LCD_CONV_YUV2YUV_MODE_S 22 353 /** LCD_CAM_LCD_CONV_YUV_MODE : R/W; bitpos: [25:24]; default: 0; 354 * 0: yuv422. 1: yuv420. 2: yuv411. When in yuv2yuv mode, yuv_mode decides the yuv 355 * mode of Data_in 356 */ 357 #define LCD_CAM_LCD_CONV_YUV_MODE 0x00000003U 358 #define LCD_CAM_LCD_CONV_YUV_MODE_M (LCD_CAM_LCD_CONV_YUV_MODE_V << LCD_CAM_LCD_CONV_YUV_MODE_S) 359 #define LCD_CAM_LCD_CONV_YUV_MODE_V 0x00000003U 360 #define LCD_CAM_LCD_CONV_YUV_MODE_S 24 361 /** LCD_CAM_LCD_CONV_PROTOCOL_MODE : R/W; bitpos: [26]; default: 0; 362 * 0:BT601. 1:BT709. 363 */ 364 #define LCD_CAM_LCD_CONV_PROTOCOL_MODE (BIT(26)) 365 #define LCD_CAM_LCD_CONV_PROTOCOL_MODE_M (LCD_CAM_LCD_CONV_PROTOCOL_MODE_V << LCD_CAM_LCD_CONV_PROTOCOL_MODE_S) 366 #define LCD_CAM_LCD_CONV_PROTOCOL_MODE_V 0x00000001U 367 #define LCD_CAM_LCD_CONV_PROTOCOL_MODE_S 26 368 /** LCD_CAM_LCD_CONV_DATA_OUT_MODE : R/W; bitpos: [27]; default: 0; 369 * LIMIT or FULL mode of Data out. 0: limit. 1: full 370 */ 371 #define LCD_CAM_LCD_CONV_DATA_OUT_MODE (BIT(27)) 372 #define LCD_CAM_LCD_CONV_DATA_OUT_MODE_M (LCD_CAM_LCD_CONV_DATA_OUT_MODE_V << LCD_CAM_LCD_CONV_DATA_OUT_MODE_S) 373 #define LCD_CAM_LCD_CONV_DATA_OUT_MODE_V 0x00000001U 374 #define LCD_CAM_LCD_CONV_DATA_OUT_MODE_S 27 375 /** LCD_CAM_LCD_CONV_DATA_IN_MODE : R/W; bitpos: [28]; default: 0; 376 * LIMIT or FULL mode of Data in. 0: limit. 1: full 377 */ 378 #define LCD_CAM_LCD_CONV_DATA_IN_MODE (BIT(28)) 379 #define LCD_CAM_LCD_CONV_DATA_IN_MODE_M (LCD_CAM_LCD_CONV_DATA_IN_MODE_V << LCD_CAM_LCD_CONV_DATA_IN_MODE_S) 380 #define LCD_CAM_LCD_CONV_DATA_IN_MODE_V 0x00000001U 381 #define LCD_CAM_LCD_CONV_DATA_IN_MODE_S 28 382 /** LCD_CAM_LCD_CONV_MODE_8BITS_ON : R/W; bitpos: [29]; default: 0; 383 * 0: 16bits mode. 1: 8bits mode. 384 */ 385 #define LCD_CAM_LCD_CONV_MODE_8BITS_ON (BIT(29)) 386 #define LCD_CAM_LCD_CONV_MODE_8BITS_ON_M (LCD_CAM_LCD_CONV_MODE_8BITS_ON_V << LCD_CAM_LCD_CONV_MODE_8BITS_ON_S) 387 #define LCD_CAM_LCD_CONV_MODE_8BITS_ON_V 0x00000001U 388 #define LCD_CAM_LCD_CONV_MODE_8BITS_ON_S 29 389 /** LCD_CAM_LCD_CONV_TRANS_MODE : R/W; bitpos: [30]; default: 0; 390 * 0: YUV to RGB. 1: RGB to YUV. 391 */ 392 #define LCD_CAM_LCD_CONV_TRANS_MODE (BIT(30)) 393 #define LCD_CAM_LCD_CONV_TRANS_MODE_M (LCD_CAM_LCD_CONV_TRANS_MODE_V << LCD_CAM_LCD_CONV_TRANS_MODE_S) 394 #define LCD_CAM_LCD_CONV_TRANS_MODE_V 0x00000001U 395 #define LCD_CAM_LCD_CONV_TRANS_MODE_S 30 396 /** LCD_CAM_LCD_CONV_BYPASS : R/W; bitpos: [31]; default: 0; 397 * 0: Bypass converter. 1: Enable converter. 398 */ 399 #define LCD_CAM_LCD_CONV_BYPASS (BIT(31)) 400 #define LCD_CAM_LCD_CONV_BYPASS_M (LCD_CAM_LCD_CONV_BYPASS_V << LCD_CAM_LCD_CONV_BYPASS_S) 401 #define LCD_CAM_LCD_CONV_BYPASS_V 0x00000001U 402 #define LCD_CAM_LCD_CONV_BYPASS_S 31 403 404 /** LCD_CAM_LCD_USER_REG register 405 * LCD configuration register 406 */ 407 #define LCD_CAM_LCD_USER_REG (DR_REG_LCD_CAM_BASE + 0x14) 408 /** LCD_CAM_LCD_DOUT_CYCLELEN : R/W; bitpos: [12:0]; default: 1; 409 * The output data cycles minus 1 of LCD module. 410 */ 411 #define LCD_CAM_LCD_DOUT_CYCLELEN 0x00001FFFU 412 #define LCD_CAM_LCD_DOUT_CYCLELEN_M (LCD_CAM_LCD_DOUT_CYCLELEN_V << LCD_CAM_LCD_DOUT_CYCLELEN_S) 413 #define LCD_CAM_LCD_DOUT_CYCLELEN_V 0x00001FFFU 414 #define LCD_CAM_LCD_DOUT_CYCLELEN_S 0 415 /** LCD_CAM_LCD_ALWAYS_OUT_EN : R/W; bitpos: [13]; default: 0; 416 * LCD always output when LCD is in LCD_DOUT state, unless reg_lcd_start is cleared or 417 * reg_lcd_reset is set. 418 */ 419 #define LCD_CAM_LCD_ALWAYS_OUT_EN (BIT(13)) 420 #define LCD_CAM_LCD_ALWAYS_OUT_EN_M (LCD_CAM_LCD_ALWAYS_OUT_EN_V << LCD_CAM_LCD_ALWAYS_OUT_EN_S) 421 #define LCD_CAM_LCD_ALWAYS_OUT_EN_V 0x00000001U 422 #define LCD_CAM_LCD_ALWAYS_OUT_EN_S 13 423 /** LCD_CAM_LCD_8BITS_ORDER : R/W; bitpos: [19]; default: 0; 424 * 1: invert every two data byte, valid in 1 byte mode. 0: Not change. 425 */ 426 #define LCD_CAM_LCD_8BITS_ORDER (BIT(19)) 427 #define LCD_CAM_LCD_8BITS_ORDER_M (LCD_CAM_LCD_8BITS_ORDER_V << LCD_CAM_LCD_8BITS_ORDER_S) 428 #define LCD_CAM_LCD_8BITS_ORDER_V 0x00000001U 429 #define LCD_CAM_LCD_8BITS_ORDER_S 19 430 /** LCD_CAM_LCD_UPDATE_REG : R/W; bitpos: [20]; default: 0; 431 * 1: Update LCD registers, will be cleared by hardware. 0 : Not care. 432 */ 433 #define LCD_CAM_LCD_UPDATE_REG (BIT(20)) 434 #define LCD_CAM_LCD_UPDATE_REG_M (LCD_CAM_LCD_UPDATE_REG_V << LCD_CAM_LCD_UPDATE_REG_S) 435 #define LCD_CAM_LCD_UPDATE_REG_V 0x00000001U 436 #define LCD_CAM_LCD_UPDATE_REG_S 20 437 /** LCD_CAM_LCD_BIT_ORDER : R/W; bitpos: [21]; default: 0; 438 * 1: Change data bit order, change LCD_DATA_out[7:0] to LCD_DATA_out[0:7] in one byte 439 * mode, and bits[15:0] to bits[0:15] in two byte mode. 0: Not change. 440 */ 441 #define LCD_CAM_LCD_BIT_ORDER (BIT(21)) 442 #define LCD_CAM_LCD_BIT_ORDER_M (LCD_CAM_LCD_BIT_ORDER_V << LCD_CAM_LCD_BIT_ORDER_S) 443 #define LCD_CAM_LCD_BIT_ORDER_V 0x00000001U 444 #define LCD_CAM_LCD_BIT_ORDER_S 21 445 /** LCD_CAM_LCD_BYTE_ORDER : R/W; bitpos: [22]; default: 0; 446 * 1: invert data byte order, only valid in 2 byte mode. 0: Not change. 447 */ 448 #define LCD_CAM_LCD_BYTE_ORDER (BIT(22)) 449 #define LCD_CAM_LCD_BYTE_ORDER_M (LCD_CAM_LCD_BYTE_ORDER_V << LCD_CAM_LCD_BYTE_ORDER_S) 450 #define LCD_CAM_LCD_BYTE_ORDER_V 0x00000001U 451 #define LCD_CAM_LCD_BYTE_ORDER_S 22 452 /** LCD_CAM_LCD_2BYTE_EN : R/W; bitpos: [23]; default: 0; 453 * 1: The bit number of output LCD data is 9~16. 0: The bit number of output LCD data 454 * is 0~8. 455 */ 456 #define LCD_CAM_LCD_2BYTE_EN (BIT(23)) 457 #define LCD_CAM_LCD_2BYTE_EN_M (LCD_CAM_LCD_2BYTE_EN_V << LCD_CAM_LCD_2BYTE_EN_S) 458 #define LCD_CAM_LCD_2BYTE_EN_V 0x00000001U 459 #define LCD_CAM_LCD_2BYTE_EN_S 23 460 /** LCD_CAM_LCD_DOUT : R/W; bitpos: [24]; default: 0; 461 * 1: Be able to send data out in LCD sequence when LCD starts. 0: Disable. 462 */ 463 #define LCD_CAM_LCD_DOUT (BIT(24)) 464 #define LCD_CAM_LCD_DOUT_M (LCD_CAM_LCD_DOUT_V << LCD_CAM_LCD_DOUT_S) 465 #define LCD_CAM_LCD_DOUT_V 0x00000001U 466 #define LCD_CAM_LCD_DOUT_S 24 467 /** LCD_CAM_LCD_DUMMY : R/W; bitpos: [25]; default: 0; 468 * 1: Enable DUMMY phase in LCD sequence when LCD starts. 0: Disable. 469 */ 470 #define LCD_CAM_LCD_DUMMY (BIT(25)) 471 #define LCD_CAM_LCD_DUMMY_M (LCD_CAM_LCD_DUMMY_V << LCD_CAM_LCD_DUMMY_S) 472 #define LCD_CAM_LCD_DUMMY_V 0x00000001U 473 #define LCD_CAM_LCD_DUMMY_S 25 474 /** LCD_CAM_LCD_CMD : R/W; bitpos: [26]; default: 0; 475 * 1: Be able to send command in LCD sequence when LCD starts. 0: Disable. 476 */ 477 #define LCD_CAM_LCD_CMD (BIT(26)) 478 #define LCD_CAM_LCD_CMD_M (LCD_CAM_LCD_CMD_V << LCD_CAM_LCD_CMD_S) 479 #define LCD_CAM_LCD_CMD_V 0x00000001U 480 #define LCD_CAM_LCD_CMD_S 26 481 /** LCD_CAM_LCD_START : R/W; bitpos: [27]; default: 0; 482 * LCD start sending data enable signal, valid in high level. 483 */ 484 #define LCD_CAM_LCD_START (BIT(27)) 485 #define LCD_CAM_LCD_START_M (LCD_CAM_LCD_START_V << LCD_CAM_LCD_START_S) 486 #define LCD_CAM_LCD_START_V 0x00000001U 487 #define LCD_CAM_LCD_START_S 27 488 /** LCD_CAM_LCD_RESET : WO; bitpos: [28]; default: 0; 489 * The value of command. 490 */ 491 #define LCD_CAM_LCD_RESET (BIT(28)) 492 #define LCD_CAM_LCD_RESET_M (LCD_CAM_LCD_RESET_V << LCD_CAM_LCD_RESET_S) 493 #define LCD_CAM_LCD_RESET_V 0x00000001U 494 #define LCD_CAM_LCD_RESET_S 28 495 /** LCD_CAM_LCD_DUMMY_CYCLELEN : R/W; bitpos: [30:29]; default: 0; 496 * The dummy cycle length minus 1. 497 */ 498 #define LCD_CAM_LCD_DUMMY_CYCLELEN 0x00000003U 499 #define LCD_CAM_LCD_DUMMY_CYCLELEN_M (LCD_CAM_LCD_DUMMY_CYCLELEN_V << LCD_CAM_LCD_DUMMY_CYCLELEN_S) 500 #define LCD_CAM_LCD_DUMMY_CYCLELEN_V 0x00000003U 501 #define LCD_CAM_LCD_DUMMY_CYCLELEN_S 29 502 /** LCD_CAM_LCD_CMD_2_CYCLE_EN : R/W; bitpos: [31]; default: 0; 503 * The cycle length of command phase. 1: 2 cycles. 0: 1 cycle. 504 */ 505 #define LCD_CAM_LCD_CMD_2_CYCLE_EN (BIT(31)) 506 #define LCD_CAM_LCD_CMD_2_CYCLE_EN_M (LCD_CAM_LCD_CMD_2_CYCLE_EN_V << LCD_CAM_LCD_CMD_2_CYCLE_EN_S) 507 #define LCD_CAM_LCD_CMD_2_CYCLE_EN_V 0x00000001U 508 #define LCD_CAM_LCD_CMD_2_CYCLE_EN_S 31 509 510 /** LCD_CAM_LCD_MISC_REG register 511 * LCD configuration register 512 */ 513 #define LCD_CAM_LCD_MISC_REG (DR_REG_LCD_CAM_BASE + 0x18) 514 /** LCD_CAM_LCD_AFIFO_THRESHOLD_NUM : R/W; bitpos: [5:1]; default: 11; 515 * The awfull threshold number of lcd_afifo. 516 */ 517 #define LCD_CAM_LCD_AFIFO_THRESHOLD_NUM 0x0000001FU 518 #define LCD_CAM_LCD_AFIFO_THRESHOLD_NUM_M (LCD_CAM_LCD_AFIFO_THRESHOLD_NUM_V << LCD_CAM_LCD_AFIFO_THRESHOLD_NUM_S) 519 #define LCD_CAM_LCD_AFIFO_THRESHOLD_NUM_V 0x0000001FU 520 #define LCD_CAM_LCD_AFIFO_THRESHOLD_NUM_S 1 521 /** LCD_CAM_LCD_VFK_CYCLELEN : R/W; bitpos: [11:6]; default: 3; 522 * The setup cycle length minus 1 in LCD non-RGB mode. 523 */ 524 #define LCD_CAM_LCD_VFK_CYCLELEN 0x0000003FU 525 #define LCD_CAM_LCD_VFK_CYCLELEN_M (LCD_CAM_LCD_VFK_CYCLELEN_V << LCD_CAM_LCD_VFK_CYCLELEN_S) 526 #define LCD_CAM_LCD_VFK_CYCLELEN_V 0x0000003FU 527 #define LCD_CAM_LCD_VFK_CYCLELEN_S 6 528 /** LCD_CAM_LCD_VBK_CYCLELEN : R/W; bitpos: [24:12]; default: 0; 529 * The vertical back blank region cycle length minus 1 in LCD RGB mode, or the hold 530 * time cycle length in LCD non-RGB mode. 531 */ 532 #define LCD_CAM_LCD_VBK_CYCLELEN 0x00001FFFU 533 #define LCD_CAM_LCD_VBK_CYCLELEN_M (LCD_CAM_LCD_VBK_CYCLELEN_V << LCD_CAM_LCD_VBK_CYCLELEN_S) 534 #define LCD_CAM_LCD_VBK_CYCLELEN_V 0x00001FFFU 535 #define LCD_CAM_LCD_VBK_CYCLELEN_S 12 536 /** LCD_CAM_LCD_NEXT_FRAME_EN : R/W; bitpos: [25]; default: 0; 537 * 1: Send the next frame data when the current frame is sent out. 0: LCD stops when 538 * the current frame is sent out. 539 */ 540 #define LCD_CAM_LCD_NEXT_FRAME_EN (BIT(25)) 541 #define LCD_CAM_LCD_NEXT_FRAME_EN_M (LCD_CAM_LCD_NEXT_FRAME_EN_V << LCD_CAM_LCD_NEXT_FRAME_EN_S) 542 #define LCD_CAM_LCD_NEXT_FRAME_EN_V 0x00000001U 543 #define LCD_CAM_LCD_NEXT_FRAME_EN_S 25 544 /** LCD_CAM_LCD_BK_EN : R/W; bitpos: [26]; default: 0; 545 * 1: Enable blank region when LCD sends data out. 0: No blank region. 546 */ 547 #define LCD_CAM_LCD_BK_EN (BIT(26)) 548 #define LCD_CAM_LCD_BK_EN_M (LCD_CAM_LCD_BK_EN_V << LCD_CAM_LCD_BK_EN_S) 549 #define LCD_CAM_LCD_BK_EN_V 0x00000001U 550 #define LCD_CAM_LCD_BK_EN_S 26 551 /** LCD_CAM_LCD_AFIFO_RESET : WO; bitpos: [27]; default: 0; 552 * LCD AFIFO reset signal. 553 */ 554 #define LCD_CAM_LCD_AFIFO_RESET (BIT(27)) 555 #define LCD_CAM_LCD_AFIFO_RESET_M (LCD_CAM_LCD_AFIFO_RESET_V << LCD_CAM_LCD_AFIFO_RESET_S) 556 #define LCD_CAM_LCD_AFIFO_RESET_V 0x00000001U 557 #define LCD_CAM_LCD_AFIFO_RESET_S 27 558 /** LCD_CAM_LCD_CD_DATA_SET : R/W; bitpos: [28]; default: 0; 559 * 1: LCD_CD = !reg_cd_idle_edge when lcd_st[2:0] is in LCD_DOUT state. 0: LCD_CD = 560 * reg_cd_idle_edge. 561 */ 562 #define LCD_CAM_LCD_CD_DATA_SET (BIT(28)) 563 #define LCD_CAM_LCD_CD_DATA_SET_M (LCD_CAM_LCD_CD_DATA_SET_V << LCD_CAM_LCD_CD_DATA_SET_S) 564 #define LCD_CAM_LCD_CD_DATA_SET_V 0x00000001U 565 #define LCD_CAM_LCD_CD_DATA_SET_S 28 566 /** LCD_CAM_LCD_CD_DUMMY_SET : R/W; bitpos: [29]; default: 0; 567 * 1: LCD_CD = !reg_cd_idle_edge when lcd_st[2:0] is in LCD_DUMMY state. 0: LCD_CD = 568 * reg_cd_idle_edge. 569 */ 570 #define LCD_CAM_LCD_CD_DUMMY_SET (BIT(29)) 571 #define LCD_CAM_LCD_CD_DUMMY_SET_M (LCD_CAM_LCD_CD_DUMMY_SET_V << LCD_CAM_LCD_CD_DUMMY_SET_S) 572 #define LCD_CAM_LCD_CD_DUMMY_SET_V 0x00000001U 573 #define LCD_CAM_LCD_CD_DUMMY_SET_S 29 574 /** LCD_CAM_LCD_CD_CMD_SET : R/W; bitpos: [30]; default: 0; 575 * 1: LCD_CD = !reg_cd_idle_edge when lcd_st[2:0] is in LCD_CMD state. 0: LCD_CD = 576 * reg_cd_idle_edge. 577 */ 578 #define LCD_CAM_LCD_CD_CMD_SET (BIT(30)) 579 #define LCD_CAM_LCD_CD_CMD_SET_M (LCD_CAM_LCD_CD_CMD_SET_V << LCD_CAM_LCD_CD_CMD_SET_S) 580 #define LCD_CAM_LCD_CD_CMD_SET_V 0x00000001U 581 #define LCD_CAM_LCD_CD_CMD_SET_S 30 582 /** LCD_CAM_LCD_CD_IDLE_EDGE : R/W; bitpos: [31]; default: 0; 583 * The default value of LCD_CD. 584 */ 585 #define LCD_CAM_LCD_CD_IDLE_EDGE (BIT(31)) 586 #define LCD_CAM_LCD_CD_IDLE_EDGE_M (LCD_CAM_LCD_CD_IDLE_EDGE_V << LCD_CAM_LCD_CD_IDLE_EDGE_S) 587 #define LCD_CAM_LCD_CD_IDLE_EDGE_V 0x00000001U 588 #define LCD_CAM_LCD_CD_IDLE_EDGE_S 31 589 590 /** LCD_CAM_LCD_CTRL_REG register 591 * LCD configuration register 592 */ 593 #define LCD_CAM_LCD_CTRL_REG (DR_REG_LCD_CAM_BASE + 0x1c) 594 /** LCD_CAM_LCD_HB_FRONT : R/W; bitpos: [10:0]; default: 0; 595 * It is the horizontal blank front porch of a frame. 596 */ 597 #define LCD_CAM_LCD_HB_FRONT 0x000007FFU 598 #define LCD_CAM_LCD_HB_FRONT_M (LCD_CAM_LCD_HB_FRONT_V << LCD_CAM_LCD_HB_FRONT_S) 599 #define LCD_CAM_LCD_HB_FRONT_V 0x000007FFU 600 #define LCD_CAM_LCD_HB_FRONT_S 0 601 /** LCD_CAM_LCD_VA_HEIGHT : R/W; bitpos: [20:11]; default: 0; 602 * It is the vertical active height of a frame. 603 */ 604 #define LCD_CAM_LCD_VA_HEIGHT 0x000003FFU 605 #define LCD_CAM_LCD_VA_HEIGHT_M (LCD_CAM_LCD_VA_HEIGHT_V << LCD_CAM_LCD_VA_HEIGHT_S) 606 #define LCD_CAM_LCD_VA_HEIGHT_V 0x000003FFU 607 #define LCD_CAM_LCD_VA_HEIGHT_S 11 608 /** LCD_CAM_LCD_VT_HEIGHT : R/W; bitpos: [30:21]; default: 0; 609 * It is the vertical total height of a frame. 610 */ 611 #define LCD_CAM_LCD_VT_HEIGHT 0x000003FFU 612 #define LCD_CAM_LCD_VT_HEIGHT_M (LCD_CAM_LCD_VT_HEIGHT_V << LCD_CAM_LCD_VT_HEIGHT_S) 613 #define LCD_CAM_LCD_VT_HEIGHT_V 0x000003FFU 614 #define LCD_CAM_LCD_VT_HEIGHT_S 21 615 /** LCD_CAM_LCD_RGB_MODE_EN : R/W; bitpos: [31]; default: 0; 616 * 1: Enable reg mode input vsync, hsync, de. 0: Disable. 617 */ 618 #define LCD_CAM_LCD_RGB_MODE_EN (BIT(31)) 619 #define LCD_CAM_LCD_RGB_MODE_EN_M (LCD_CAM_LCD_RGB_MODE_EN_V << LCD_CAM_LCD_RGB_MODE_EN_S) 620 #define LCD_CAM_LCD_RGB_MODE_EN_V 0x00000001U 621 #define LCD_CAM_LCD_RGB_MODE_EN_S 31 622 623 /** LCD_CAM_LCD_CTRL1_REG register 624 * LCD configuration register 625 */ 626 #define LCD_CAM_LCD_CTRL1_REG (DR_REG_LCD_CAM_BASE + 0x20) 627 /** LCD_CAM_LCD_VB_FRONT : R/W; bitpos: [7:0]; default: 0; 628 * It is the vertical blank front porch of a frame. 629 */ 630 #define LCD_CAM_LCD_VB_FRONT 0x000000FFU 631 #define LCD_CAM_LCD_VB_FRONT_M (LCD_CAM_LCD_VB_FRONT_V << LCD_CAM_LCD_VB_FRONT_S) 632 #define LCD_CAM_LCD_VB_FRONT_V 0x000000FFU 633 #define LCD_CAM_LCD_VB_FRONT_S 0 634 /** LCD_CAM_LCD_HA_WIDTH : R/W; bitpos: [19:8]; default: 0; 635 * It is the horizontal active width of a frame. 636 */ 637 #define LCD_CAM_LCD_HA_WIDTH 0x00000FFFU 638 #define LCD_CAM_LCD_HA_WIDTH_M (LCD_CAM_LCD_HA_WIDTH_V << LCD_CAM_LCD_HA_WIDTH_S) 639 #define LCD_CAM_LCD_HA_WIDTH_V 0x00000FFFU 640 #define LCD_CAM_LCD_HA_WIDTH_S 8 641 /** LCD_CAM_LCD_HT_WIDTH : R/W; bitpos: [31:20]; default: 0; 642 * It is the horizontal total width of a frame. 643 */ 644 #define LCD_CAM_LCD_HT_WIDTH 0x00000FFFU 645 #define LCD_CAM_LCD_HT_WIDTH_M (LCD_CAM_LCD_HT_WIDTH_V << LCD_CAM_LCD_HT_WIDTH_S) 646 #define LCD_CAM_LCD_HT_WIDTH_V 0x00000FFFU 647 #define LCD_CAM_LCD_HT_WIDTH_S 20 648 649 /** LCD_CAM_LCD_CTRL2_REG register 650 * LCD configuration register 651 */ 652 #define LCD_CAM_LCD_CTRL2_REG (DR_REG_LCD_CAM_BASE + 0x24) 653 /** LCD_CAM_LCD_VSYNC_WIDTH : R/W; bitpos: [6:0]; default: 1; 654 * It is the position of LCD_VSYNC active pulse in a line. 655 */ 656 #define LCD_CAM_LCD_VSYNC_WIDTH 0x0000007FU 657 #define LCD_CAM_LCD_VSYNC_WIDTH_M (LCD_CAM_LCD_VSYNC_WIDTH_V << LCD_CAM_LCD_VSYNC_WIDTH_S) 658 #define LCD_CAM_LCD_VSYNC_WIDTH_V 0x0000007FU 659 #define LCD_CAM_LCD_VSYNC_WIDTH_S 0 660 /** LCD_CAM_LCD_VSYNC_IDLE_POL : R/W; bitpos: [7]; default: 0; 661 * It is the idle value of LCD_VSYNC. 662 */ 663 #define LCD_CAM_LCD_VSYNC_IDLE_POL (BIT(7)) 664 #define LCD_CAM_LCD_VSYNC_IDLE_POL_M (LCD_CAM_LCD_VSYNC_IDLE_POL_V << LCD_CAM_LCD_VSYNC_IDLE_POL_S) 665 #define LCD_CAM_LCD_VSYNC_IDLE_POL_V 0x00000001U 666 #define LCD_CAM_LCD_VSYNC_IDLE_POL_S 7 667 /** LCD_CAM_LCD_DE_IDLE_POL : R/W; bitpos: [8]; default: 0; 668 * It is the idle value of LCD_DE. 669 */ 670 #define LCD_CAM_LCD_DE_IDLE_POL (BIT(8)) 671 #define LCD_CAM_LCD_DE_IDLE_POL_M (LCD_CAM_LCD_DE_IDLE_POL_V << LCD_CAM_LCD_DE_IDLE_POL_S) 672 #define LCD_CAM_LCD_DE_IDLE_POL_V 0x00000001U 673 #define LCD_CAM_LCD_DE_IDLE_POL_S 8 674 /** LCD_CAM_LCD_HS_BLANK_EN : R/W; bitpos: [9]; default: 0; 675 * 1: The pulse of LCD_HSYNC is out in vertical blanking lines RGB mode. 0: LCD_HSYNC 676 * pulse is valid only in active region lines in RGB mode. 677 */ 678 #define LCD_CAM_LCD_HS_BLANK_EN (BIT(9)) 679 #define LCD_CAM_LCD_HS_BLANK_EN_M (LCD_CAM_LCD_HS_BLANK_EN_V << LCD_CAM_LCD_HS_BLANK_EN_S) 680 #define LCD_CAM_LCD_HS_BLANK_EN_V 0x00000001U 681 #define LCD_CAM_LCD_HS_BLANK_EN_S 9 682 /** LCD_CAM_LCD_HSYNC_WIDTH : R/W; bitpos: [22:16]; default: 1; 683 * It is the position of LCD_HSYNC active pulse in a line. 684 */ 685 #define LCD_CAM_LCD_HSYNC_WIDTH 0x0000007FU 686 #define LCD_CAM_LCD_HSYNC_WIDTH_M (LCD_CAM_LCD_HSYNC_WIDTH_V << LCD_CAM_LCD_HSYNC_WIDTH_S) 687 #define LCD_CAM_LCD_HSYNC_WIDTH_V 0x0000007FU 688 #define LCD_CAM_LCD_HSYNC_WIDTH_S 16 689 /** LCD_CAM_LCD_HSYNC_IDLE_POL : R/W; bitpos: [23]; default: 0; 690 * It is the idle value of LCD_HSYNC. 691 */ 692 #define LCD_CAM_LCD_HSYNC_IDLE_POL (BIT(23)) 693 #define LCD_CAM_LCD_HSYNC_IDLE_POL_M (LCD_CAM_LCD_HSYNC_IDLE_POL_V << LCD_CAM_LCD_HSYNC_IDLE_POL_S) 694 #define LCD_CAM_LCD_HSYNC_IDLE_POL_V 0x00000001U 695 #define LCD_CAM_LCD_HSYNC_IDLE_POL_S 23 696 /** LCD_CAM_LCD_HSYNC_POSITION : R/W; bitpos: [31:24]; default: 0; 697 * It is the position of LCD_HSYNC active pulse in a line. 698 */ 699 #define LCD_CAM_LCD_HSYNC_POSITION 0x000000FFU 700 #define LCD_CAM_LCD_HSYNC_POSITION_M (LCD_CAM_LCD_HSYNC_POSITION_V << LCD_CAM_LCD_HSYNC_POSITION_S) 701 #define LCD_CAM_LCD_HSYNC_POSITION_V 0x000000FFU 702 #define LCD_CAM_LCD_HSYNC_POSITION_S 24 703 704 /** LCD_CAM_LCD_CMD_VAL_REG register 705 * LCD configuration register 706 */ 707 #define LCD_CAM_LCD_CMD_VAL_REG (DR_REG_LCD_CAM_BASE + 0x28) 708 /** LCD_CAM_LCD_CMD_VALUE : R/W; bitpos: [31:0]; default: 0; 709 * The LCD write command value. 710 */ 711 #define LCD_CAM_LCD_CMD_VALUE 0xFFFFFFFFU 712 #define LCD_CAM_LCD_CMD_VALUE_M (LCD_CAM_LCD_CMD_VALUE_V << LCD_CAM_LCD_CMD_VALUE_S) 713 #define LCD_CAM_LCD_CMD_VALUE_V 0xFFFFFFFFU 714 #define LCD_CAM_LCD_CMD_VALUE_S 0 715 716 /** LCD_CAM_LCD_DLY_MODE_REG register 717 * LCD configuration register 718 */ 719 #define LCD_CAM_LCD_DLY_MODE_REG (DR_REG_LCD_CAM_BASE + 0x30) 720 /** LCD_CAM_LCD_CD_MODE : R/W; bitpos: [1:0]; default: 0; 721 * The output LCD_CD is delayed by module clock LCD_CLK. 0: output without delayed. 1: 722 * delay by the positive edge of LCD_CLK. 2: delay by the negative edge of LCD_CLK. 723 */ 724 #define LCD_CAM_LCD_CD_MODE 0x00000003U 725 #define LCD_CAM_LCD_CD_MODE_M (LCD_CAM_LCD_CD_MODE_V << LCD_CAM_LCD_CD_MODE_S) 726 #define LCD_CAM_LCD_CD_MODE_V 0x00000003U 727 #define LCD_CAM_LCD_CD_MODE_S 0 728 /** LCD_CAM_LCD_DE_MODE : R/W; bitpos: [3:2]; default: 0; 729 * The output LCD_DE is delayed by module clock LCD_CLK. 0: output without delayed. 1: 730 * delay by the positive edge of LCD_CLK. 2: delay by the negative edge of LCD_CLK. 731 */ 732 #define LCD_CAM_LCD_DE_MODE 0x00000003U 733 #define LCD_CAM_LCD_DE_MODE_M (LCD_CAM_LCD_DE_MODE_V << LCD_CAM_LCD_DE_MODE_S) 734 #define LCD_CAM_LCD_DE_MODE_V 0x00000003U 735 #define LCD_CAM_LCD_DE_MODE_S 2 736 /** LCD_CAM_LCD_HSYNC_MODE : R/W; bitpos: [5:4]; default: 0; 737 * The output LCD_HSYNC is delayed by module clock LCD_CLK. 0: output without delayed. 738 * 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of LCD_CLK. 739 */ 740 #define LCD_CAM_LCD_HSYNC_MODE 0x00000003U 741 #define LCD_CAM_LCD_HSYNC_MODE_M (LCD_CAM_LCD_HSYNC_MODE_V << LCD_CAM_LCD_HSYNC_MODE_S) 742 #define LCD_CAM_LCD_HSYNC_MODE_V 0x00000003U 743 #define LCD_CAM_LCD_HSYNC_MODE_S 4 744 /** LCD_CAM_LCD_VSYNC_MODE : R/W; bitpos: [7:6]; default: 0; 745 * The output LCD_VSYNC is delayed by module clock LCD_CLK. 0: output without delayed. 746 * 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of LCD_CLK. 747 */ 748 #define LCD_CAM_LCD_VSYNC_MODE 0x00000003U 749 #define LCD_CAM_LCD_VSYNC_MODE_M (LCD_CAM_LCD_VSYNC_MODE_V << LCD_CAM_LCD_VSYNC_MODE_S) 750 #define LCD_CAM_LCD_VSYNC_MODE_V 0x00000003U 751 #define LCD_CAM_LCD_VSYNC_MODE_S 6 752 753 /** LCD_CAM_LCD_DATA_DOUT_MODE_REG register 754 * LCD configuration register 755 */ 756 #define LCD_CAM_LCD_DATA_DOUT_MODE_REG (DR_REG_LCD_CAM_BASE + 0x38) 757 /** LCD_CAM_DOUT0_MODE : R/W; bitpos: [1:0]; default: 0; 758 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 759 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 760 * LCD_CLK. 761 */ 762 #define LCD_CAM_DOUT0_MODE 0x00000003U 763 #define LCD_CAM_DOUT0_MODE_M (LCD_CAM_DOUT0_MODE_V << LCD_CAM_DOUT0_MODE_S) 764 #define LCD_CAM_DOUT0_MODE_V 0x00000003U 765 #define LCD_CAM_DOUT0_MODE_S 0 766 /** LCD_CAM_DOUT1_MODE : R/W; bitpos: [3:2]; default: 0; 767 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 768 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 769 * LCD_CLK. 770 */ 771 #define LCD_CAM_DOUT1_MODE 0x00000003U 772 #define LCD_CAM_DOUT1_MODE_M (LCD_CAM_DOUT1_MODE_V << LCD_CAM_DOUT1_MODE_S) 773 #define LCD_CAM_DOUT1_MODE_V 0x00000003U 774 #define LCD_CAM_DOUT1_MODE_S 2 775 /** LCD_CAM_DOUT2_MODE : R/W; bitpos: [5:4]; default: 0; 776 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 777 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 778 * LCD_CLK. 779 */ 780 #define LCD_CAM_DOUT2_MODE 0x00000003U 781 #define LCD_CAM_DOUT2_MODE_M (LCD_CAM_DOUT2_MODE_V << LCD_CAM_DOUT2_MODE_S) 782 #define LCD_CAM_DOUT2_MODE_V 0x00000003U 783 #define LCD_CAM_DOUT2_MODE_S 4 784 /** LCD_CAM_DOUT3_MODE : R/W; bitpos: [7:6]; default: 0; 785 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 786 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 787 * LCD_CLK. 788 */ 789 #define LCD_CAM_DOUT3_MODE 0x00000003U 790 #define LCD_CAM_DOUT3_MODE_M (LCD_CAM_DOUT3_MODE_V << LCD_CAM_DOUT3_MODE_S) 791 #define LCD_CAM_DOUT3_MODE_V 0x00000003U 792 #define LCD_CAM_DOUT3_MODE_S 6 793 /** LCD_CAM_DOUT4_MODE : R/W; bitpos: [9:8]; default: 0; 794 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 795 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 796 * LCD_CLK. 797 */ 798 #define LCD_CAM_DOUT4_MODE 0x00000003U 799 #define LCD_CAM_DOUT4_MODE_M (LCD_CAM_DOUT4_MODE_V << LCD_CAM_DOUT4_MODE_S) 800 #define LCD_CAM_DOUT4_MODE_V 0x00000003U 801 #define LCD_CAM_DOUT4_MODE_S 8 802 /** LCD_CAM_DOUT5_MODE : R/W; bitpos: [11:10]; default: 0; 803 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 804 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 805 * LCD_CLK. 806 */ 807 #define LCD_CAM_DOUT5_MODE 0x00000003U 808 #define LCD_CAM_DOUT5_MODE_M (LCD_CAM_DOUT5_MODE_V << LCD_CAM_DOUT5_MODE_S) 809 #define LCD_CAM_DOUT5_MODE_V 0x00000003U 810 #define LCD_CAM_DOUT5_MODE_S 10 811 /** LCD_CAM_DOUT6_MODE : R/W; bitpos: [13:12]; default: 0; 812 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 813 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 814 * LCD_CLK. 815 */ 816 #define LCD_CAM_DOUT6_MODE 0x00000003U 817 #define LCD_CAM_DOUT6_MODE_M (LCD_CAM_DOUT6_MODE_V << LCD_CAM_DOUT6_MODE_S) 818 #define LCD_CAM_DOUT6_MODE_V 0x00000003U 819 #define LCD_CAM_DOUT6_MODE_S 12 820 /** LCD_CAM_DOUT7_MODE : R/W; bitpos: [15:14]; default: 0; 821 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 822 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 823 * LCD_CLK. 824 */ 825 #define LCD_CAM_DOUT7_MODE 0x00000003U 826 #define LCD_CAM_DOUT7_MODE_M (LCD_CAM_DOUT7_MODE_V << LCD_CAM_DOUT7_MODE_S) 827 #define LCD_CAM_DOUT7_MODE_V 0x00000003U 828 #define LCD_CAM_DOUT7_MODE_S 14 829 /** LCD_CAM_DOUT8_MODE : R/W; bitpos: [17:16]; default: 0; 830 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 831 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 832 * LCD_CLK. 833 */ 834 #define LCD_CAM_DOUT8_MODE 0x00000003U 835 #define LCD_CAM_DOUT8_MODE_M (LCD_CAM_DOUT8_MODE_V << LCD_CAM_DOUT8_MODE_S) 836 #define LCD_CAM_DOUT8_MODE_V 0x00000003U 837 #define LCD_CAM_DOUT8_MODE_S 16 838 /** LCD_CAM_DOUT9_MODE : R/W; bitpos: [19:18]; default: 0; 839 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 840 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 841 * LCD_CLK. 842 */ 843 #define LCD_CAM_DOUT9_MODE 0x00000003U 844 #define LCD_CAM_DOUT9_MODE_M (LCD_CAM_DOUT9_MODE_V << LCD_CAM_DOUT9_MODE_S) 845 #define LCD_CAM_DOUT9_MODE_V 0x00000003U 846 #define LCD_CAM_DOUT9_MODE_S 18 847 /** LCD_CAM_DOUT10_MODE : R/W; bitpos: [21:20]; default: 0; 848 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 849 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 850 * LCD_CLK. 851 */ 852 #define LCD_CAM_DOUT10_MODE 0x00000003U 853 #define LCD_CAM_DOUT10_MODE_M (LCD_CAM_DOUT10_MODE_V << LCD_CAM_DOUT10_MODE_S) 854 #define LCD_CAM_DOUT10_MODE_V 0x00000003U 855 #define LCD_CAM_DOUT10_MODE_S 20 856 /** LCD_CAM_DOUT11_MODE : R/W; bitpos: [23:22]; default: 0; 857 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 858 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 859 * LCD_CLK. 860 */ 861 #define LCD_CAM_DOUT11_MODE 0x00000003U 862 #define LCD_CAM_DOUT11_MODE_M (LCD_CAM_DOUT11_MODE_V << LCD_CAM_DOUT11_MODE_S) 863 #define LCD_CAM_DOUT11_MODE_V 0x00000003U 864 #define LCD_CAM_DOUT11_MODE_S 22 865 /** LCD_CAM_DOUT12_MODE : R/W; bitpos: [25:24]; default: 0; 866 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 867 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 868 * LCD_CLK. 869 */ 870 #define LCD_CAM_DOUT12_MODE 0x00000003U 871 #define LCD_CAM_DOUT12_MODE_M (LCD_CAM_DOUT12_MODE_V << LCD_CAM_DOUT12_MODE_S) 872 #define LCD_CAM_DOUT12_MODE_V 0x00000003U 873 #define LCD_CAM_DOUT12_MODE_S 24 874 /** LCD_CAM_DOUT13_MODE : R/W; bitpos: [27:26]; default: 0; 875 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 876 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 877 * LCD_CLK. 878 */ 879 #define LCD_CAM_DOUT13_MODE 0x00000003U 880 #define LCD_CAM_DOUT13_MODE_M (LCD_CAM_DOUT13_MODE_V << LCD_CAM_DOUT13_MODE_S) 881 #define LCD_CAM_DOUT13_MODE_V 0x00000003U 882 #define LCD_CAM_DOUT13_MODE_S 26 883 /** LCD_CAM_DOUT14_MODE : R/W; bitpos: [29:28]; default: 0; 884 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 885 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 886 * LCD_CLK. 887 */ 888 #define LCD_CAM_DOUT14_MODE 0x00000003U 889 #define LCD_CAM_DOUT14_MODE_M (LCD_CAM_DOUT14_MODE_V << LCD_CAM_DOUT14_MODE_S) 890 #define LCD_CAM_DOUT14_MODE_V 0x00000003U 891 #define LCD_CAM_DOUT14_MODE_S 28 892 /** LCD_CAM_DOUT15_MODE : R/W; bitpos: [31:30]; default: 0; 893 * The output data bit $n is delayed by module clock LCD_CLK. 0: output without 894 * delayed. 1: delay by the positive edge of LCD_CLK. 2: delay by the negative edge of 895 * LCD_CLK. 896 */ 897 #define LCD_CAM_DOUT15_MODE 0x00000003U 898 #define LCD_CAM_DOUT15_MODE_M (LCD_CAM_DOUT15_MODE_V << LCD_CAM_DOUT15_MODE_S) 899 #define LCD_CAM_DOUT15_MODE_V 0x00000003U 900 #define LCD_CAM_DOUT15_MODE_S 30 901 902 /** LCD_CAM_LC_DMA_INT_ENA_REG register 903 * LCD_camera DMA inturrupt enable register 904 */ 905 #define LCD_CAM_LC_DMA_INT_ENA_REG (DR_REG_LCD_CAM_BASE + 0x64) 906 /** LCD_CAM_LCD_VSYNC_INT_ENA : R/W; bitpos: [0]; default: 0; 907 * The enable bit for LCD frame end interrupt. 908 */ 909 #define LCD_CAM_LCD_VSYNC_INT_ENA (BIT(0)) 910 #define LCD_CAM_LCD_VSYNC_INT_ENA_M (LCD_CAM_LCD_VSYNC_INT_ENA_V << LCD_CAM_LCD_VSYNC_INT_ENA_S) 911 #define LCD_CAM_LCD_VSYNC_INT_ENA_V 0x00000001U 912 #define LCD_CAM_LCD_VSYNC_INT_ENA_S 0 913 /** LCD_CAM_LCD_TRANS_DONE_INT_ENA : R/W; bitpos: [1]; default: 0; 914 * The enable bit for lcd transfer end interrupt. 915 */ 916 #define LCD_CAM_LCD_TRANS_DONE_INT_ENA (BIT(1)) 917 #define LCD_CAM_LCD_TRANS_DONE_INT_ENA_M (LCD_CAM_LCD_TRANS_DONE_INT_ENA_V << LCD_CAM_LCD_TRANS_DONE_INT_ENA_S) 918 #define LCD_CAM_LCD_TRANS_DONE_INT_ENA_V 0x00000001U 919 #define LCD_CAM_LCD_TRANS_DONE_INT_ENA_S 1 920 /** LCD_CAM_CAM_VSYNC_INT_ENA : R/W; bitpos: [2]; default: 0; 921 * The enable bit for Camera frame end interrupt. 922 */ 923 #define LCD_CAM_CAM_VSYNC_INT_ENA (BIT(2)) 924 #define LCD_CAM_CAM_VSYNC_INT_ENA_M (LCD_CAM_CAM_VSYNC_INT_ENA_V << LCD_CAM_CAM_VSYNC_INT_ENA_S) 925 #define LCD_CAM_CAM_VSYNC_INT_ENA_V 0x00000001U 926 #define LCD_CAM_CAM_VSYNC_INT_ENA_S 2 927 /** LCD_CAM_CAM_HS_INT_ENA : R/W; bitpos: [3]; default: 0; 928 * The enable bit for Camera line interrupt. 929 */ 930 #define LCD_CAM_CAM_HS_INT_ENA (BIT(3)) 931 #define LCD_CAM_CAM_HS_INT_ENA_M (LCD_CAM_CAM_HS_INT_ENA_V << LCD_CAM_CAM_HS_INT_ENA_S) 932 #define LCD_CAM_CAM_HS_INT_ENA_V 0x00000001U 933 #define LCD_CAM_CAM_HS_INT_ENA_S 3 934 935 /** LCD_CAM_LC_DMA_INT_RAW_REG register 936 * LCD_camera DMA raw inturrupt status register 937 */ 938 #define LCD_CAM_LC_DMA_INT_RAW_REG (DR_REG_LCD_CAM_BASE + 0x68) 939 /** LCD_CAM_LCD_VSYNC_INT_RAW : RO; bitpos: [0]; default: 0; 940 * The raw bit for LCD frame end interrupt. 941 */ 942 #define LCD_CAM_LCD_VSYNC_INT_RAW (BIT(0)) 943 #define LCD_CAM_LCD_VSYNC_INT_RAW_M (LCD_CAM_LCD_VSYNC_INT_RAW_V << LCD_CAM_LCD_VSYNC_INT_RAW_S) 944 #define LCD_CAM_LCD_VSYNC_INT_RAW_V 0x00000001U 945 #define LCD_CAM_LCD_VSYNC_INT_RAW_S 0 946 /** LCD_CAM_LCD_TRANS_DONE_INT_RAW : RO; bitpos: [1]; default: 0; 947 * The raw bit for lcd transfer end interrupt. 948 */ 949 #define LCD_CAM_LCD_TRANS_DONE_INT_RAW (BIT(1)) 950 #define LCD_CAM_LCD_TRANS_DONE_INT_RAW_M (LCD_CAM_LCD_TRANS_DONE_INT_RAW_V << LCD_CAM_LCD_TRANS_DONE_INT_RAW_S) 951 #define LCD_CAM_LCD_TRANS_DONE_INT_RAW_V 0x00000001U 952 #define LCD_CAM_LCD_TRANS_DONE_INT_RAW_S 1 953 /** LCD_CAM_CAM_VSYNC_INT_RAW : RO; bitpos: [2]; default: 0; 954 * The raw bit for Camera frame end interrupt. 955 */ 956 #define LCD_CAM_CAM_VSYNC_INT_RAW (BIT(2)) 957 #define LCD_CAM_CAM_VSYNC_INT_RAW_M (LCD_CAM_CAM_VSYNC_INT_RAW_V << LCD_CAM_CAM_VSYNC_INT_RAW_S) 958 #define LCD_CAM_CAM_VSYNC_INT_RAW_V 0x00000001U 959 #define LCD_CAM_CAM_VSYNC_INT_RAW_S 2 960 /** LCD_CAM_CAM_HS_INT_RAW : RO; bitpos: [3]; default: 0; 961 * The raw bit for Camera line interrupt. 962 */ 963 #define LCD_CAM_CAM_HS_INT_RAW (BIT(3)) 964 #define LCD_CAM_CAM_HS_INT_RAW_M (LCD_CAM_CAM_HS_INT_RAW_V << LCD_CAM_CAM_HS_INT_RAW_S) 965 #define LCD_CAM_CAM_HS_INT_RAW_V 0x00000001U 966 #define LCD_CAM_CAM_HS_INT_RAW_S 3 967 968 /** LCD_CAM_LC_DMA_INT_ST_REG register 969 * LCD_camera DMA masked inturrupt status register 970 */ 971 #define LCD_CAM_LC_DMA_INT_ST_REG (DR_REG_LCD_CAM_BASE + 0x6c) 972 /** LCD_CAM_LCD_VSYNC_INT_ST : RO; bitpos: [0]; default: 0; 973 * The status bit for LCD frame end interrupt. 974 */ 975 #define LCD_CAM_LCD_VSYNC_INT_ST (BIT(0)) 976 #define LCD_CAM_LCD_VSYNC_INT_ST_M (LCD_CAM_LCD_VSYNC_INT_ST_V << LCD_CAM_LCD_VSYNC_INT_ST_S) 977 #define LCD_CAM_LCD_VSYNC_INT_ST_V 0x00000001U 978 #define LCD_CAM_LCD_VSYNC_INT_ST_S 0 979 /** LCD_CAM_LCD_TRANS_DONE_INT_ST : RO; bitpos: [1]; default: 0; 980 * The status bit for lcd transfer end interrupt. 981 */ 982 #define LCD_CAM_LCD_TRANS_DONE_INT_ST (BIT(1)) 983 #define LCD_CAM_LCD_TRANS_DONE_INT_ST_M (LCD_CAM_LCD_TRANS_DONE_INT_ST_V << LCD_CAM_LCD_TRANS_DONE_INT_ST_S) 984 #define LCD_CAM_LCD_TRANS_DONE_INT_ST_V 0x00000001U 985 #define LCD_CAM_LCD_TRANS_DONE_INT_ST_S 1 986 /** LCD_CAM_CAM_VSYNC_INT_ST : RO; bitpos: [2]; default: 0; 987 * The status bit for Camera frame end interrupt. 988 */ 989 #define LCD_CAM_CAM_VSYNC_INT_ST (BIT(2)) 990 #define LCD_CAM_CAM_VSYNC_INT_ST_M (LCD_CAM_CAM_VSYNC_INT_ST_V << LCD_CAM_CAM_VSYNC_INT_ST_S) 991 #define LCD_CAM_CAM_VSYNC_INT_ST_V 0x00000001U 992 #define LCD_CAM_CAM_VSYNC_INT_ST_S 2 993 /** LCD_CAM_CAM_HS_INT_ST : RO; bitpos: [3]; default: 0; 994 * The status bit for Camera transfer end interrupt. 995 */ 996 #define LCD_CAM_CAM_HS_INT_ST (BIT(3)) 997 #define LCD_CAM_CAM_HS_INT_ST_M (LCD_CAM_CAM_HS_INT_ST_V << LCD_CAM_CAM_HS_INT_ST_S) 998 #define LCD_CAM_CAM_HS_INT_ST_V 0x00000001U 999 #define LCD_CAM_CAM_HS_INT_ST_S 3 1000 1001 /** LCD_CAM_LC_DMA_INT_CLR_REG register 1002 * LCD_camera DMA inturrupt clear register 1003 */ 1004 #define LCD_CAM_LC_DMA_INT_CLR_REG (DR_REG_LCD_CAM_BASE + 0x70) 1005 /** LCD_CAM_LCD_VSYNC_INT_CLR : WO; bitpos: [0]; default: 0; 1006 * The clear bit for LCD frame end interrupt. 1007 */ 1008 #define LCD_CAM_LCD_VSYNC_INT_CLR (BIT(0)) 1009 #define LCD_CAM_LCD_VSYNC_INT_CLR_M (LCD_CAM_LCD_VSYNC_INT_CLR_V << LCD_CAM_LCD_VSYNC_INT_CLR_S) 1010 #define LCD_CAM_LCD_VSYNC_INT_CLR_V 0x00000001U 1011 #define LCD_CAM_LCD_VSYNC_INT_CLR_S 0 1012 /** LCD_CAM_LCD_TRANS_DONE_INT_CLR : WO; bitpos: [1]; default: 0; 1013 * The clear bit for lcd transfer end interrupt. 1014 */ 1015 #define LCD_CAM_LCD_TRANS_DONE_INT_CLR (BIT(1)) 1016 #define LCD_CAM_LCD_TRANS_DONE_INT_CLR_M (LCD_CAM_LCD_TRANS_DONE_INT_CLR_V << LCD_CAM_LCD_TRANS_DONE_INT_CLR_S) 1017 #define LCD_CAM_LCD_TRANS_DONE_INT_CLR_V 0x00000001U 1018 #define LCD_CAM_LCD_TRANS_DONE_INT_CLR_S 1 1019 /** LCD_CAM_CAM_VSYNC_INT_CLR : WO; bitpos: [2]; default: 0; 1020 * The clear bit for Camera frame end interrupt. 1021 */ 1022 #define LCD_CAM_CAM_VSYNC_INT_CLR (BIT(2)) 1023 #define LCD_CAM_CAM_VSYNC_INT_CLR_M (LCD_CAM_CAM_VSYNC_INT_CLR_V << LCD_CAM_CAM_VSYNC_INT_CLR_S) 1024 #define LCD_CAM_CAM_VSYNC_INT_CLR_V 0x00000001U 1025 #define LCD_CAM_CAM_VSYNC_INT_CLR_S 2 1026 /** LCD_CAM_CAM_HS_INT_CLR : WO; bitpos: [3]; default: 0; 1027 * The clear bit for Camera line interrupt. 1028 */ 1029 #define LCD_CAM_CAM_HS_INT_CLR (BIT(3)) 1030 #define LCD_CAM_CAM_HS_INT_CLR_M (LCD_CAM_CAM_HS_INT_CLR_V << LCD_CAM_CAM_HS_INT_CLR_S) 1031 #define LCD_CAM_CAM_HS_INT_CLR_V 0x00000001U 1032 #define LCD_CAM_CAM_HS_INT_CLR_S 3 1033 1034 /** LCD_CAM_LC_REG_DATE_REG register 1035 * Version register 1036 */ 1037 #define LCD_CAM_LC_REG_DATE_REG (DR_REG_LCD_CAM_BASE + 0xfc) 1038 /** LCD_CAM_LC_DATE : R/W; bitpos: [27:0]; default: 33566752; 1039 * LCD_CAM version control register 1040 */ 1041 #define LCD_CAM_LC_DATE 0x0FFFFFFFU 1042 #define LCD_CAM_LC_DATE_M (LCD_CAM_LC_DATE_V << LCD_CAM_LC_DATE_S) 1043 #define LCD_CAM_LC_DATE_V 0x0FFFFFFFU 1044 #define LCD_CAM_LC_DATE_S 0 1045 1046 #ifdef __cplusplus 1047 } 1048 #endif 1049