35 #ifndef _SAME70_ISI_COMPONENT_ 36 #define _SAME70_ISI_COMPONENT_ 44 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 70 __I uint32_t Reserved1[34];
73 __I uint32_t Reserved2[4];
78 #define ISI_CFG1_HSYNC_POL (0x1u << 2) 79 #define ISI_CFG1_VSYNC_POL (0x1u << 3) 80 #define ISI_CFG1_PIXCLK_POL (0x1u << 4) 81 #define ISI_CFG1_GRAYLE (0x1u << 5) 82 #define ISI_CFG1_EMB_SYNC (0x1u << 6) 83 #define ISI_CFG1_CRC_SYNC (0x1u << 7) 84 #define ISI_CFG1_FRATE_Pos 8 85 #define ISI_CFG1_FRATE_Msk (0x7u << ISI_CFG1_FRATE_Pos) 86 #define ISI_CFG1_FRATE(value) ((ISI_CFG1_FRATE_Msk & ((value) << ISI_CFG1_FRATE_Pos))) 87 #define ISI_CFG1_DISCR (0x1u << 11) 88 #define ISI_CFG1_FULL (0x1u << 12) 89 #define ISI_CFG1_THMASK_Pos 13 90 #define ISI_CFG1_THMASK_Msk (0x3u << ISI_CFG1_THMASK_Pos) 91 #define ISI_CFG1_THMASK(value) ((ISI_CFG1_THMASK_Msk & ((value) << ISI_CFG1_THMASK_Pos))) 92 #define ISI_CFG1_THMASK_BEATS_4 (0x0u << 13) 93 #define ISI_CFG1_THMASK_BEATS_8 (0x1u << 13) 94 #define ISI_CFG1_THMASK_BEATS_16 (0x2u << 13) 95 #define ISI_CFG1_SLD_Pos 16 96 #define ISI_CFG1_SLD_Msk (0xffu << ISI_CFG1_SLD_Pos) 97 #define ISI_CFG1_SLD(value) ((ISI_CFG1_SLD_Msk & ((value) << ISI_CFG1_SLD_Pos))) 98 #define ISI_CFG1_SFD_Pos 24 99 #define ISI_CFG1_SFD_Msk (0xffu << ISI_CFG1_SFD_Pos) 100 #define ISI_CFG1_SFD(value) ((ISI_CFG1_SFD_Msk & ((value) << ISI_CFG1_SFD_Pos))) 102 #define ISI_CFG2_IM_VSIZE_Pos 0 103 #define ISI_CFG2_IM_VSIZE_Msk (0x7ffu << ISI_CFG2_IM_VSIZE_Pos) 104 #define ISI_CFG2_IM_VSIZE(value) ((ISI_CFG2_IM_VSIZE_Msk & ((value) << ISI_CFG2_IM_VSIZE_Pos))) 105 #define ISI_CFG2_GS_MODE (0x1u << 11) 106 #define ISI_CFG2_RGB_MODE (0x1u << 12) 107 #define ISI_CFG2_GRAYSCALE (0x1u << 13) 108 #define ISI_CFG2_RGB_SWAP (0x1u << 14) 109 #define ISI_CFG2_COL_SPACE (0x1u << 15) 110 #define ISI_CFG2_IM_HSIZE_Pos 16 111 #define ISI_CFG2_IM_HSIZE_Msk (0x7ffu << ISI_CFG2_IM_HSIZE_Pos) 112 #define ISI_CFG2_IM_HSIZE(value) ((ISI_CFG2_IM_HSIZE_Msk & ((value) << ISI_CFG2_IM_HSIZE_Pos))) 113 #define ISI_CFG2_YCC_SWAP_Pos 28 114 #define ISI_CFG2_YCC_SWAP_Msk (0x3u << ISI_CFG2_YCC_SWAP_Pos) 115 #define ISI_CFG2_YCC_SWAP(value) ((ISI_CFG2_YCC_SWAP_Msk & ((value) << ISI_CFG2_YCC_SWAP_Pos))) 116 #define ISI_CFG2_YCC_SWAP_DEFAULT (0x0u << 28) 117 #define ISI_CFG2_YCC_SWAP_MODE1 (0x1u << 28) 118 #define ISI_CFG2_YCC_SWAP_MODE2 (0x2u << 28) 119 #define ISI_CFG2_YCC_SWAP_MODE3 (0x3u << 28) 120 #define ISI_CFG2_RGB_CFG_Pos 30 121 #define ISI_CFG2_RGB_CFG_Msk (0x3u << ISI_CFG2_RGB_CFG_Pos) 122 #define ISI_CFG2_RGB_CFG(value) ((ISI_CFG2_RGB_CFG_Msk & ((value) << ISI_CFG2_RGB_CFG_Pos))) 123 #define ISI_CFG2_RGB_CFG_DEFAULT (0x0u << 30) 124 #define ISI_CFG2_RGB_CFG_MODE1 (0x1u << 30) 125 #define ISI_CFG2_RGB_CFG_MODE2 (0x2u << 30) 126 #define ISI_CFG2_RGB_CFG_MODE3 (0x3u << 30) 128 #define ISI_PSIZE_PREV_VSIZE_Pos 0 129 #define ISI_PSIZE_PREV_VSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_VSIZE_Pos) 130 #define ISI_PSIZE_PREV_VSIZE(value) ((ISI_PSIZE_PREV_VSIZE_Msk & ((value) << ISI_PSIZE_PREV_VSIZE_Pos))) 131 #define ISI_PSIZE_PREV_HSIZE_Pos 16 132 #define ISI_PSIZE_PREV_HSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_HSIZE_Pos) 133 #define ISI_PSIZE_PREV_HSIZE(value) ((ISI_PSIZE_PREV_HSIZE_Msk & ((value) << ISI_PSIZE_PREV_HSIZE_Pos))) 135 #define ISI_PDECF_DEC_FACTOR_Pos 0 136 #define ISI_PDECF_DEC_FACTOR_Msk (0xffu << ISI_PDECF_DEC_FACTOR_Pos) 137 #define ISI_PDECF_DEC_FACTOR(value) ((ISI_PDECF_DEC_FACTOR_Msk & ((value) << ISI_PDECF_DEC_FACTOR_Pos))) 139 #define ISI_Y2R_SET0_C0_Pos 0 140 #define ISI_Y2R_SET0_C0_Msk (0xffu << ISI_Y2R_SET0_C0_Pos) 141 #define ISI_Y2R_SET0_C0(value) ((ISI_Y2R_SET0_C0_Msk & ((value) << ISI_Y2R_SET0_C0_Pos))) 142 #define ISI_Y2R_SET0_C1_Pos 8 143 #define ISI_Y2R_SET0_C1_Msk (0xffu << ISI_Y2R_SET0_C1_Pos) 144 #define ISI_Y2R_SET0_C1(value) ((ISI_Y2R_SET0_C1_Msk & ((value) << ISI_Y2R_SET0_C1_Pos))) 145 #define ISI_Y2R_SET0_C2_Pos 16 146 #define ISI_Y2R_SET0_C2_Msk (0xffu << ISI_Y2R_SET0_C2_Pos) 147 #define ISI_Y2R_SET0_C2(value) ((ISI_Y2R_SET0_C2_Msk & ((value) << ISI_Y2R_SET0_C2_Pos))) 148 #define ISI_Y2R_SET0_C3_Pos 24 149 #define ISI_Y2R_SET0_C3_Msk (0xffu << ISI_Y2R_SET0_C3_Pos) 150 #define ISI_Y2R_SET0_C3(value) ((ISI_Y2R_SET0_C3_Msk & ((value) << ISI_Y2R_SET0_C3_Pos))) 152 #define ISI_Y2R_SET1_C4_Pos 0 153 #define ISI_Y2R_SET1_C4_Msk (0x1ffu << ISI_Y2R_SET1_C4_Pos) 154 #define ISI_Y2R_SET1_C4(value) ((ISI_Y2R_SET1_C4_Msk & ((value) << ISI_Y2R_SET1_C4_Pos))) 155 #define ISI_Y2R_SET1_Yoff (0x1u << 12) 156 #define ISI_Y2R_SET1_Croff (0x1u << 13) 157 #define ISI_Y2R_SET1_Cboff (0x1u << 14) 159 #define ISI_R2Y_SET0_C0_Pos 0 160 #define ISI_R2Y_SET0_C0_Msk (0x7fu << ISI_R2Y_SET0_C0_Pos) 161 #define ISI_R2Y_SET0_C0(value) ((ISI_R2Y_SET0_C0_Msk & ((value) << ISI_R2Y_SET0_C0_Pos))) 162 #define ISI_R2Y_SET0_C1_Pos 8 163 #define ISI_R2Y_SET0_C1_Msk (0x7fu << ISI_R2Y_SET0_C1_Pos) 164 #define ISI_R2Y_SET0_C1(value) ((ISI_R2Y_SET0_C1_Msk & ((value) << ISI_R2Y_SET0_C1_Pos))) 165 #define ISI_R2Y_SET0_C2_Pos 16 166 #define ISI_R2Y_SET0_C2_Msk (0x7fu << ISI_R2Y_SET0_C2_Pos) 167 #define ISI_R2Y_SET0_C2(value) ((ISI_R2Y_SET0_C2_Msk & ((value) << ISI_R2Y_SET0_C2_Pos))) 168 #define ISI_R2Y_SET0_Roff (0x1u << 24) 170 #define ISI_R2Y_SET1_C3_Pos 0 171 #define ISI_R2Y_SET1_C3_Msk (0x7fu << ISI_R2Y_SET1_C3_Pos) 172 #define ISI_R2Y_SET1_C3(value) ((ISI_R2Y_SET1_C3_Msk & ((value) << ISI_R2Y_SET1_C3_Pos))) 173 #define ISI_R2Y_SET1_C4_Pos 8 174 #define ISI_R2Y_SET1_C4_Msk (0x7fu << ISI_R2Y_SET1_C4_Pos) 175 #define ISI_R2Y_SET1_C4(value) ((ISI_R2Y_SET1_C4_Msk & ((value) << ISI_R2Y_SET1_C4_Pos))) 176 #define ISI_R2Y_SET1_C5_Pos 16 177 #define ISI_R2Y_SET1_C5_Msk (0x7fu << ISI_R2Y_SET1_C5_Pos) 178 #define ISI_R2Y_SET1_C5(value) ((ISI_R2Y_SET1_C5_Msk & ((value) << ISI_R2Y_SET1_C5_Pos))) 179 #define ISI_R2Y_SET1_Goff (0x1u << 24) 181 #define ISI_R2Y_SET2_C6_Pos 0 182 #define ISI_R2Y_SET2_C6_Msk (0x7fu << ISI_R2Y_SET2_C6_Pos) 183 #define ISI_R2Y_SET2_C6(value) ((ISI_R2Y_SET2_C6_Msk & ((value) << ISI_R2Y_SET2_C6_Pos))) 184 #define ISI_R2Y_SET2_C7_Pos 8 185 #define ISI_R2Y_SET2_C7_Msk (0x7fu << ISI_R2Y_SET2_C7_Pos) 186 #define ISI_R2Y_SET2_C7(value) ((ISI_R2Y_SET2_C7_Msk & ((value) << ISI_R2Y_SET2_C7_Pos))) 187 #define ISI_R2Y_SET2_C8_Pos 16 188 #define ISI_R2Y_SET2_C8_Msk (0x7fu << ISI_R2Y_SET2_C8_Pos) 189 #define ISI_R2Y_SET2_C8(value) ((ISI_R2Y_SET2_C8_Msk & ((value) << ISI_R2Y_SET2_C8_Pos))) 190 #define ISI_R2Y_SET2_Boff (0x1u << 24) 192 #define ISI_CR_ISI_EN (0x1u << 0) 193 #define ISI_CR_ISI_DIS (0x1u << 1) 194 #define ISI_CR_ISI_SRST (0x1u << 2) 195 #define ISI_CR_ISI_CDC (0x1u << 8) 197 #define ISI_SR_ENABLE (0x1u << 0) 198 #define ISI_SR_DIS_DONE (0x1u << 1) 199 #define ISI_SR_SRST (0x1u << 2) 200 #define ISI_SR_CDC_PND (0x1u << 8) 201 #define ISI_SR_VSYNC (0x1u << 10) 202 #define ISI_SR_PXFR_DONE (0x1u << 16) 203 #define ISI_SR_CXFR_DONE (0x1u << 17) 204 #define ISI_SR_SIP (0x1u << 19) 205 #define ISI_SR_P_OVR (0x1u << 24) 206 #define ISI_SR_C_OVR (0x1u << 25) 207 #define ISI_SR_CRC_ERR (0x1u << 26) 208 #define ISI_SR_FR_OVR (0x1u << 27) 210 #define ISI_IER_DIS_DONE (0x1u << 1) 211 #define ISI_IER_SRST (0x1u << 2) 212 #define ISI_IER_VSYNC (0x1u << 10) 213 #define ISI_IER_PXFR_DONE (0x1u << 16) 214 #define ISI_IER_CXFR_DONE (0x1u << 17) 215 #define ISI_IER_P_OVR (0x1u << 24) 216 #define ISI_IER_C_OVR (0x1u << 25) 217 #define ISI_IER_CRC_ERR (0x1u << 26) 218 #define ISI_IER_FR_OVR (0x1u << 27) 220 #define ISI_IDR_DIS_DONE (0x1u << 1) 221 #define ISI_IDR_SRST (0x1u << 2) 222 #define ISI_IDR_VSYNC (0x1u << 10) 223 #define ISI_IDR_PXFR_DONE (0x1u << 16) 224 #define ISI_IDR_CXFR_DONE (0x1u << 17) 225 #define ISI_IDR_P_OVR (0x1u << 24) 226 #define ISI_IDR_C_OVR (0x1u << 25) 227 #define ISI_IDR_CRC_ERR (0x1u << 26) 228 #define ISI_IDR_FR_OVR (0x1u << 27) 230 #define ISI_IMR_DIS_DONE (0x1u << 1) 231 #define ISI_IMR_SRST (0x1u << 2) 232 #define ISI_IMR_VSYNC (0x1u << 10) 233 #define ISI_IMR_PXFR_DONE (0x1u << 16) 234 #define ISI_IMR_CXFR_DONE (0x1u << 17) 235 #define ISI_IMR_P_OVR (0x1u << 24) 236 #define ISI_IMR_C_OVR (0x1u << 25) 237 #define ISI_IMR_CRC_ERR (0x1u << 26) 238 #define ISI_IMR_FR_OVR (0x1u << 27) 240 #define ISI_DMA_CHER_P_CH_EN (0x1u << 0) 241 #define ISI_DMA_CHER_C_CH_EN (0x1u << 1) 243 #define ISI_DMA_CHDR_P_CH_DIS (0x1u << 0) 244 #define ISI_DMA_CHDR_C_CH_DIS (0x1u << 1) 246 #define ISI_DMA_CHSR_P_CH_S (0x1u << 0) 247 #define ISI_DMA_CHSR_C_CH_S (0x1u << 1) 249 #define ISI_DMA_P_ADDR_P_ADDR_Pos 2 250 #define ISI_DMA_P_ADDR_P_ADDR_Msk (0x3fffffffu << ISI_DMA_P_ADDR_P_ADDR_Pos) 251 #define ISI_DMA_P_ADDR_P_ADDR(value) ((ISI_DMA_P_ADDR_P_ADDR_Msk & ((value) << ISI_DMA_P_ADDR_P_ADDR_Pos))) 253 #define ISI_DMA_P_CTRL_P_FETCH (0x1u << 0) 254 #define ISI_DMA_P_CTRL_P_WB (0x1u << 1) 255 #define ISI_DMA_P_CTRL_P_IEN (0x1u << 2) 256 #define ISI_DMA_P_CTRL_P_DONE (0x1u << 3) 258 #define ISI_DMA_P_DSCR_P_DSCR_Pos 2 259 #define ISI_DMA_P_DSCR_P_DSCR_Msk (0x3fffffffu << ISI_DMA_P_DSCR_P_DSCR_Pos) 260 #define ISI_DMA_P_DSCR_P_DSCR(value) ((ISI_DMA_P_DSCR_P_DSCR_Msk & ((value) << ISI_DMA_P_DSCR_P_DSCR_Pos))) 262 #define ISI_DMA_C_ADDR_C_ADDR_Pos 2 263 #define ISI_DMA_C_ADDR_C_ADDR_Msk (0x3fffffffu << ISI_DMA_C_ADDR_C_ADDR_Pos) 264 #define ISI_DMA_C_ADDR_C_ADDR(value) ((ISI_DMA_C_ADDR_C_ADDR_Msk & ((value) << ISI_DMA_C_ADDR_C_ADDR_Pos))) 266 #define ISI_DMA_C_CTRL_C_FETCH (0x1u << 0) 267 #define ISI_DMA_C_CTRL_C_WB (0x1u << 1) 268 #define ISI_DMA_C_CTRL_C_IEN (0x1u << 2) 269 #define ISI_DMA_C_CTRL_C_DONE (0x1u << 3) 271 #define ISI_DMA_C_DSCR_C_DSCR_Pos 2 272 #define ISI_DMA_C_DSCR_C_DSCR_Msk (0x3fffffffu << ISI_DMA_C_DSCR_C_DSCR_Pos) 273 #define ISI_DMA_C_DSCR_C_DSCR(value) ((ISI_DMA_C_DSCR_C_DSCR_Msk & ((value) << ISI_DMA_C_DSCR_C_DSCR_Pos))) 275 #define ISI_WPMR_WPEN (0x1u << 0) 276 #define ISI_WPMR_WPKEY_Pos 8 277 #define ISI_WPMR_WPKEY_Msk (0xffffffu << ISI_WPMR_WPKEY_Pos) 278 #define ISI_WPMR_WPKEY(value) ((ISI_WPMR_WPKEY_Msk & ((value) << ISI_WPMR_WPKEY_Pos))) 279 #define ISI_WPMR_WPKEY_PASSWD (0x495349u << 8) 281 #define ISI_WPSR_WPVS (0x1u << 0) 282 #define ISI_WPSR_WPVSRC_Pos 8 283 #define ISI_WPSR_WPVSRC_Msk (0xffffu << ISI_WPSR_WPVSRC_Pos) 285 #define ISI_VERSION_VERSION_Pos 0 286 #define ISI_VERSION_VERSION_Msk (0xfffu << ISI_VERSION_VERSION_Pos) 287 #define ISI_VERSION_MFN_Pos 16 288 #define ISI_VERSION_MFN_Msk (0x7u << ISI_VERSION_MFN_Pos) __O uint32_t ISI_DMA_CHER
(Isi Offset: 0x38) DMA Channel Enable Register
__IO uint32_t ISI_DMA_P_CTRL
(Isi Offset: 0x48) DMA Preview Control Register
__IO uint32_t ISI_WPMR
(Isi Offset: 0xE4) Write Protection Mode Register
__IO uint32_t ISI_PDECF
(Isi Offset: 0x0C) ISI Preview Decimation Factor Register
__I uint32_t ISI_IMR
(Isi Offset: 0x34) ISI Interrupt Mask Register
__I uint32_t ISI_VERSION
(Isi Offset: 0xFC) Version Register
__IO uint32_t ISI_DMA_C_DSCR
(Isi Offset: 0x58) DMA Codec Descriptor Address Register
__IO uint32_t ISI_DMA_C_CTRL
(Isi Offset: 0x54) DMA Codec Control Register
__IO uint32_t ISI_R2Y_SET2
(Isi Offset: 0x20) ISI Color Space Conversion RGB To YCrCb Set 2 Register
__IO uint32_t ISI_CFG2
(Isi Offset: 0x04) ISI Configuration 2 Register
__I uint32_t ISI_DMA_CHSR
(Isi Offset: 0x40) DMA Channel Status Register
__I uint32_t ISI_SR
(Isi Offset: 0x28) ISI Status Register
__IO uint32_t ISI_PSIZE
(Isi Offset: 0x08) ISI Preview Size Register
__IO uint32_t ISI_Y2R_SET0
(Isi Offset: 0x10) ISI Color Space Conversion YCrCb To RGB Set 0 Register
__O uint32_t ISI_DMA_CHDR
(Isi Offset: 0x3C) DMA Channel Disable Register
__IO uint32_t ISI_Y2R_SET1
(Isi Offset: 0x14) ISI Color Space Conversion YCrCb To RGB Set 1 Register
__IO uint32_t ISI_R2Y_SET0
(Isi Offset: 0x18) ISI Color Space Conversion RGB To YCrCb Set 0 Register
__O uint32_t ISI_IDR
(Isi Offset: 0x30) ISI Interrupt Disable Register
__O uint32_t ISI_CR
(Isi Offset: 0x24) ISI Control Register
__IO uint32_t ISI_R2Y_SET1
(Isi Offset: 0x1C) ISI Color Space Conversion RGB To YCrCb Set 1 Register
__IO uint32_t ISI_DMA_P_DSCR
(Isi Offset: 0x4C) DMA Preview Descriptor Address Register
__O uint32_t ISI_IER
(Isi Offset: 0x2C) ISI Interrupt Enable Register
__I uint32_t ISI_WPSR
(Isi Offset: 0xE8) Write Protection Status Register
__IO uint32_t ISI_CFG1
(Isi Offset: 0x00) ISI Configuration 1 Register
__IO uint32_t ISI_DMA_C_ADDR
(Isi Offset: 0x50) DMA Codec Base Address Register
__IO uint32_t ISI_DMA_P_ADDR
(Isi Offset: 0x44) DMA Preview Base Address Register