30#ifndef _SAMV71_ISI_COMPONENT_
31#define _SAMV71_ISI_COMPONENT_
39#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
42 __IO uint32_t ISI_CFG1;
43 __IO uint32_t ISI_CFG2;
44 __IO uint32_t ISI_PSIZE;
45 __IO uint32_t ISI_PDECF;
46 __IO uint32_t ISI_Y2R_SET0;
47 __IO uint32_t ISI_Y2R_SET1;
48 __IO uint32_t ISI_R2Y_SET0;
49 __IO uint32_t ISI_R2Y_SET1;
50 __IO uint32_t ISI_R2Y_SET2;
56 __O uint32_t ISI_DMA_CHER;
57 __O uint32_t ISI_DMA_CHDR;
58 __I uint32_t ISI_DMA_CHSR;
59 __IO uint32_t ISI_DMA_P_ADDR;
60 __IO uint32_t ISI_DMA_P_CTRL;
61 __IO uint32_t ISI_DMA_P_DSCR;
62 __IO uint32_t ISI_DMA_C_ADDR;
63 __IO uint32_t ISI_DMA_C_CTRL;
64 __IO uint32_t ISI_DMA_C_DSCR;
65 __I uint32_t Reserved1[34];
66 __IO uint32_t ISI_WPMR;
67 __I uint32_t ISI_WPSR;
68 __I uint32_t Reserved2[4];
73#define ISI_CFG1_HSYNC_POL (0x1u << 2)
74#define ISI_CFG1_VSYNC_POL (0x1u << 3)
75#define ISI_CFG1_PIXCLK_POL (0x1u << 4)
76#define ISI_CFG1_EMB_SYNC (0x1u << 6)
77#define ISI_CFG1_CRC_SYNC (0x1u << 7)
78#define ISI_CFG1_FRATE_Pos 8
79#define ISI_CFG1_FRATE_Msk (0x7u << ISI_CFG1_FRATE_Pos)
80#define ISI_CFG1_FRATE(value) ((ISI_CFG1_FRATE_Msk & ((value) << ISI_CFG1_FRATE_Pos)))
81#define ISI_CFG1_DISCR (0x1u << 11)
82#define ISI_CFG1_FULL (0x1u << 12)
83#define ISI_CFG1_THMASK_Pos 13
84#define ISI_CFG1_THMASK_Msk (0x3u << ISI_CFG1_THMASK_Pos)
85#define ISI_CFG1_THMASK(value) ((ISI_CFG1_THMASK_Msk & ((value) << ISI_CFG1_THMASK_Pos)))
86#define ISI_CFG1_THMASK_BEATS_4 (0x0u << 13)
87#define ISI_CFG1_THMASK_BEATS_8 (0x1u << 13)
88#define ISI_CFG1_THMASK_BEATS_16 (0x2u << 13)
89#define ISI_CFG1_SLD_Pos 16
90#define ISI_CFG1_SLD_Msk (0xffu << ISI_CFG1_SLD_Pos)
91#define ISI_CFG1_SLD(value) ((ISI_CFG1_SLD_Msk & ((value) << ISI_CFG1_SLD_Pos)))
92#define ISI_CFG1_SFD_Pos 24
93#define ISI_CFG1_SFD_Msk (0xffu << ISI_CFG1_SFD_Pos)
94#define ISI_CFG1_SFD(value) ((ISI_CFG1_SFD_Msk & ((value) << ISI_CFG1_SFD_Pos)))
96#define ISI_CFG2_IM_VSIZE_Pos 0
97#define ISI_CFG2_IM_VSIZE_Msk (0x7ffu << ISI_CFG2_IM_VSIZE_Pos)
98#define ISI_CFG2_IM_VSIZE(value) ((ISI_CFG2_IM_VSIZE_Msk & ((value) << ISI_CFG2_IM_VSIZE_Pos)))
99#define ISI_CFG2_GS_MODE (0x1u << 11)
100#define ISI_CFG2_RGB_MODE (0x1u << 12)
101#define ISI_CFG2_GRAYSCALE (0x1u << 13)
102#define ISI_CFG2_RGB_SWAP (0x1u << 14)
103#define ISI_CFG2_COL_SPACE (0x1u << 15)
104#define ISI_CFG2_IM_HSIZE_Pos 16
105#define ISI_CFG2_IM_HSIZE_Msk (0x7ffu << ISI_CFG2_IM_HSIZE_Pos)
106#define ISI_CFG2_IM_HSIZE(value) ((ISI_CFG2_IM_HSIZE_Msk & ((value) << ISI_CFG2_IM_HSIZE_Pos)))
107#define ISI_CFG2_YCC_SWAP_Pos 28
108#define ISI_CFG2_YCC_SWAP_Msk (0x3u << ISI_CFG2_YCC_SWAP_Pos)
109#define ISI_CFG2_YCC_SWAP(value) ((ISI_CFG2_YCC_SWAP_Msk & ((value) << ISI_CFG2_YCC_SWAP_Pos)))
110#define ISI_CFG2_YCC_SWAP_DEFAULT (0x0u << 28)
111#define ISI_CFG2_YCC_SWAP_MODE1 (0x1u << 28)
112#define ISI_CFG2_YCC_SWAP_MODE2 (0x2u << 28)
113#define ISI_CFG2_YCC_SWAP_MODE3 (0x3u << 28)
114#define ISI_CFG2_RGB_CFG_Pos 30
115#define ISI_CFG2_RGB_CFG_Msk (0x3u << ISI_CFG2_RGB_CFG_Pos)
116#define ISI_CFG2_RGB_CFG(value) ((ISI_CFG2_RGB_CFG_Msk & ((value) << ISI_CFG2_RGB_CFG_Pos)))
117#define ISI_CFG2_RGB_CFG_DEFAULT (0x0u << 30)
118#define ISI_CFG2_RGB_CFG_MODE1 (0x1u << 30)
119#define ISI_CFG2_RGB_CFG_MODE2 (0x2u << 30)
120#define ISI_CFG2_RGB_CFG_MODE3 (0x3u << 30)
122#define ISI_PSIZE_PREV_VSIZE_Pos 0
123#define ISI_PSIZE_PREV_VSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_VSIZE_Pos)
124#define ISI_PSIZE_PREV_VSIZE(value) ((ISI_PSIZE_PREV_VSIZE_Msk & ((value) << ISI_PSIZE_PREV_VSIZE_Pos)))
125#define ISI_PSIZE_PREV_HSIZE_Pos 16
126#define ISI_PSIZE_PREV_HSIZE_Msk (0x3ffu << ISI_PSIZE_PREV_HSIZE_Pos)
127#define ISI_PSIZE_PREV_HSIZE(value) ((ISI_PSIZE_PREV_HSIZE_Msk & ((value) << ISI_PSIZE_PREV_HSIZE_Pos)))
129#define ISI_PDECF_DEC_FACTOR_Pos 0
130#define ISI_PDECF_DEC_FACTOR_Msk (0xffu << ISI_PDECF_DEC_FACTOR_Pos)
131#define ISI_PDECF_DEC_FACTOR(value) ((ISI_PDECF_DEC_FACTOR_Msk & ((value) << ISI_PDECF_DEC_FACTOR_Pos)))
133#define ISI_Y2R_SET0_C0_Pos 0
134#define ISI_Y2R_SET0_C0_Msk (0xffu << ISI_Y2R_SET0_C0_Pos)
135#define ISI_Y2R_SET0_C0(value) ((ISI_Y2R_SET0_C0_Msk & ((value) << ISI_Y2R_SET0_C0_Pos)))
136#define ISI_Y2R_SET0_C1_Pos 8
137#define ISI_Y2R_SET0_C1_Msk (0xffu << ISI_Y2R_SET0_C1_Pos)
138#define ISI_Y2R_SET0_C1(value) ((ISI_Y2R_SET0_C1_Msk & ((value) << ISI_Y2R_SET0_C1_Pos)))
139#define ISI_Y2R_SET0_C2_Pos 16
140#define ISI_Y2R_SET0_C2_Msk (0xffu << ISI_Y2R_SET0_C2_Pos)
141#define ISI_Y2R_SET0_C2(value) ((ISI_Y2R_SET0_C2_Msk & ((value) << ISI_Y2R_SET0_C2_Pos)))
142#define ISI_Y2R_SET0_C3_Pos 24
143#define ISI_Y2R_SET0_C3_Msk (0xffu << ISI_Y2R_SET0_C3_Pos)
144#define ISI_Y2R_SET0_C3(value) ((ISI_Y2R_SET0_C3_Msk & ((value) << ISI_Y2R_SET0_C3_Pos)))
146#define ISI_Y2R_SET1_C4_Pos 0
147#define ISI_Y2R_SET1_C4_Msk (0x1ffu << ISI_Y2R_SET1_C4_Pos)
148#define ISI_Y2R_SET1_C4(value) ((ISI_Y2R_SET1_C4_Msk & ((value) << ISI_Y2R_SET1_C4_Pos)))
149#define ISI_Y2R_SET1_Yoff (0x1u << 12)
150#define ISI_Y2R_SET1_Croff (0x1u << 13)
151#define ISI_Y2R_SET1_Cboff (0x1u << 14)
153#define ISI_R2Y_SET0_C0_Pos 0
154#define ISI_R2Y_SET0_C0_Msk (0x7fu << ISI_R2Y_SET0_C0_Pos)
155#define ISI_R2Y_SET0_C0(value) ((ISI_R2Y_SET0_C0_Msk & ((value) << ISI_R2Y_SET0_C0_Pos)))
156#define ISI_R2Y_SET0_C1_Pos 8
157#define ISI_R2Y_SET0_C1_Msk (0x7fu << ISI_R2Y_SET0_C1_Pos)
158#define ISI_R2Y_SET0_C1(value) ((ISI_R2Y_SET0_C1_Msk & ((value) << ISI_R2Y_SET0_C1_Pos)))
159#define ISI_R2Y_SET0_C2_Pos 16
160#define ISI_R2Y_SET0_C2_Msk (0x7fu << ISI_R2Y_SET0_C2_Pos)
161#define ISI_R2Y_SET0_C2(value) ((ISI_R2Y_SET0_C2_Msk & ((value) << ISI_R2Y_SET0_C2_Pos)))
162#define ISI_R2Y_SET0_Roff (0x1u << 24)
164#define ISI_R2Y_SET1_C3_Pos 0
165#define ISI_R2Y_SET1_C3_Msk (0x7fu << ISI_R2Y_SET1_C3_Pos)
166#define ISI_R2Y_SET1_C3(value) ((ISI_R2Y_SET1_C3_Msk & ((value) << ISI_R2Y_SET1_C3_Pos)))
167#define ISI_R2Y_SET1_C4_Pos 8
168#define ISI_R2Y_SET1_C4_Msk (0x7fu << ISI_R2Y_SET1_C4_Pos)
169#define ISI_R2Y_SET1_C4(value) ((ISI_R2Y_SET1_C4_Msk & ((value) << ISI_R2Y_SET1_C4_Pos)))
170#define ISI_R2Y_SET1_C5_Pos 16
171#define ISI_R2Y_SET1_C5_Msk (0x7fu << ISI_R2Y_SET1_C5_Pos)
172#define ISI_R2Y_SET1_C5(value) ((ISI_R2Y_SET1_C5_Msk & ((value) << ISI_R2Y_SET1_C5_Pos)))
173#define ISI_R2Y_SET1_Goff (0x1u << 24)
175#define ISI_R2Y_SET2_C6_Pos 0
176#define ISI_R2Y_SET2_C6_Msk (0x7fu << ISI_R2Y_SET2_C6_Pos)
177#define ISI_R2Y_SET2_C6(value) ((ISI_R2Y_SET2_C6_Msk & ((value) << ISI_R2Y_SET2_C6_Pos)))
178#define ISI_R2Y_SET2_C7_Pos 8
179#define ISI_R2Y_SET2_C7_Msk (0x7fu << ISI_R2Y_SET2_C7_Pos)
180#define ISI_R2Y_SET2_C7(value) ((ISI_R2Y_SET2_C7_Msk & ((value) << ISI_R2Y_SET2_C7_Pos)))
181#define ISI_R2Y_SET2_C8_Pos 16
182#define ISI_R2Y_SET2_C8_Msk (0x7fu << ISI_R2Y_SET2_C8_Pos)
183#define ISI_R2Y_SET2_C8(value) ((ISI_R2Y_SET2_C8_Msk & ((value) << ISI_R2Y_SET2_C8_Pos)))
184#define ISI_R2Y_SET2_Boff (0x1u << 24)
186#define ISI_CR_ISI_EN (0x1u << 0)
187#define ISI_CR_ISI_DIS (0x1u << 1)
188#define ISI_CR_ISI_SRST (0x1u << 2)
189#define ISI_CR_ISI_CDC (0x1u << 8)
191#define ISI_SR_ENABLE (0x1u << 0)
192#define ISI_SR_DIS_DONE (0x1u << 1)
193#define ISI_SR_SRST (0x1u << 2)
194#define ISI_SR_CDC_PND (0x1u << 8)
195#define ISI_SR_VSYNC (0x1u << 10)
196#define ISI_SR_PXFR_DONE (0x1u << 16)
197#define ISI_SR_CXFR_DONE (0x1u << 17)
198#define ISI_SR_SIP (0x1u << 19)
199#define ISI_SR_P_OVR (0x1u << 24)
200#define ISI_SR_C_OVR (0x1u << 25)
201#define ISI_SR_CRC_ERR (0x1u << 26)
202#define ISI_SR_FR_OVR (0x1u << 27)
204#define ISI_IER_DIS_DONE (0x1u << 1)
205#define ISI_IER_SRST (0x1u << 2)
206#define ISI_IER_VSYNC (0x1u << 10)
207#define ISI_IER_PXFR_DONE (0x1u << 16)
208#define ISI_IER_CXFR_DONE (0x1u << 17)
209#define ISI_IER_P_OVR (0x1u << 24)
210#define ISI_IER_C_OVR (0x1u << 25)
211#define ISI_IER_CRC_ERR (0x1u << 26)
212#define ISI_IER_FR_OVR (0x1u << 27)
214#define ISI_IDR_DIS_DONE (0x1u << 1)
215#define ISI_IDR_SRST (0x1u << 2)
216#define ISI_IDR_VSYNC (0x1u << 10)
217#define ISI_IDR_PXFR_DONE (0x1u << 16)
218#define ISI_IDR_CXFR_DONE (0x1u << 17)
219#define ISI_IDR_P_OVR (0x1u << 24)
220#define ISI_IDR_C_OVR (0x1u << 25)
221#define ISI_IDR_CRC_ERR (0x1u << 26)
222#define ISI_IDR_FR_OVR (0x1u << 27)
224#define ISI_IMR_DIS_DONE (0x1u << 1)
225#define ISI_IMR_SRST (0x1u << 2)
226#define ISI_IMR_VSYNC (0x1u << 10)
227#define ISI_IMR_PXFR_DONE (0x1u << 16)
228#define ISI_IMR_CXFR_DONE (0x1u << 17)
229#define ISI_IMR_P_OVR (0x1u << 24)
230#define ISI_IMR_C_OVR (0x1u << 25)
231#define ISI_IMR_CRC_ERR (0x1u << 26)
232#define ISI_IMR_FR_OVR (0x1u << 27)
234#define ISI_DMA_CHER_P_CH_EN (0x1u << 0)
235#define ISI_DMA_CHER_C_CH_EN (0x1u << 1)
237#define ISI_DMA_CHDR_P_CH_DIS (0x1u << 0)
238#define ISI_DMA_CHDR_C_CH_DIS (0x1u << 1)
240#define ISI_DMA_CHSR_P_CH_S (0x1u << 0)
241#define ISI_DMA_CHSR_C_CH_S (0x1u << 1)
243#define ISI_DMA_P_ADDR_P_ADDR_Pos 2
244#define ISI_DMA_P_ADDR_P_ADDR_Msk (0x3fffffffu << ISI_DMA_P_ADDR_P_ADDR_Pos)
245#define ISI_DMA_P_ADDR_P_ADDR(value) ((ISI_DMA_P_ADDR_P_ADDR_Msk & ((value) << ISI_DMA_P_ADDR_P_ADDR_Pos)))
247#define ISI_DMA_P_CTRL_P_FETCH (0x1u << 0)
248#define ISI_DMA_P_CTRL_P_WB (0x1u << 1)
249#define ISI_DMA_P_CTRL_P_IEN (0x1u << 2)
250#define ISI_DMA_P_CTRL_P_DONE (0x1u << 3)
252#define ISI_DMA_P_DSCR_P_DSCR_Pos 2
253#define ISI_DMA_P_DSCR_P_DSCR_Msk (0x3fffffffu << ISI_DMA_P_DSCR_P_DSCR_Pos)
254#define ISI_DMA_P_DSCR_P_DSCR(value) ((ISI_DMA_P_DSCR_P_DSCR_Msk & ((value) << ISI_DMA_P_DSCR_P_DSCR_Pos)))
256#define ISI_DMA_C_ADDR_C_ADDR_Pos 2
257#define ISI_DMA_C_ADDR_C_ADDR_Msk (0x3fffffffu << ISI_DMA_C_ADDR_C_ADDR_Pos)
258#define ISI_DMA_C_ADDR_C_ADDR(value) ((ISI_DMA_C_ADDR_C_ADDR_Msk & ((value) << ISI_DMA_C_ADDR_C_ADDR_Pos)))
260#define ISI_DMA_C_CTRL_C_FETCH (0x1u << 0)
261#define ISI_DMA_C_CTRL_C_WB (0x1u << 1)
262#define ISI_DMA_C_CTRL_C_IEN (0x1u << 2)
263#define ISI_DMA_C_CTRL_C_DONE (0x1u << 3)
265#define ISI_DMA_C_DSCR_C_DSCR_Pos 2
266#define ISI_DMA_C_DSCR_C_DSCR_Msk (0x3fffffffu << ISI_DMA_C_DSCR_C_DSCR_Pos)
267#define ISI_DMA_C_DSCR_C_DSCR(value) ((ISI_DMA_C_DSCR_C_DSCR_Msk & ((value) << ISI_DMA_C_DSCR_C_DSCR_Pos)))
269#define ISI_WPMR_WPEN (0x1u << 0)
270#define ISI_WPMR_WPKEY_Pos 8
271#define ISI_WPMR_WPKEY_Msk (0xffffffu << ISI_WPMR_WPKEY_Pos)
272#define ISI_WPMR_WPKEY(value) ((ISI_WPMR_WPKEY_Msk & ((value) << ISI_WPMR_WPKEY_Pos)))
273#define ISI_WPMR_WPKEY_PASSWD (0x495349u << 8)
275#define ISI_WPSR_WPVS (0x1u << 0)
276#define ISI_WPSR_WPVSRC_Pos 8
277#define ISI_WPSR_WPVSRC_Msk (0xffffu << ISI_WPSR_WPVSRC_Pos)
279#define ISI_VERSION_VERSION_Pos 0
280#define ISI_VERSION_VERSION_Msk (0xfffu << ISI_VERSION_VERSION_Pos)
281#define ISI_VERSION_MFN_Pos 16
282#define ISI_VERSION_MFN_Msk (0x7u << ISI_VERSION_MFN_Pos)
#define __O
Definition: core_cm7.h:286
#define __IO
Definition: core_cm7.h:287
#define __I
Definition: core_cm7.h:284
Isi hardware registers.
Definition: component_isi.h:41
__I uint32_t ISI_VERSION
(Isi Offset: 0xFC) Version Register
Definition: component_isi.h:69