iLLD_TC27xC  1.0
IfxCif.h
Go to the documentation of this file.
1 /**
2  * \file IfxCif.h
3  * \brief CIF basic functionality
4  * \ingroup IfxLld_Cif
5  *
6  * \version iLLD_0_1_0_10
7  * \copyright Copyright (c) 2013 Infineon Technologies AG. All rights reserved.
8  *
9  *
10  * IMPORTANT NOTICE
11  *
12  *
13  * Infineon Technologies AG (Infineon) is supplying this file for use
14  * exclusively with Infineon's microcontroller products. This file can be freely
15  * distributed within development tools that are supporting such microcontroller
16  * products.
17  *
18  * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
19  * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
20  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
21  * INFINEON SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL,
22  * OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
23  *
24  * \defgroup IfxLld_Cif CIF
25  * \ingroup IfxLld
26  * \defgroup IfxLld_Cif_Std Standard Driver
27  * \ingroup IfxLld_Cif
28  * \defgroup IfxLld_Cif_Std_stdEnumerations Standard Enumerations
29  * \ingroup IfxLld_Cif_Std
30  * \defgroup IfxLld_Cif_Std_ispEnum ISP Enumerations
31  * \ingroup IfxLld_Cif_Std
32  * \defgroup IfxLld_Cif_Std_stdFunctions Standard Functions
33  * \ingroup IfxLld_Cif_Std
34  * \defgroup IfxLld_Cif_Std_ispFunctions ISP Functions
35  * \ingroup IfxLld_Cif_Std
36  * \defgroup IfxLld_Cif_Std_ldsFunctions Linear Downscaler Functions
37  * \ingroup IfxLld_Cif_Std
38  * \defgroup IfxLld_Cif_Std_ldsEnumerations Linear Downscaler Enumerations
39  * \ingroup IfxLld_Cif_Std
40  * \defgroup IfxLld_Cif_Std_miFunctions Memory Interface Functions
41  * \ingroup IfxLld_Cif_Std
42  * \defgroup IfxLld_Cif_Std_miEnumerations Memory Interface Enumerations
43  * \ingroup IfxLld_Cif_Std
44  * \defgroup IfxLld_Cif_Std_jpeFunctions JPEG Encoder Functions
45  * \ingroup IfxLld_Cif_Std
46  * \defgroup IfxLld_Cif_Std_jpeEnumerations JPEG Encoder Enumerations
47  * \ingroup IfxLld_Cif_Std
48  * \defgroup IfxLld_Cif_Std_swFunctions Security Watchdog Functions
49  * \ingroup IfxLld_Cif_Std
50  * \defgroup IfxLld_Cif_Std_swEnumerations Security Watchdog Enumerations
51  * \ingroup IfxLld_Cif_Std
52  * \defgroup IfxLld_Cif_Std_ispisFunctions ISP Image Stabilization Functions
53  * \ingroup IfxLld_Cif_Std
54  * \defgroup IfxLld_Cif_Std_ispisEnumerations ISP Image Stabilization Enumerations
55  * \ingroup IfxLld_Cif_Std
56  * \defgroup IfxLld_Cif_Std_epFunctions Extra Path Functions
57  * \ingroup IfxLld_Cif_Std
58  * \defgroup IfxLld_Cif_Std_epEnumerations Extra Path Enumerations
59  * \ingroup IfxLld_Cif_Std
60  * \defgroup IfxLld_Cif_Std_dpFunctions Debug Path Functions
61  * \ingroup IfxLld_Cif_Std
62  * \defgroup IfxLld_Cif_Std_dpEnumerations Debug Path Enumerations
63  * \ingroup IfxLld_Cif_Std
64  */
65 
66 #ifndef IFXCIF_H
67 #define IFXCIF_H 1
68 
69 /******************************************************************************/
70 /*----------------------------------Includes----------------------------------*/
71 /******************************************************************************/
72 
73 #include "_Impl/IfxCif_cfg.h"
74 
75 /******************************************************************************/
76 /*--------------------------------Enumerations--------------------------------*/
77 /******************************************************************************/
78 
79 /** \addtogroup IfxLld_Cif_Std_stdEnumerations
80  * \{ */
81 /** \brief Enumerator for data path of main path
82  */
83 typedef enum
84 {
85  IfxCif_DataPathSelectorForMainPath_Disabled = 0, /**< \brief Main path is disabled */
86  IfxCif_DataPathSelectorForMainPath_DataToMemoryInterfaceUncompressed = 1, /**< \brief Main path is routed to the Memory Interface */
87  IfxCif_DataPathSelectorForMainPath_DataToJpegEncoder = 2 /**< \brief Main path is routed to the JPEG encoder */
89 
90 /** \brief Enumerator for the state of an error
91  */
92 typedef enum
93 {
94  IfxCif_ErrorState_NoError = 0, /**< \brief No error occurred */
95  IfxCif_ErrorState_Error = 1 /**< \brief Error occurred */
97 
98 /** \brief Enumerator for the extra paths
99  */
100 typedef enum
101 {
108 
109 /** \brief Enumerator for tiers
110  */
111 typedef enum
112 {
113  IfxCif_ImageTiers_Horizontal = 0, /**< \brief Horizontal tier */
114  IfxCif_ImageTiers_Vertical = 1 /**< \brief Vertical tier */
116 
117 /** \brief Enumerator for input interfaces supported by the CIF interface
118  */
119 typedef enum
120 {
121  IfxCif_InputInterface_ParallelInterface = 0 /**< \brief Parallel interface (currently the only supported input interface) */
123 
124 /** \brief Enumerator for the state of an interrupt
125  */
126 typedef enum
127 {
128  IfxCif_InterruptTriggeredState_NotTriggered = 0, /**< \brief Interrupt was not triggered */
129  IfxCif_InterruptTriggeredState_Triggered = 1 /**< \brief Interrupt was triggered */
131 
132 /** \brief Enumerator for port input selections
133  */
134 typedef enum
135 {
136  IfxCif_PortInputSelection_PinMapping0 = 0, /**< \brief pin mapping 0 */
137  IfxCif_PortInputSelection_PinMapping1 = 1 /**< \brief pin mapping 1 */
139 
140 /** \brief Enumerator for states
141  */
142 typedef enum
143 {
144  IfxCif_State_Disabled = 0, /**< \brief Disabled state */
145  IfxCif_State_Enabled = 1 /**< \brief Enabled state */
146 } IfxCif_State;
147 
148 /** \brief Enumerator for submodules of the CIF interface
149  */
150 typedef enum
151 {
152  IfxCif_Submodules_AllModules = 0, /**< \brief All submodules */
153  IfxCif_Submodules_Debug = 1, /**< \brief Debug submodule */
154  IfxCif_Submodules_ExtraPaths = 2, /**< \brief Extra Paths submodule */
155  IfxCif_Submodules_LinearDownscaler = 3, /**< \brief Linear Downscaler submodule */
156  IfxCif_Submodules_SecurityWatchdog = 4, /**< \brief Security Watchdog submodule */
157  IfxCif_Submodules_MemoryInterface = 5, /**< \brief Memory Interface submodule */
158  IfxCif_Submodules_JpegEncoder = 6, /**< \brief JPEG Encoder submodule */
159  IfxCif_Submodules_ImageSignalProcessing = 7, /**< \brief Image Signal Processing submodule */
160  IfxCif_Submodules_YCSplitter = 8 /**< \brief Y/C-Splitter submodule */
162 
163 /** \brief Enumerator for channel mode of Y/C splitter
164  */
165 typedef enum
166 {
167  IfxCif_YCSplitterChannelMode_Disabled = 0, /**< \brief Y/C splitter is disabled */
168  IfxCif_YCSplitterChannelMode_MainPathAndRawMode = 1 /**< \brief Y/C splitter is enabled for main path and RAW mode */
170 
171 /** \} */
172 
173 /** \addtogroup IfxLld_Cif_Std_ispEnum
174  * \{ */
175 /** \brief Enumerator for the ISP CCIR sequence
176  */
177 typedef enum
178 {
179  IfxCif_IspCcirSequence_YCbYCr = 0, /**< \brief YCbYCr */
180  IfxCif_IspCcirSequence_YCrYCb = 1, /**< \brief YCrYCb */
181  IfxCif_IspCcirSequence_CbYCrY = 2 /**< \brief CbYCrY */
183 
184 /** \brief Enumerator for the clipping range of the crominance for the ISP output
185  */
186 typedef enum
187 {
188  IfxCif_IspColorSpaceMatrixCrominanceClippingRange_16To240 = 0, /**< \brief CbCr range 16..240 according to ITU-R BT.601 standard */
189  IfxCif_IspColorSpaceMatrixCrominanceClippingRange_0To255 = 1 /**< \brief full UV range 0..255 */
191 
192 /** \brief Enumerator for the clipping range of the luminance for the ISP output
193  */
194 typedef enum
195 {
196  IfxCif_IspColorSpaceMatrixLuminanceClippingRange_16To235 = 0, /**< \brief Y range 16..235 according to ITU-R BT.601 standard */
197  IfxCif_IspColorSpaceMatrixLuminanceClippingRange_0To255 = 1 /**< \brief full Y range 0..255 */
199 
200 /** \brief Enumerator for error sources of the ISP module
201  */
202 typedef enum
203 {
204  IfxCif_IspErrorSources_SizeErrorInOutmuxSubmodule = 0, /**< \brief Size error is generated in outmux submodule */
205  IfxCif_IspErrorSources_SizeErrorInImageStabilizationSubmodule = 1, /**< \brief Size error is generated in image stabilization submodule */
206  IfxCif_IspErrorSources_SizeErrorInInformSubmodule = 2 /**< \brief ize error is generated in inform submodule */
208 
209 /** \brief Enumerator for the sampled input fields
210  */
211 typedef enum
212 {
213  IfxCif_IspFieldSelection_AllFields = 0, /**< \brief sample all fields (don't care about fields) */
214  IfxCif_IspFieldSelection_OnlyEvenFields = 1, /**< \brief sample only even fields */
215  IfxCif_IspFieldSelection_OnlyOddFields = 2 /**< \brief sample only odd fields */
217 
218 /** \brief Enumerator for current field information
219  */
220 typedef enum
221 {
222  IfxCif_IspInformFieldInformation_Odd = 0, /**< \brief Odd field */
223  IfxCif_IspInformFieldInformation_Even = 1 /**< \brief Even field */
225 
226 /** \brief Enumerator for the supported input interfaces of the ISP
227  */
228 typedef enum
229 {
230  IfxCif_IspInputInterface_8BitExternalInterfaceAppendMsb = 0, /**< \brief 8-bit external Interface if enabled append 8 MSBs as LSBs */
231  IfxCif_IspInputInterface_8BitExternalInterfaceAppendZeros = 1, /**< \brief 8-bit external Interface if enabled append 8 zeroes as LSBs */
232  IfxCif_IspInputInterface_10BitExternalInterfaceAppendMsb = 2, /**< \brief 10-bit external Interface if enabled append 6 MSBs as LSBs */
233  IfxCif_IspInputInterface_10BitExternalInterfaceAppendZeros = 3, /**< \brief 10-bit external Interface if enabled append 6 zeroes as LSBs */
234  IfxCif_IspInputInterface_12BitExternalInterfaceAppendMsb = 4, /**< \brief 12-bit external Interface if enabled append 4 MSBs as LSBs */
235  IfxCif_IspInputInterface_12BitExternalInterfaceAppendZeros = 5, /**< \brief 12-bit external Interface if enabled append 4 zeroes as LSBs */
236  IfxCif_IspInputInterface_14BitExternalInterfaceAppendMsb = 6, /**< \brief 14-bit external Interface if enabled append 2 MSBs as LSBs */
237  IfxCif_IspInputInterface_14BitExternalInterfaceAppendZeros = 7, /**< \brief 14-bit external Interface if enabled append 2 zeroes as LSBs */
238  IfxCif_IspInputInterface_16BitExternalInterface = 8 /**< \brief 16-bit external Interface */
240 
241 /** \brief Enumerator for interrupt sources of the ISP submodule
242  */
243 typedef enum
244 {
245  IfxCif_IspInterruptSources_SecurityWatchdogTimeout = 0, /**< \brief A watchdog timeout was triggered at the ISP input */
246  IfxCif_IspInterruptSources_StartEdgeOfHSync = 1, /**< \brief Start Edge of h_sync */
247  IfxCif_IspInterruptSources_StartEdgeOfVSync = 2, /**< \brief Start Edge of v_sync */
248  IfxCif_IspInterruptSources_SampledInputFrameComplete = 3, /**< \brief Sampled Input Frame is Complete */
249  IfxCif_IspInterruptSources_PictureSizeViolationOccurred = 4, /**< \brief Picture Size Violation Occurred */
250  IfxCif_IspInterruptSources_LossOfData = 5, /**< \brief Loss of Data */
251  IfxCif_IspInterruptSources_FrameCompletelyPutOut = 6, /**< \brief Frame was Completely Put Out */
252  IfxCif_IspInterruptSources_IspTurnedOff = 7 /**< \brief Isp was Turned Off (vsynced) */
254 
255 /** \brief Enumerator for the ISP mode
256  */
257 typedef enum
258 {
259  IfxCif_IspMode_RawPicture = 0, /**< \brief RAW picture */
260  IfxCif_IspMode_ItuRBT656 = 1, /**< \brief ITU-R BT.656 (YUV with embedded sync) */
261  IfxCif_IspMode_ItuRBT601 = 2, /**< \brief ITU-R BT.601 (YUV input with H and Vsync signals) */
262  IfxCif_IspMode_DataMode = 4, /**< \brief datamode (ISP bypass, sync signals interpreted as data enable) */
263  IfxCif_IspMode_RawPictureWithItuRBT656Sync = 6 /**< \brief RAW picture mode with ITU-R BT.656 synchronization */
265 
266 /** \brief Enumerator for ISP sampling edge
267  */
268 typedef enum
269 {
270  IfxCif_IspSamplingEdge_NegativeEdge = 0, /**< \brief negative edge sampling */
271  IfxCif_IspSamplingEdge_PositiveEdge = 1 /**< \brief positive edge sampling */
273 
274 /** \brief
275  */
276 typedef enum
277 {
278  IfxCif_IspSyncPolarity_HighActive = 0, /**< \brief high active sync polarity */
279  IfxCif_IspSyncPolarity_LowActive = 1 /**< \brief low active sync polarity */
281 
282 /** \} */
283 
284 /** \addtogroup IfxLld_Cif_Std_ldsEnumerations
285  * \{ */
286 /** \brief Enumerator for scaling mode of linear downscaler
287  */
288 typedef enum
289 {
290  IfxCif_LinearDownscalerScalingMode_SingleSkip = 0, /**< \brief Scaling mode single skip */
291  IfxCif_LinearDownscalerScalingMode_DoubleSkip = 1, /**< \brief Scaling mode double skip */
292  IfxCif_LinearDownscalerScalingMode_SinglePass = 2, /**< \brief Scaling mode single pass */
293  IfxCif_LinearDownscalerScalingMode_DoublePass = 3, /**< \brief Scaling mode double pass */
294  IfxCif_LinearDownscalerScalingMode_Disabled = -1 /**< \brief Disabled */
296 
297 /** \} */
298 
299 /** \addtogroup IfxLld_Cif_Std_miEnumerations
300  * \{ */
301 /** \brief Enumerator for burst length affecting the write port of the memory interface
302  */
303 typedef enum
304 {
305  IfxCif_MiBurstLength_4BeatBursts = 0, /**< \brief 4-beat bursts */
306  IfxCif_MiBurstLength_8BeatBursts = 1 /**< \brief 8-beat bursts */
308 
309 /** \brief Enumerator for data paths of the memory interface
310  */
311 typedef enum
312 {
313  IfxCif_MiDataPaths_RawData = 0, /**< \brief RAW data path */
314  IfxCif_MiDataPaths_JpegData = 1, /**< \brief JPEG data path */
315  IfxCif_MiDataPaths_MainPictureData = 2 /**< \brief main picture data path */
317 
318 /** \brief Enumerator for interrupt sources of the memory interface submodule
319  */
320 typedef enum
321 {
322  IfxCif_MiInterruptSources_BusError = 0, /**< \brief Bus write or read error interrupt (from handshake target interfaces) */
323  IfxCif_MiInterruptSources_WrapMainPictureCr = 1, /**< \brief Main picture Cr address wrap interrupt */
324  IfxCif_MiInterruptSources_WrapMainPictureCb = 2, /**< \brief Main picture Cb address wrap interrupt */
325  IfxCif_MiInterruptSources_WrapMainPictureY = 3, /**< \brief Main picture Y address wrap interrupt */
326  IfxCif_MiInterruptSources_FillMainPictureY = 4, /**< \brief Main picture Y address wrap interrupt */
327  IfxCif_MiInterruptSources_MacroBlockLine = 5, /**< \brief Macroblock line interrupt of main picture (16 lines of Y, 8 lines of Cb and 8 lines of Cr are written into RAM) */
328  IfxCif_MiInterruptSources_MainPictureFrameEnd = 6 /**< \brief Picture end of frame interrupt */
330 
331 /** \brief Enumerator for main picture path components of the memory interface
332  */
333 typedef enum
334 {
335  IfxCif_MiMainPicturePathComponents_Y = 0, /**< \brief Y-component */
336  IfxCif_MiMainPicturePathComponents_Cb = 1, /**< \brief Cb-component */
337  IfxCif_MiMainPicturePathComponents_Cr = 2 /**< \brief Cr-component */
339 
340 /** \brief Enumerator for write formats of data written into memory
341  */
342 typedef enum
343 {
344  IfxCif_MiMainPictureWriteFormat_PlanarOrData8Bit = 0, /**< \brief planar (YCbCr mode) / RAW & data mode (8 bit) */
345  IfxCif_MiMainPictureWriteFormat_SemiPlanarOrData8Bit = 1, /**< \brief semi-planar for YCbCr 4:2:x / RAW 8 bit */
346  IfxCif_MiMainPictureWriteFormat_InterleavedOrDataGreater8Bit = 2 /**< \brief interleaved_combined for YCbCr 4:2:2 only / RAW & data mode (greater 8 up to 16 bit) */
348 
349 /** \brief Enumerator for status clear sources of the memory interface module
350  */
351 typedef enum
352 {
353  IfxCif_MiStatusClearSources_ExtraPath5FifoFull = 0, /**< \brief FIFO full flag in extra path 5 */
354  IfxCif_MiStatusClearSources_ExtraPath4FifoFull = 1, /**< \brief FIFO full flag in extra path 4 */
355  IfxCif_MiStatusClearSources_ExtraPath3FifoFull = 2, /**< \brief FIFO full flag in extra path 3 */
356  IfxCif_MiStatusClearSources_ExtraPath2FifoFull = 3, /**< \brief FIFO full flag in extra path 2 */
357  IfxCif_MiStatusClearSources_ExtraPath1FifoFull = 4, /**< \brief FIFO full flag in extra path 1 */
358  IfxCif_MiStatusClearSources_BusWriteError = 5, /**< \brief Bus write error flag */
359  IfxCif_MiStatusClearSources_MainPictureCrFifoFull = 6, /**< \brief Cr FIFO full flag in main path */
360  IfxCif_MiStatusClearSources_MainPictureCbFifoFull = 7, /**< \brief Cb FIFO full flag in main path */
361  IfxCif_MiStatusClearSources_MainPictureYFifoFull = 8 /**< \brief Y FIFO full flag in main path */
363 
364 /** \brief Enumerator for status information sources of the memory interface submodule
365  */
366 typedef enum
367 {
368  IfxCif_MiStatusInformationSources_BusWriteError = 0, /**< \brief An Bus error occurred while writing to the Bus (main/self path) since last clear */
369  IfxCif_MiStatusInformationSources_MainPictureCrFifoFull = 1, /**< \brief FIFO full flag of Cr FIFO in main path asserted since last clear */
370  IfxCif_MiStatusInformationSources_MainPictureCbFifoFull = 2, /**< \brief FIFO full flag of Cb FIFO in main path asserted since last clear */
371  IfxCif_MiStatusInformationSources_MainPictureYFifoFull = 3 /**< \brief FIFO full flag of Y FIFO in main path asserted since last clear */
373 
374 /** \} */
375 
376 /** \addtogroup IfxLld_Cif_Std_jpeEnumerations
377  * \{ */
378 /** \brief Enumerator for the Huffman Table components
379  */
380 typedef enum
381 {
382  IfxCif_HuffmanTableComponents_Component0 = 0, /**< \brief Component 0 */
383  IfxCif_HuffmanTableComponents_Component1 = 1, /**< \brief Component 1 */
384  IfxCif_HuffmanTableComponents_Component2 = 2 /**< \brief Component 2 */
386 
387 /** \brief Enumerator for the Huffman Tables
388  */
389 typedef enum
390 {
391  IfxCif_HuffmanTables_Table0 = 0, /**< \brief Huffman Table 0 */
392  IfxCif_HuffmanTables_Table1 = 1 /**< \brief Huffman Table 1 */
394 
395 /** \brief Enumerator for the debug signal sources
396  */
397 typedef enum
398 {
399  IfxCif_JpeDebugSignalSources_BadTableAccess = 0, /**< \brief Debug Bad Table Access (set if an access to the TABLE_DATA or to the TABLE_ID register is performed, when the JPEG_ENCODER is busy) */
400  IfxCif_JpeDebugSignalSources_VlcTableBusy = 1, /**< \brief Debug VLC Table Busy (vlc access to hufftables) */
401  IfxCif_JpeDebugSignalSources_R2BMemoryFull = 2, /**< \brief R2B Memory Full (line memory status of r2b) */
402  IfxCif_JpeDebugSignalSources_VlcEncodeBusy = 3, /**< \brief VLC Encode Busy (vlc encode processing active) */
403  IfxCif_JpeDebugSignalSources_QiqTableAccess = 4 /**< \brief QiqTableAccess */
405 
406 /** \brief Enumerator for the debug signal state
407  */
408 typedef enum
409 {
410  IfxCif_JpeDebugSignalState_Inactive = 0, /**< \brief Debug signal is inactive */
411  IfxCif_JpeDebugSignalState_Active = 1 /**< \brief Debug signal is active */
413 
414 /** \brief Enumerator for the header generation debug control
415  */
416 typedef enum
417 {
418  IfxCif_JpeHeaderGenerationMode_WaitForEncodedImage = 0, /**< \brief wait for encoded image data to fill output buffer */
419  IfxCif_JpeHeaderGenerationMode_TransmitLastHeaderBytes = 1 /**< \brief immediately transmit last header bytes */
421 
422 /** \brief Enumerator for the JPE header mode
423  */
424 typedef enum
425 {
426  IfxCif_JpeHeaderMode_NoAppnHeader = 0, /**< \brief no APPn header */
427  IfxCif_JpeHeaderMode_JfifHeader = 2 /**< \brief JFIF header */
429 
430 /** \brief Enumerator for interrupt sources of the JPEG encoder module
431  */
432 typedef enum
433 {
434  IfxCif_JpeInterruptSources_VlcTableError = 0, /**< \brief VLC table error */
435  IfxCif_JpeInterruptSources_R2BImageSizeError = 1, /**< \brief R2B image size error */
436  IfxCif_JpeInterruptSources_DcTableError = 2, /**< \brief DC Table error */
437  IfxCif_JpeInterruptSources_VlcSymbolError = 3, /**< \brief VLC symbol error */
438  IfxCif_JpeInterruptSources_HeaderGenerationComplete = 4, /**< \brief Header generation complete */
439  IfxCif_JpeInterruptSources_EncodingComplete = 5 /**< \brief Encoding complete */
441 
442 /** \brief Enumerator for the Q-Table selector
443  */
444 typedef enum
445 {
446  IfxCif_JpeQTableSelector_Table0 = 0, /**< \brief Q-Table 0 */
447  IfxCif_JpeQTableSelector_Table1 = 1, /**< \brief Q-Table 1 */
448  IfxCif_JpeQTableSelector_Table2 = 2, /**< \brief Q-Table 2 */
449  IfxCif_JpeQTableSelector_Table3 = 3 /**< \brief Q-Table 3 */
451 
452 /** \brief Enumerator for the components to select Q-Tables
453  */
454 typedef enum
455 {
456  IfxCif_JpeQTableSelectorComponents_Y = 0, /**< \brief Y-component */
457  IfxCif_JpeQTableSelectorComponents_U = 1, /**< \brief U-component */
458  IfxCif_JpeQTableSelectorComponents_V = 2 /**< \brief V-component */
460 
461 /** \brief Enumerator for the input scaling values of the JPEG encoder
462  */
463 typedef enum
464 {
465  IfxCif_JpeScalingValueSources_Y = 0, /**< \brief scaling Y input from [16..235] to [0..255] */
466  IfxCif_JpeScalingValueSources_CbCr = 1 /**< \brief scaling Cb/Cr input from [16..240] to [0..255] */
468 
469 /** \brief Enumerator for the codec state
470  */
471 typedef enum
472 {
473  IfxCif_JpeState_Free = 0, /**< \brief Codec is free (not busy) */
474  IfxCif_JpeState_Busy = 1 /**< \brief JPEG codec in process */
476 
477 /** \brief Enumerator for the JPE Tables
478  */
479 typedef enum
480 {
481  IfxCif_JpeTableId_QTable0 = 0, /**< \brief Q-Table 0 */
482  IfxCif_JpeTableId_QTable1 = 1, /**< \brief Q-Table 1 */
483  IfxCif_JpeTableId_QTable2 = 2, /**< \brief Q-Table 2 */
484  IfxCif_JpeTableId_QTable3 = 3, /**< \brief Q-Table 3 */
485  IfxCif_JpeTableId_VlcDcTable0 = 4, /**< \brief VLC DC Table 0 */
486  IfxCif_JpeTableId_VlcAcTable0 = 5, /**< \brief VLC AC Table 0 */
487  IfxCif_JpeTableId_VlcDcTable1 = 6, /**< \brief VLC DC Table 1 */
488  IfxCif_JpeTableId_VlcAcTable1 = 7 /**< \brief VLC AC Table 1 */
490 
491 /** \brief Enumerator for the JFIF stream encoder continuous mode
492  */
493 typedef enum
494 {
495  IfxCif_JpegJfifStreamEncoderContinuousMode_StopAtFrameEnd = 0, /**< \brief encoder stops at frame end */
496  IfxCif_JpegJfifStreamEncoderContinuousMode_StartAutomatically = 1, /**< \brief encoder starts automatically to encode the next frame */
497  IfxCif_JpegJfifStreamEncoderContinuousMode_GenerateHeaderAndStartAutomatically = 3 /**< \brief encoder first generates next header and then encodes automatically the next frame */
499 
500 /** \brief Enumerator for the picture encoding format
501  */
502 typedef enum
503 {
504  IfxCif_JpegPictureEncodingFormat_422 = 0, /**< \brief 4:2:2 format */
505  IfxCif_JpegPictureEncodingFormat_400 = 1 /**< \brief 4:0:0 format */
507 
508 /** \} */
509 
510 /** \addtogroup IfxLld_Cif_Std_swEnumerations
511  * \{ */
512 /** \brief Enumerator for watchdog counters
513  */
514 typedef enum
515 {
516  IfxCif_SecurityWatchdogCounters_Predivider = 0, /**< \brief Predivider counter */
517  IfxCif_SecurityWatchdogCounters_Vertical = 1, /**< \brief Vertical counter */
518  IfxCif_SecurityWatchdogCounters_Horizontal = 2 /**< \brief Horizontal counter */
520 
521 /** \brief Enumerator for interrupt sources of the security watchdog submodule
522  */
523 typedef enum
524 {
525  IfxCif_SecurityWatchdogInterruptSources_VerticalEndStartTimeout = 0, /**< \brief Vertical End Start Interrupt */
526  IfxCif_SecurityWatchdogInterruptSources_VerticalStartEndTimeout = 1, /**< \brief Vertical Start End Interrupt */
527  IfxCif_SecurityWatchdogInterruptSources_HorizontalEndStartTimeout = 2, /**< \brief Horizontal End Start Interrupt */
528  IfxCif_SecurityWatchdogInterruptSources_HorizontalStartEndTimeout = 3 /**< \brief Horizontal Start End Interrupt */
530 
531 /** \brief Enumerator for watchdog timeout counters
532  */
533 typedef enum
534 {
535  IfxCif_SecurityWatchdogTimeoutCounters_EndStart = 0, /**< \brief Timeout counter for End Start phase */
536  IfxCif_SecurityWatchdogTimeoutCounters_StartEnd = 1 /**< \brief Timeout counter for Start End phase */
538 
539 /** \} */
540 
541 /** \addtogroup IfxLld_Cif_Std_epEnumerations
542  * \{ */
543 /** \brief Enumerator for error sources that can be cleared in the extra paths registers
544  */
545 typedef enum
546 {
547  IfxCif_EpErrorClearSources_ExtraPath5SizeError = 0, /**< \brief Size error in image cropping unit of extra path 5 */
548  IfxCif_EpErrorClearSources_ExtraPath4SizeError = 1, /**< \brief Size error in image cropping unit of extra path 4 */
549  IfxCif_EpErrorClearSources_ExtraPath3SizeError = 2, /**< \brief Size error in image cropping unit of extra path 3 */
550  IfxCif_EpErrorClearSources_ExtraPath2SizeError = 3, /**< \brief Size error in image cropping unit of extra path 2 */
551  IfxCif_EpErrorClearSources_ExtraPath1SizeError = 4 /**< \brief Size error in image cropping unit of extra path 1 */
553 
554 /** \brief Enumerator for error sources of extra paths
555  */
556 typedef enum
557 {
558  IfxCif_EpErrorSources_ExtraPath5FifoFull = 0, /**< \brief FIFO of extra path 5 is full */
559  IfxCif_EpErrorSources_ExtraPath4FifoFull = 1, /**< \brief FIFO of extra path 4 is full */
560  IfxCif_EpErrorSources_ExtraPath3FifoFull = 2, /**< \brief FIFO of extra path 3 is full */
561  IfxCif_EpErrorSources_ExtraPath2FifoFull = 3, /**< \brief FIFO of extra path 2 is full */
562  IfxCif_EpErrorSources_ExtraPath1FifoFull = 4, /**< \brief FIFO of extra path 1 is full */
563  IfxCif_EpErrorSources_ExtraPath5SizeError = 5, /**< \brief Size error in image cropping unit of extra path 5 */
564  IfxCif_EpErrorSources_ExtraPath4SizeError = 6, /**< \brief Size error in image cropping unit of extra path 4 */
565  IfxCif_EpErrorSources_ExtraPath3SizeError = 7, /**< \brief Size error in image cropping unit of extra path 3 */
566  IfxCif_EpErrorSources_ExtraPath2SizeError = 8, /**< \brief Size error in image cropping unit of extra path 2 */
567  IfxCif_EpErrorSources_ExtraPath1SizeError = 9 /**< \brief Size error in image cropping unit of extra path 1 */
569 
570 /** \brief Enumerator for extra path features
571  */
572 typedef enum
573 {
574  IfxCif_EpFeatures_InitOffsetCounter = 0, /**< \brief Init offest counter */
575  IfxCif_EpFeatures_InitBaseAddress = 1, /**< \brief Init buffer base address */
576  IfxCif_EpFeatures_ByteSwap = 2, /**< \brief Byte swap feature */
577  IfxCif_EpFeatures_PictureDataPath = 3 /**< \brief enables the extra path picture data path */
579 
580 /** \brief Enumerator for interrupt sources of the extra paths module
581  */
582 typedef enum
583 {
584  IfxCif_EpInterrupts_FrameEnd = 0, /**< \brief Picture end of frame interrupt */
585  IfxCif_EpInterrupts_FillLevel = 1, /**< \brief Fill level interrupt */
586  IfxCif_EpInterrupts_WrapAround = 2, /**< \brief Address wrap interrupt */
587  IfxCif_EpInterrupts_MacroBlockLine = 3, /**< \brief Macroblock line interrupt */
588  IfxCif_EpInterrupts_Count = 4 /**< \brief Total number of interrupt sources for one extra path */
590 
591 /** \brief Enumerator for write formats of extra paths
592  */
593 typedef enum
594 {
595  IfxCif_EpWriteFormat_RawAndData = 0, /**< \brief Raw and data mode (8 bit) */
596  IfxCif_EpWriteFormat_Raw8Bit = 1, /**< \brief Raw 8 bit mode */
597  IfxCif_EpWriteFormat_RawGreater = 2, /**< \brief RAW & data mode (greater 8 up to 16 bit) */
598  IfxCif_EpWriteFormat_YCbCr = 3 /**< \brief YCbCr 16 bit; YCbCr data is handled interleaved as 16 bit data in extra paths */
600 
601 /** \} */
602 
603 /** \addtogroup IfxLld_Cif_Std_dpEnumerations
604  * \{ */
605 /** \brief Enumerator for debug path control sources
606  */
607 typedef enum
608 {
609  IfxCif_DpControlSources_UserDefinedSymbol8 = 0, /**< \brief User defined symbol 8 */
610  IfxCif_DpControlSources_UserDefinedSymbol7 = 1, /**< \brief User defined symbol 7 */
611  IfxCif_DpControlSources_UserDefinedSymbol6 = 2, /**< \brief User defined symbol 6 */
612  IfxCif_DpControlSources_UserDefinedSymbol5 = 3, /**< \brief User defined symbol 5 */
613  IfxCif_DpControlSources_UserDefinedSymbol4 = 4, /**< \brief ser defined symbol 4 */
614  IfxCif_DpControlSources_UserDefinedSymbol3 = 5, /**< \brief User defined symbol 3 */
615  IfxCif_DpControlSources_UserDefinedSymbol2 = 6, /**< \brief User defined symbol 2 */
616  IfxCif_DpControlSources_UserDefinedSymbol1 = 7, /**< \brief User defined symbol 1 */
617  IfxCif_DpControlSources_TimestampCounter = 8, /**< \brief Timestamp counter */
618  IfxCif_DpControlSources_LineNumberCounter = 9, /**< \brief Line number counter */
619  IfxCif_DpControlSources_FrameNumberCounter = 10 /**< \brief Frame number counter */
621 
622 /** \brief Enumerator for debug path counters
623  */
624 typedef enum
625 {
626  IfxCif_DpCounters_PredividerCounter = 0, /**< \brief Predivider counter */
627  IfxCif_DpCounters_TimestampCounter = 1, /**< \brief Timestamp counter */
628  IfxCif_DpCounters_LineNumberCounter = 2, /**< \brief Line number counter */
629  IfxCif_DpCounters_FrameNumberCounter = 3 /**< \brief Frame number counter */
631 
632 /** \brief Enumerator for debug path source paths
633  */
634 typedef enum
635 {
636  IfxCif_DpSourcePath_MainPath = 0, /**< \brief Main data path */
637  IfxCif_DpSourcePath_ExtraPath1 = 1, /**< \brief Extra path 1 */
638  IfxCif_DpSourcePath_ExtraPath2 = 2, /**< \brief Extra path 2 */
639  IfxCif_DpSourcePath_ExtraPath4 = 4, /**< \brief Extra path 4 */
640  IfxCif_DpSourcePath_ExtraPath5 = 5 /**< \brief Extra path 5 */
642 
643 /** \} */
644 
645 /** \addtogroup IfxLld_Cif_Std_stdFunctions
646  * \{ */
647 
648 /******************************************************************************/
649 /*-------------------------Inline Function Prototypes-------------------------*/
650 /******************************************************************************/
651 
652 /** \brief Function to clear the kernel reset state
653  * \return None
654  */
656 
657 /** \brief Function to query the CIF module ID
658  * \return CIF module ID
659  */
661 
662 /** \brief Function to query the port input selection
663  * \return Always @ref IfxCif_PortInputSelection_PinMapping0
664  */
666 
667 /** \brief Function to query the CIF module revision
668  * \return CIF module revision
669  */
671 
672 /** \brief Function to query the CIF module ID
673  * \return CIF module type
674  */
676 
677 /** \brief Function to query the clock distribution enabled state
678  * \return @ref IfxCif_State_Enabled if clock distribution is enabled, @ref IfxCif_State_Disabled otherwise
679  */
681 
682 /** \brief Function to query the data path for main path
683  * \return Selector for the main data path (one member of @ref IfxCif_DataPathSelectorForMainPath)
684  */
686 
687 /** \brief Function to query the input interface of the CIF interface
688  * \return @ref IfxCif_InputInterface Type of the configured interface
689  */
691 
692 /** \brief Function to query the current level of the ISP input port s_hsync (for testing purposes only)
693  * \return @ref IfxCif_State_Enabled if s_hsync is high, @ref IfxCif_State_Disabled if s_hsync is low
694  */
696 
697 /** \brief Function to query the kernel reset status
698  * \return @ref IfxCif_State_Enabled if kernel reset was executed, @ref IfxCif_State_Disabled otherwise
699  */
701 
702 /** \brief Function to query the module number
703  * \return Module number of the CIF interface
704  */
706 
707 /** \brief Function to query the revision number of the CIF interface
708  * \return Revision number of the CIF interface
709  */
711 
712 /** \brief Function to query the state of the CIF module
713  * \return @ref IfxCif_State_Enabled if the module is currently enabled, @ref IfxCif_State_Disabled otherwise
714  */
716 
717 /** \brief Function to query the module type
718  * \return Module type of the CIF interface
719  */
721 
722 /** \brief Function to query the Y/C splitter channel mode
723  * \return Configured mode of the Y/C splitter (one member of @ref IfxCif_YCSplitterChannelMode)
724  */
726 
727 /** \brief Function to enable or disable the clock distribution to all CIF submodules
728  * \param clockControlLogicState @ref IfxCif_State_Enabled to enable clock distribution, @ref IfxCif_State_Disabled to disable clock distribution
729  * \return None
730  */
731 IFX_INLINE void IfxCif_setClockControlLogicState(IfxCif_State clockControlLogicState);
732 
733 /** \brief Function to set the data path for main path
734  * \param pathSelector Selector for the main data path
735  * \return None
736  */
738 
739 /** \brief Function to set the input interface of the CIF interface
740  * \param interface Type of interface
741  * \return None
742  */
744 
745 /** \brief Function to request a kernel reset or reset the request bit
746  * \param state @ref IfxCif_State_Enabled to request a reset, @ref IfxCif_State_Disabled to reset the request bit before a reset was performed
747  * \return None
748  */
750 
751 /** \brief Function to set the Y/C splitter channel mode
752  * \param mode Mode of the Y/C splitter to set
753  * \return None
754  */
756 
757 /******************************************************************************/
758 /*-------------------------Global Function Prototypes-------------------------*/
759 /******************************************************************************/
760 
761 /** \brief Function to query the clock state of a submodule
762  * \param submodule Identifier of the submodule
763  * \return @ref IfxCif_State_Enabled if the clock of the submodule is enabled, @ref IfxCif_State_Disabled otherwise
764  */
766 
767 /** \brief Function to query the state of the kernel reset request bit
768  * \return @ref IfxCif_State_Enabled if the kernel reset requets bit is set, @ref IfxCif_State_Disabled otherwise
769  */
771 
772 /** \brief Function to query the reset mode of a submodule
773  * \param submodule Identifier of the submodule
774  * \return @ref IfxCif_State_Enabled if the reset mode of the submodule is enabled, @ref IfxCif_State_Disabled otherwise
775  */
777 
778 /** \brief Function to enable or disable the clock of a submodule
779  * \param submodule Identifier of the submodule to enable or disable
780  * \param clockState @ref IfxCif_State_Enabled to enable the clock, @ref IfxCif_State_Disabled to disable the clock
781  * \return None
782  */
784 
785 /** \brief Function to request enabling or disabling of the CIF module
786  * \param state @ref IfxCif_State_Enabled to request the enabling of the module, @ref IfxCif_State_Disabled otherwise
787  * \return None
788  */
790 
791 /** \brief Function to enable or disable the reset mode of a submodule
792  * \param submodule Identifier of the submodule
793  * \param resetMode @ref IfxCif_State_Enabled to enable the reset of the submodule, @ref IfxCif_State_Disabled to disable the reset
794  * \return None
795  */
797 
798 /** \} */
799 
800 /** \addtogroup IfxLld_Cif_Std_ispFunctions
801  * \{ */
802 
803 /******************************************************************************/
804 /*-------------------------Inline Function Prototypes-------------------------*/
805 /******************************************************************************/
806 
807 /** \brief Function to generate a frame synchronous ISP configuration update signal
808  * \return None
809  */
811 
812 /** \brief Function to generate an immediate ISP configuration update signal
813  * \return None
814  */
816 
817 /** \brief Function to query the current ISP frame count
818  * \return Current ISP frame count
819  */
821 
822 /** \brief Function to query the current field information
823  * \return @ref IfxCif_IspInformFieldInformation_Odd for odd fields, @ref IfxCif_IspInformFieldInformation_Even for even fields
824  */
826 
827 /** \brief Function to query the current state of the ISP formatter
828  * \return @ref IfxCif_State_Enabled if the ISP input formatter is currently enabled, @ref IfxCif_State_Disabled if the ISP input formatter is currently disabled
829  */
831 
832 /** \brief Function to query the currently set CCIR sequence
833  * \return Currently set CCIR sequence (one member of @ref IfxCif_IspCcirSequence)
834  */
836 
837 /** \brief Function to query the clipping range of the crominance of the ISP output
838  * \return Currently set clipping range (one member of @ref IfxCif_IspColorSpaceMatrixCrominanceClippingRange)
839  */
841 
842 /** \brief Function to query the clipping range of the luminance of the ISP output
843  * \return Currently set clipping range (one member of @ref IfxCif_IspColorSpaceMatrixLuminanceClippingRange)
844  */
846 
847 /** \brief Function to query the state of field ID inversion
848  * \return @ref IfxCif_State_Enabled if field ID inversion is enabled, @ref IfxCif_State_Disabled otherwise
849  */
851 
852 /** \brief Function to query the currently set field sample mode
853  * \return Currently set fields sample mode (one member of @ref IfxCif_IspFieldSelection)
854  */
856 
857 /** \brief Function to query the currently set polarity of the HSYNC signal
858  * \return @ref IfxCif_IspSyncPolarity_HighActive if HSYNC is configured as high active, @ref IfxCif_IspSyncPolarity_LowActive if HSYNC is configured as low active
859  */
861 
862 /** \brief Function to query the current state of the ISP input formatter
863  * \return @ref IfxCif_State_Enabled if the ISP input formatter is enabled, @ref IfxCif_State_Disabled otherwise
864  */
866 
867 /** \brief Function to query the ISP input interface bit width
868  * \return Configured ISP input interface bit width (one member of @ref IfxCif_IspInputInterface)
869  */
871 
872 /** \brief Function to query the current value of the ISP input port s_data (for test purposes only)
873  * \return Current value of s_data
874  */
876 
877 /** \brief Function to query the current level of the ISP input port s_vsync (for test purposes only)
878  * \return @ref IfxCif_State_Enabled if s_vsync is high, @ref IfxCif_State_Disabled if s_vsync is low
879  */
881 
882 /** \brief Function to query the currently set ISP mode
883  * \return Current ISP mode (one member of @ref IfxCif_IspMode)
884  */
886 
887 /** \brief Function to query the ISP output state
888  * \return @ref IfxCif_State_Enabled if the ISP output is enabled, @ref IfxCif_State_Disabled otherwise
889  */
891 
892 /** \brief Function to query the currently set ISP sampling edge
893  * \return @ref IfxCif_IspSamplingEdge_NegativeEdge if negative clock edge is configured as sampling edge, @ref IfxCif_IspSamplingEdge_PositiveEdge if positive clock edge is configured as sampling edge
894  */
896 
897 /** \brief Function to query the current state of the ISP
898  * \return @ref IfxCif_State_Enabled if the ISP is currently enabled, @ref IfxCif_State_Disabled if the ISP is currently disabled
899  */
901 
902 /** \brief Function to query the currently set polarity of the VSYNC signal
903  * \return @ref IfxCif_IspSyncPolarity_HighActive if VSYNC is configured as high active, @ref IfxCif_IspSyncPolarity_LowActive if VSYNC is configured as low active
904  */
906 
907 /** \brief Function to query the number of acquisition frames
908  * \return Currently set number of acquisition frames
909  */
911 
912 /** \brief Function to set the ISP acquisition offsets
913  * \param hOffset Acquisition horizontal offset to set
914  * \param vOffset Acquisition vertical offset to set
915  * \return None
916  */
918 
919 /** \brief Function to set the ISP acquisition sizes
920  * \param hSize Acquisition horizontal size to set
921  * \param vSize Acquisition vertical size to set
922  * \return None
923  */
925 
926 /** \brief Function to set the CCIR sequence
927  * \param sequence CCIR sequence to set
928  * \return None
929  */
931 
932 /** \brief Function to set the clipping range of the crominance of the ISP output
933  * \param clippingRange Clipping range to set
934  * \return None
935  */
937 
938 /** \brief Function to set the clipping range of the luminance of the ISP output
939  * \param clippingRange Clipping range to set
940  * \return None
941  */
943 
944 /** \brief Function to enable or disable inversion of the field ID
945  * \param fieldInvertState @ref IfxCif_State_Enabled to enable field ID inversion, @ref IfxCif_State_Disabled to disable field ID inversion
946  * \return None
947  */
949 
950 /** \brief Function to select fields to sample
951  * \param selection Sampled fields selector
952  * \return None
953  */
955 
956 /** \brief Function to set the polarity of the HSYNC signal
957  * \param polarity @ref IfxCif_IspSyncPolarity_HighActive for high active HSYNC signal, @ref IfxCif_IspSyncPolarity_LowActive for low active HSYNC signal
958  * \return None
959  */
961 
962 /** \brief Function to enable or disable the ISP input formatter
963  * \param inputFormatterState @ref IfxCif_State_Enabled to enable the ISP input formatter, @ref IfxCif_State_Disabled to disable it
964  * \return None
965  */
967 
968 /** \brief Function to set the ISP input interface bit width
969  * \param input ISP input interface bit width to set
970  * \return None
971  */
973 
974 /** \brief Function to set the ISP mode
975  * \param mode Mode to set
976  * \return None
977  */
979 
980 /** \brief Function to enable or disable the ISP output
981  * \param ispOutputState ispOutputState @ref IfxCif_State_Enabled to enable the ISP output, @ref IfxCif_State_Disabled to disable it
982  * \return None
983  */
985 
986 /** \brief Function to set the ISP output window offsets
987  * \param hOffset Offset horizontal to set
988  * \param vOffset Offset vertical to set
989  * \return None
990  */
992 
993 /** \brief Function to set the ISP picture sizes
994  * \param hSize Picture horizontal size to set
995  * \param vSize Picture vertical size to set
996  * \return None
997  */
999 
1000 /** \brief Function to set the ISP sampling edge
1001  * \param edge @ref IfxCif_IspSamplingEdge_NegativeEdge to sample at negative clock edges, @ref IfxCif_IspSamplingEdge_PositiveEdge to sample at positive clock edges
1002  * \return None
1003  */
1005 
1006 /** \brief Function to set the polarity of the VSYNC signal
1007  * \param polarity @ref IfxCif_IspSyncPolarity_HighActive for high active VSYNC signal, @ref IfxCif_IspSyncPolarity_LowActive for low active VSYNC signal
1008  * \return None
1009  */
1011 
1012 /** \brief Function to set the number of acquisition frames
1013  * \param numberOfFrames Number of acquisition frames to set
1014  * \return None
1015  */
1017 
1018 /******************************************************************************/
1019 /*-------------------------Global Function Prototypes-------------------------*/
1020 /******************************************************************************/
1021 
1022 /** \brief Function to clear the error status bit for an error source
1023  * \param errorSource Error source
1024  * \return None
1025  */
1027 
1028 /** \brief Function to clear an interrupt
1029  * \param interruptSource Source of the interrupt
1030  * \return None
1031  */
1033 
1034 /** \brief Function to query the current ISP picture offset for one tier
1035  * \param tier Tier for which to query the current ISP picture offset
1036  * \return Current ISP picture offset
1037  */
1039 
1040 /** \brief Function to query the current ISP picture size for one tier
1041  * \param tier Tier for which to query the current ISP picture size
1042  * \return Current ISP picture size
1043  */
1045 
1046 /** \brief Function to query the currently set ISP acquisition offset of one tier
1047  * \param tier Tier for which to query the ISP acquisition offset
1048  * \return Currently set ISP acquisition offset
1049  */
1051 
1052 /** \brief Function to query the currently set ISP acquisition size of one tier
1053  * \param tier Tier for which to query the ISP acquisition size
1054  * \return Currently set acquisition size
1055  */
1057 
1058 /** \brief Function to query the error state of an error source
1059  * \param errorSource errorSource Error source to query
1060  * \return @ref IfxCif_ErrorState_Error if the error occured, @ref IfxCif_ErrorState_NoError if the error did not occur
1061  */
1063 
1064 /** \brief Function to query the append state
1065  * \return @ref IfxCif_State_Enabled if appending is enabled, IfxCif_State_Disabled otherwise
1066  */
1068 
1069 /** \brief Function to query the enabled state of an interrupt
1070  * \param interruptSource interruptSource Source of the interrupt
1071  * \return @ref IfxCif_State_Enabled if the interrupt is enabled, @ref IfxCif_State_Disabled if the interrupt is disabled
1072  */
1074 
1075 /** \brief Function to query the currently set ISP output window offset for one tier
1076  * \param tier Tier for which to query the ISP output window offset
1077  * \return Currently set ISP output window offset
1078  */
1080 
1081 /** \brief Function to query the currently set ISP picture size of one tier
1082  * \param tier Tier for which to query the ISP picture size
1083  * \return Currently set ISP picture size
1084  */
1086 
1087 /** \brief Function to query the masked state of an interrupt
1088  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set and the interrupt is enabled, @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is not set or the interrupt is disabled
1089  */
1091 
1092 /** \brief Function to query the raw state of an interrupt
1093  * \param interruptSource Source of the interrupt
1094  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set, @ref IfxCif_InterruptTriggeredState_NotTriggered if the interrupt request bit is not set
1095  */
1097 
1098 /** \brief Function to set the ISP acquisition offset of one tier
1099  * \param tier Tier for which to set the ISP acquisition offset
1100  * \param offset Acquisition offset to set
1101  * \return None
1102  */
1104 
1105 /** \brief Function to set the ISP acquisition size of one tier
1106  * \param tier Tier for which to set the ISP acquisition size
1107  * \param size Acquisition size to set
1108  * \return None
1109  */
1111 
1112 /** \brief Function to enable or disable appending of bits to the input signal
1113  * \param appendState @ref IfxCif_State_Enabled if appending is enabled, IfxCif_State_Disabled otherwise
1114  * \return None
1115  */
1117 
1118 /** \brief Function to enable or disable an interrupt
1119  * \param interruptSource interruptSource Source of the interrupt to enable or disable
1120  * \param interruptEnableState @ref IfxCif_State_Enabled to enable the interrupt, @ref IfxCif_State_Disabled to disable the interrupt
1121  * \return None
1122  */
1123 IFX_EXTERN void IfxCif_setIspInterruptEnableState(IfxCif_IspInterruptSources interruptSource, IfxCif_State interruptEnableState);
1124 
1125 /** \brief Function to set an interrupt request bit (does not necessarily trigger an interrupt)
1126  * \param interruptSource Source of the interrupt
1127  * \return None
1128  */
1130 
1131 /** \brief Function to set the ISP output window offset for one tier
1132  * \param tier Tier for which to query the ISP output window offset
1133  * \param offset Offset to set
1134  * \return None
1135  */
1137 
1138 /** \brief Function to set the ISP picture size of one tier
1139  * \param tier Tier for which to set the ISP picture size
1140  * \param pictureSize Picture size to set
1141  * \return None
1142  */
1144 
1145 /** \} */
1146 
1147 /** \addtogroup IfxLld_Cif_Std_ldsFunctions
1148  * \{ */
1149 
1150 /******************************************************************************/
1151 /*-------------------------Global Function Prototypes-------------------------*/
1152 /******************************************************************************/
1153 
1154 /** \brief Function to query the current state of the linear downscaler for one tier
1155  * \param tier Tier for which to query the state of the linear downscaler
1156  * \return @ref IfxCif_State_Enabled if the linear downscaler is enabled, @ref IfxCif_State_Disabled if the linear downscaler is disabled
1157  */
1159 
1160 /** \brief Function to query the currently set scaling factor of the linear downscaler of one tier
1161  * \param tier Tier for which to query the scaling factor
1162  * \return Current set scaling factor
1163  */
1165 
1166 /** \brief Function to query the currently set scaling mode of one tier
1167  * \param tier Tier for which to query the scaling mode
1168  * \return Currently set scaling mode (one member of @ref IfxCif_LinearDownscalerScalingMode)
1169  */
1171 
1172 /** \brief Function to enable or disable the linear downscaler for one tier
1173  * \param tier Tier for which to enable or disable the linear downscaler
1174  * \param enableState @ref IfxCif_State_Enabled to enable the linear downscaler, @ref IfxCif_State_Disabled to disable the linear downscaler
1175  * \return None
1176  */
1178 
1179 /** \brief Function to set the scaling factor of the linear downscaler of one tier
1180  * \param tier Tier for which to set the scaling factor
1181  * \param factor Factor to set (depending on the configured scaling mode every factor + 1 pixel or double pixel will be skipped or passed to the next module)
1182  * \return None
1183  */
1185 
1186 /** \brief Function to set the scaling factors of the linear downscaler
1187  * \param horizFactor Factor horizontal to set (depending on the configured scaling mode every factor + 1 pixel or double pixel will be skipped or passed to the next module)
1188  * \param vertFactor actor horizontal to set (depending on the configured scaling mode every factor + 1 pixel or double pixel will be skipped or passed to the next module)
1189  * \return None
1190  */
1191 IFX_EXTERN void IfxCif_setLinearDownscalerScalingFactors(uint8 horizFactor, uint8 vertFactor);
1192 
1193 /** \brief Function to set the scaling mode of one tier
1194  * \param tier Tier for which to set the scaling mode
1195  * \param mode Scaling mode to set
1196  * \return None
1197  */
1199 
1200 /** \brief Function to set the scaling mode of one tier
1201  * \param horizMode Scaling mode to set for horizontal
1202  * If the horizMode is not IfxCif_LinearDownscalerScalingMode_Disabled, the horizontal scaling will be enabled.
1203  * \param vertMode Scaling mode to set for vertical
1204  * If the vertMode is not IfxCif_LinearDownscalerScalingMode_Disabled, the vertical scaling will be enabled.
1205  * \return None
1206  */
1208 
1209 /** \} */
1210 
1211 /** \addtogroup IfxLld_Cif_Std_miFunctions
1212  * \{ */
1213 
1214 /******************************************************************************/
1215 /*-------------------------Inline Function Prototypes-------------------------*/
1216 /******************************************************************************/
1217 
1218 /** \brief Function to generate an immediate configuration update signal for the memory interface submodule
1219  * \return None
1220  */
1222 
1223 /** \brief Function to query the enabled state of the update signal of the base address and buffer size shadow registers to the programmed register init values
1224  * \return @ref IfxCif_State_Enabled if update of the base address and buffer size shadow registers is enabled (update will be executed either when a forced software update occurs or when an automatic config update signal arrives at the MI input port), @ref IfxCif_State_Disabled if update of the base address and buffer size shadow registers is disabled
1225  */
1227 
1228 /** \brief Function to query the number of JPEG or RAW data bytes of the last transmitted frame
1229  * \return Number of JPEG or RAW data bytes of the last transmitted frame (updated at frame end)
1230  */
1232 
1233 /** \brief Function to query the current state of the change of byte order of the 32 bit output word
1234  * \return @ref IfxCif_State_Enabled if byte swapping is enabled, @ref IfxCif_State_Disabled if byte swapping is disabled
1235  */
1237 
1238 /** \brief Function to query the currently set burst length for Cb and Cr data
1239  * \return @ref IfxCif_MiBurstLength_4BeatBursts if 4 bytes are transferred, @ref IfxCif_MiBurstLength_8BeatBursts if 8 bytes are transferred
1240  */
1242 
1243 /** \brief Function to query the currently set burst length for Y, JPEG, or RAW data
1244  * \return @ref IfxCif_MiBurstLength_4BeatBursts if 4 bytes are transferred, @ref IfxCif_MiBurstLength_8BeatBursts if 8 bytes are transferred
1245  */
1247 
1248 /** \brief Function to query the currently set write format of the main picture path of the memory interface
1249  * \return Currently set write format (one member of @ref IfxCif_MiMainPictureWriteFormat)
1250  */
1252 
1253 /** \brief Function to query the filling level that triggers an interrupt of main picture path Y component
1254  * \return Filling level that triggers an interrupt
1255  */
1257 
1258 /** \brief Function to query the filling level of the main picture Y component that triggers an interrupt
1259  * \return Filling level of the main picture Y component that triggers an interrupt
1260  */
1262 
1263 /** \brief Function to query the enabled state of the update signal of the offset counter shadow registers
1264  * \return @ref IfxCif_State_Enabled if update of the offset counter shadow registers is enabled (update will be executed either when a forced software update occurs or when an automatic config update signal arrives at the MI input port), @ref IfxCif_State_Disabled if update of the offset counter shadow registers is disabled
1265  */
1267 
1268 /** \brief Function to skip the current or next starting main data path picture
1269  * \return None
1270  */
1271 IFX_INLINE void IfxCif_miSkipPicture(void);
1272 
1273 /** \brief Function to enable or disable the update of the base address and buffer size shadow registers to the programmed register init values (update will be executed either when a forced software update occurs or when an automatic config update signal arrives at the MI input port)
1274  * \param state @ref IfxCif_State_Enabled to enable the generation of the update signal, @ref IfxCif_State_Disabled to disable the generation of the update signal
1275  * \return None
1276  */
1278 
1279 /** \brief Function to enable or disable the change of byte order of the 32 bit output word
1280  * \param enableState @ref IfxCif_State_Enabled to enable byte swapping, @ref IfxCif_State_Disabled to disable byte swapping
1281  * \return None
1282  */
1284 
1285 /** \brief Function to set the burst length for Cb and Cr data
1286  * \param burstLength Burst length to set
1287  * \return None
1288  */
1290 
1291 /** \brief Function to set the write format of the main picture path of the memory interface
1292  * \param format Format to set
1293  * \return None
1294  */
1296 
1297 /** \brief Function to set the filling level to trigger an interrupt for main picture path Y component
1298  * \param interruptOffset Filling level to set
1299  * \return None
1300  */
1302 
1303 /** \brief Function to enable or disable the update of the offset counter shadow registers (update will be executed either when a forced software update occurs or when an automatic config update signal arrives at the MI input port)
1304  * \param state @ref IfxCif_State_Enabled to enable the generation of the update signal, @ref IfxCif_State_Disabled to disable the generation of the update signal
1305  * \return None
1306  */
1308 
1309 /******************************************************************************/
1310 /*-------------------------Global Function Prototypes-------------------------*/
1311 /******************************************************************************/
1312 
1313 /** \brief Function to clear an interrupt
1314  * \param interruptSource Source of the interrupt
1315  * \return None
1316  */
1318 
1319 /** \brief Function to clear the status information of one status clear source of the memory interface submodule
1320  * \param source Status information source for which to clear the status
1321  * \return None
1322  */
1324 
1325 /** \brief Function to query the initial base address of the ring buffer of one main picture path component
1326  * \param component Main picture path component for which to query the initial base address
1327  * \return Initial base address of the main picture path component
1328  */
1330 
1331 /** \brief Function to query the masked state of an interrupt
1332  * \param interruptSource Source of the interrupt
1333  * \return ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set and the interrupt is enabled, @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is not set or the interrupt is disabled
1334  */
1336 
1337 /** \brief Function to query the enabled state of one main data path component at the memory interface input
1338  * \param dataPath Main data path component for which to query the enabled state
1339  * \return @ref IfxCif_State_Enabled if the main data path component is enabled, @ref IfxCif_State_Disabled if the main data path component is disabled
1340  */
1342 
1343 /** \brief Function to query the enabled state of one main data path component at the memory interface output
1344  * \param dataPath Main data path component for which to query the enabled state
1345  * \return @ref IfxCif_State_Enabled if the main data path component is enabled, @ref IfxCif_State_Disabled if the main data path component is disabled
1346  */
1348 
1349 /** \brief Function to query the enabled state of a memory interface data path
1350  * \param dataPath Data path to query
1351  * \return @ref IfxCif_State_Enabled if the memory interface data path is enabled, @ref IfxCif_State_Disabled if the data path is disabled
1352  */
1354 
1355 /** \brief Function to query the enabled state of an interrupt
1356  * \param interruptSource Source of the interrupt
1357  * \return @ref IfxCif_State_Enabled if the interrupt is enabled, @ref IfxCif_State_Disabled if the interrupt is disabled
1358  */
1360 
1361 /** \brief Function to query the current base address of the ring buffer of one main picture path component
1362  * \param component Main Picture path component for which to query the base address
1363  * \return Current base address of the ring buffer of the main picture path component
1364  */
1366 
1367 /** \brief Function to query the initial size of the ring buffer of one main picture path component
1368  * \param component Main picture path component for which to query the intial size
1369  * \return Initial size of the main picture path component
1370  */
1372 
1373 /** \brief Function to query the initial offset counter inside the ring buffer of one main picture path compoent
1374  * \param component Main picture path component for which to query the initial offset counter
1375  * \return Initial offset counter value of the main picture path component
1376  */
1378 
1379 /** \brief Function to query the current offset counter within the ring buffer of one main picture path component
1380  * \param component Main picture path component for which to query the offest counter value
1381  * \return Current offset counter within the ring buffer of the main picture path component
1382  */
1384 
1385 /** \brief Function to query the offset counter which points to the start address of the previously processed picture for one main picture path component
1386  * \param component Main picture path component for which to query the offset counter value
1387  * \return Offset counter value pointing to the start address of the previously processed picture
1388  */
1390 
1391 /** \brief Function to query the current size of the ring buffer of one main picture path component
1392  * \param component Main Picture path component for which to query the size
1393  * \return Current size of the ring buffer of the main picture path component
1394  */
1396 
1397 /** \brief Function to query the status information of one status information source of the memory interface module
1398  * \param source Status information source for which to query the status information
1399  * \return @ref IfxCif_ErrorState_NoError if the error has occured since the last clear, @ref IfxCif_ErrorState_Error if the error has occured since the last clear
1400  */
1402 
1403 /** \brief Function to query the raw state of an interrupt
1404  * \param interruptSource Source of the interrupt
1405  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set, @ref IfxCif_InterruptTriggeredState_NotTriggered if the interrupt request bit is not set
1406  */
1408 
1409 /** \brief Function to enable or disable one memory interface data path
1410  * \param dataPath Data path to enable or disable
1411  * \param enableState @ref IfxCif_State_Enabled to enable the data path, @ref IfxCif_State_Disabled to disable the data path
1412  * \return None
1413  */
1415 
1416 /** \brief Function to enable or disable an interrupt
1417  * \param interruptSource Source of the interrupt to enable or disable
1418  * \param interruptEnableState @ref IfxCif_State_Enabled to enable the interrupt, @ref IfxCif_State_Disabled to disable the interrupt
1419  * \return None
1420  */
1421 IFX_EXTERN void IfxCif_setMiInterruptEnableState(IfxCif_MiInterruptSources interruptSource, IfxCif_State interruptEnableState);
1422 
1423 /** \brief Function to set an interrupt request bit (does not necessarily trigger an interrupt)
1424  * \param interruptSource Source of the interrupt
1425  * \return None
1426  */
1428 
1429 /** \brief Function to set the burst length for Y, JPEG, or RAW data
1430  * \param burstLength Burst length to set
1431  * \return None
1432  */
1434 
1435 /** \brief Function to set the initial base address of the ring buffer for one main picture path component
1436  * \param component Main picture path component for which to set the initial base address
1437  * \param address Base address to set (must be word aligned)
1438  * \return None
1439  */
1441 
1442 /** \brief Function to set the initial size of the ring buffer for one main picture path component
1443  * \param component Main picture path component for which to set the initial size
1444  * \param size Size to set (must be word aligned)
1445  * \return None
1446  */
1448 
1449 /** \brief Function to set the initial offset counter inside the ring buffer for one main picture path component
1450  * \param component Main picture path component for which to set the initial offest counter
1451  * \param offsetCounter Offset counter value to set (must be word aligned)
1452  * \return None
1453  */
1455 
1456 /** \} */
1457 
1458 /** \addtogroup IfxLld_Cif_Std_jpeFunctions
1459  * \{ */
1460 
1461 /******************************************************************************/
1462 /*-------------------------Inline Function Prototypes-------------------------*/
1463 /******************************************************************************/
1464 
1465 /** \brief Function to query the current header generation debug control mode
1466  * \return Currently set header generation debug control mode (one member of @ref IfxCif_JpeHeaderGenerationMode)
1467  */
1469 
1470 /** \brief Function to query the currently set JPE header mode
1471  * \return Currently set JPE header mode (one member of @ref IfxCif_JpeHeaderMode)
1472  */
1474 
1475 /** \brief Function to query the JPE encode mode
1476  * \return Always 1, because this is the encoder only edition
1477  */
1479 
1480 /** \brief Function to query the current restart interval
1481  * \return Current restart interval
1482  */
1484 
1485 /** \brief Function to get the current JPEG codec state
1486  * \return @ref IfxCif_JpeState_Busy if the JPEG codec is currently processing, @ref IfxCif_JpeState_Free if the JPEG codec is currently free
1487  */
1489 
1490 /** \brief Function to query the current JPE Table ID
1491  * \return Current JPE Table ID
1492  */
1494 
1495 /** \brief Function to query the current encoder continuous mode
1496  * \return Current encoder continuous mode (one member of @ref IfxCif_JpegJfifStreamEncoderContinuousMode)
1497  */
1499 
1500 /** \brief Function to query the current picture encoding format
1501  * \return Current picture encoding format
1502  */
1504 
1505 /** \brief Function to immediately start the JPEG encoder.
1506  * This function has to be called after @ref IfxCif_startJpegJfifStreamEncoder to start the JPEG encoder
1507  * \return None
1508  */
1510 
1511 /** \brief Function to start to generate JPEG stream header. Auto reset after one clock cycle
1512  * \return None
1513  */
1515 
1516 /** \brief Function to set the header generation debug control mode
1517  * \param headerGenerationMode Header generation debug control mode to set
1518  * \return None
1519  */
1521 
1522 /** \brief Function to set the JPE header mode
1523  * \param headerMode Header mode to set
1524  * \return None
1525  */
1527 
1528 /** \brief Function to set the restart interval
1529  * \param interval Restart interval to set
1530  * \return None
1531  */
1533 
1534 /** \brief Function to set the JPE Table LSB
1535  * \param data Value to set for the JPE Table LSB
1536  * \return None
1537  */
1539 
1540 /** \brief Function to set the JPE Table MSB
1541  * \param data Value to set for the JPE Table MSB
1542  * \return None
1543  */
1545 
1546 /** \brief Function to set the JPE Table ID
1547  * \param tableId tableId Table ID to set
1548  * \return None
1549  */
1551 
1552 /** \brief Function to set the JPEG codec image sizes
1553  * \param hSize Image horizontal size
1554  * \param vSize Image vertical size
1555  * \return None
1556  */
1558 
1559 /** \brief Function to set the stream encoder continuous mode
1560  * \param mode Encoder continuous mode to set
1561  * \return None
1562  */
1564 
1565 /** \brief Function to set the picture encoding format
1566  * \param format Encoding format to set
1567  * \return None
1568  */
1570 
1571 /** \brief Function to start JFIF stream encoding. Auto reset after one clock cycle
1572  * \return None
1573  */
1575 
1576 /******************************************************************************/
1577 /*-------------------------Global Function Prototypes-------------------------*/
1578 /******************************************************************************/
1579 
1580 /** \brief Function to clear an interrupt
1581  * \param interruptSource Source of the interrupt
1582  * \return None
1583  */
1585 
1586 /** \brief Function to query the currently set Huffman Table length for AC values
1587  * \param table Huffman Table for which to query the current length
1588  * \return Current length of Huffman Table
1589  */
1591 
1592 /** \brief Function to check if a Huffman Table and a Huffman Table component is enabled for AC values
1593  * \param table Huffman Table to check
1594  * \param component Huffman Table component to check
1595  * \return @ref IfxCif_State_Enabled if the queried Huffman Table and the Huffman Table component is selected, @ref IfxCif_State_Disabled otherwise
1596  */
1598 
1599 /** \brief Function to query the current Huffman Table length for DC values
1600  * \param table Huffman Table for which to query the current length
1601  * \return Current length of Huffman Table
1602  */
1604 
1605 /** \brief Function to check if a Huffman Table and a Huffman Table component is enabled for DC values
1606  * \param table Huffman Table to check
1607  * \param component Huffman Table component to check
1608  * \return @ref IfxCif_State_Enabled if the queried Huffman Table and the Huffman Table component is selected, @ref IfxCif_State_Disabled otherwise
1609  */
1611 
1612 /** \brief Function to query the state of one JPE debug signal source
1613  * \param source Signal source for which to query the debug signal state
1614  * \return @ref IfxCif_JpeDebugSignalState_Inactive if the debug signal is currently inactive, @ref IfxCif_JpeDebugSignalState_Active if the debug signal is currently active
1615  */
1617 
1618 /** \brief Function to query the enabled state of an interrupt
1619  * \param interruptSource Source of the interrupt
1620  * \return @ref IfxCif_State_Enabled if the interrupt is enabled, @ref IfxCif_State_Disabled if the interrupt is disabled
1621  */
1623 
1624 /** \brief Function to query the currently selected Q-Table for one component
1625  * \param component Component for which to query the currently selected Q-Table
1626  * \return Currently selected Q-Table
1627  */
1629 
1630 /** \brief Function to query the current enabled state of the scaling of an input value source
1631  * \param source Input value source for which to query the enabled state
1632  * \return @ref IfxCif_State_Enabled if scaling is enabled, @ref IfxCif_State_Disabled if scaling is disabled
1633  */
1635 
1636 /** \brief Function to query the currently set JPEG codec image size of one tier
1637  * \param tier Tier for which to query the JPEG codec image size
1638  * \return Currently set image size for R2B and SGEN blocks
1639  */
1641 
1642 /** \brief Function to query the masked state of an interrupt
1643  * \param interruptSource Source of the interrupt
1644  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set and the interrupt is enabled, @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is not set or the interrupt is disabled
1645  */
1647 
1648 /** \brief Function to query the raw state of an interrupt
1649  * \param interruptSource Source of the interrupt
1650  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set, @ref IfxCif_InterruptTriggeredState_NotTriggered if the interrupt request bit is not set
1651  */
1653 
1654 /**
1655  * \return None
1656  */
1657 IFX_EXTERN void IfxCif_programJpeTable(IfxCif_JpeTableId tableId, const uint8 *tableEntry, uint8 length);
1658 
1659 /** \brief Function to set the Huffman Table length for AC values
1660  * \param table Huffman Table for which to set the length
1661  * \param length Length to set
1662  * \return None
1663  */
1665 
1666 /** \brief Function to set the Huffman Table selector for AC Values
1667  * \param table Huffman Table to select
1668  * \param component Huffman Table component to select
1669  * \return None
1670  */
1672 
1673 /** \brief Function to set the Huffman Table length for DC values
1674  * \param table Huffman Table for which to set the length
1675  * \param length Length to set
1676  * \return None
1677  */
1679 
1680 /** \brief Function to set the Huffman Table selector for DC values
1681  * \param table Huffman Table to select
1682  * \param component Huffman Table component to select
1683  * \return None
1684  */
1686 
1687 /** \brief Function to enable or disable an interrupt
1688  * \param interruptSource Source of the interrupt to enable or disable
1689  * \param interruptEnableState @ref IfxCif_State_Enabled to enable the interrupt, @ref IfxCif_State_Disabled to disable the interrupt
1690  * \return None
1691  */
1692 IFX_EXTERN void IfxCif_setJpeInterruptEnableState(IfxCif_JpeInterruptSources interruptSource, IfxCif_State interruptEnableState);
1693 
1694 /** \brief Function to set an interrupt request bit (does not necessarily trigger an interrupt)
1695  * \param interruptSource Source of the interrupt
1696  * \return None
1697  */
1699 
1700 /** \brief Function to set the Q-Table selector for one component
1701  * \param component Component for which to select the Q-Table
1702  * \param selector Q-Table to select
1703  * \return None
1704  */
1706 
1707 /** \brief Function to enable or disable scaling of one input value source
1708  * \param source Input value source for which to query the enabled state
1709  * \param scalingEnable @ref IfxCif_State_Enabled to enable scaling, @ref IfxCif_State_Disabled to disable scaling
1710  * \return None
1711  */
1713 
1714 /** \brief Function to set the JPEG codec image size of one tier
1715  * \param tier Tier for which to set the JPEG codec image size
1716  * \param size Image size for R2B and SGEN blocks
1717  * \return None
1718  */
1720 
1721 /** \} */
1722 
1723 /** \addtogroup IfxLld_Cif_Std_swFunctions
1724  * \{ */
1725 
1726 /******************************************************************************/
1727 /*-------------------------Inline Function Prototypes-------------------------*/
1728 /******************************************************************************/
1729 
1730 /** \brief Function to query the currently set watchdog predivider
1731  * \return Currently set predivider
1732  */
1734 
1735 /** \brief Function to query the enabled state of the watchdog unit
1736  * \return @ref IfxCif_State_Enabled if the watchdog unit is enabled, @ref IfxCif_State_Disabled if the watchdog unit is disabled
1737  */
1739 
1740 /** \brief Function to set the watchdog predivider counter (A value of 0 means that the Watchdog Counters are increased with every CIF clock cycle. Every other value N leads to an increment at every N+1th cycle)
1741  * \param predivider Predivider to set
1742  * \return None
1743  */
1745 
1746 /** \brief Function to enable or disable the watchdog unit
1747  * \param enableState @ref IfxCif_State_Enabled to enable the watchdog unit, @ref IfxCif_State_Disabled to disable the watchdog unit
1748  * \return None
1749  */
1751 
1752 /******************************************************************************/
1753 /*-------------------------Global Function Prototypes-------------------------*/
1754 /******************************************************************************/
1755 
1756 /** \brief Function to clear an interrupt
1757  * \param interruptSource Source of the interrupt
1758  * \return None
1759  */
1761 
1762 /** \brief Function to get the masked state of an interrupt
1763  * \param interruptSource Source of the interrupt
1764  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set and the interrupt is enabled, @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is not set or the interrupt is disabled
1765  */
1767 
1768 /** \brief Function to get the raw state of an interrupt
1769  * \param interruptSource Source of the interrupt
1770  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set, @ref IfxCif_InterruptTriggeredState_NotTriggered if the interrupt request bit is not set
1771  */
1773 
1774 /** \brief Function to query the enabled state of an interrupt
1775  * \param interruptSource Source of the interrupt
1776  * \return @ref IfxCif_State_Enabled if the interrupt is enabled, @ref IfxCif_State_Disabled if the interrupt is disabled
1777  */
1779 
1780 /** \brief Function to query the current value of a timeout counter of one tier
1781  * \param tier Tier for which to query the timeout counter
1782  * \param timeoutCounter Timeout counter to query
1783  * \return Current timeout
1784  */
1786 
1787 /** \brief Function to reset one watchdog counter
1788  * \param counter Counter to reset
1789  * \return None
1790  */
1792 
1793 /** \brief Function to enable or disable an interrupt
1794  * \param interruptSource Source of the interrupt to enable or disable
1795  * \param interruptEnableState @ref IfxCif_State_Enabled to enable the interrupt, @ref IfxCif_State_Disabled to disable the interrupt
1796  * \return None
1797  */
1799 
1800 /** \brief Function to set an interrupt request bit (does not necessarily trigger an interrupt)
1801  * \param interruptSource Source of the interrupt
1802  * \return None
1803  */
1805 
1806 /** \brief Function to set the timeout for a watchdog timeout counter of one tier. A value of 0 disables the timeout
1807  * \param tier Tier for which to set the timeout
1808  * \param timeoutCounter Timeout counter for which to set the timeout
1809  * \param timeout Timeout to set
1810  * \return None
1811  */
1813 
1814 /** \} */
1815 
1816 /** \addtogroup IfxLld_Cif_Std_ispisFunctions
1817  * \{ */
1818 
1819 /******************************************************************************/
1820 /*-------------------------Inline Function Prototypes-------------------------*/
1821 /******************************************************************************/
1822 
1823 /** \brief Function to query the enabled state of image stabilization
1824  * \return @ref IfxCif_State_Enabled if image stabilization is enabled, @ref IfxCif_State_Disabled if image stabilization is disabled
1825  */
1827 
1828 /** \brief Function to query the current image stabilization recenter value
1829  * \return Current image stabilization recenter value
1830  */
1832 
1833 /** \brief Function to enable or disable image stabilization
1834  * \param enableState @ref IfxCif_State_Enabled to enable image stabilization, @ref IfxCif_State_Disabled to disable image stabilization
1835  * \return None
1836  */
1838 
1839 /** \brief Function to set the image stabilization offsets of the output window
1840  * \param hOffset Horizontal Offset
1841  * \param vOffset Vertical Offset
1842  * \return None
1843  */
1845 
1846 /** \brief Function to set the picture size
1847  * \param hSize Horizontal Picture Size
1848  * \param vSize Vertical Picture Size
1849  * \return None
1850  */
1852 
1853 /** \brief Function to set the image stabilization recenter value
1854  * \param value Recenter value to set (0 to disabled recenter value, for all other values recentering is active (cur_h/v_offs-H/V_OFFS)/2 power(recenter))
1855  * \return None
1856  */
1858 
1859 /******************************************************************************/
1860 /*-------------------------Global Function Prototypes-------------------------*/
1861 /******************************************************************************/
1862 
1863 /** \brief Function to query the current camera displacement for one tier
1864  * \param tier Tier for which to query the camera displacement
1865  * \return Current camera displacement
1866  */
1868 
1869 /** \brief Function to query the offset of the current picture for one tier
1870  * \param tier Tier for which to query the offset
1871  * \return Offset of the current picture
1872  */
1874 
1875 /** \brief Function to query the picture size of the current picture for one tier
1876  * \param tier Tier for which to query the picture size
1877  * \return Picture size of the current picture
1878  */
1880 
1881 /** \brief Function to query the current maximum displacement for one tier
1882  * \param tier Tier for which to query the maximum displacement
1883  * \return Current maximum displacement
1884  */
1886 
1887 /** \brief Function to query the current image stabilization offset of the output window of one tier
1888  * \param tier Tier for which to query the offset
1889  * \return Current offset
1890  */
1892 
1893 /** \brief Function to query the current picture size for one tier
1894  * \param tier Tier for which to query the picture size
1895  * \return Current picture size
1896  */
1898 
1899 /** \brief Function to query the enabled state of image stabilization recenter feature
1900  * \return @ref IfxCif_State_Enabled if the image stabilization recenter feature is enabled, @ref IfxCif_State_Disabled if the image stabilization recenter feature is disabled
1901  */
1903 
1904 /** \brief Function to set the camera displacement for one tier
1905  * \param tier Tier for which to set the camera displacement
1906  * \param displacement Camera displacement to set
1907  * \return None
1908  */
1910 
1911 /** \brief Function to set the maximum displacement for one tier
1912  * \param tier Tier for which to set the maximum displacement
1913  * \param displacement Displacement to set
1914  * \return None
1915  */
1917 
1918 /** \brief Function to set the image stabilization offset of the output window of one tier
1919  * \param tier Tier for which to set the offset
1920  * \param offset Offset to set
1921  * \return None
1922  */
1924 
1925 /** \brief Function to set the picture size for one tier
1926  * \param tier Tier for which to set the picture size
1927  * \param size Size to set
1928  * \return None
1929  */
1931 
1932 /** \} */
1933 
1934 /** \addtogroup IfxLld_Cif_Std_epFunctions
1935  * \{ */
1936 
1937 /******************************************************************************/
1938 /*-------------------------Global Function Prototypes-------------------------*/
1939 /******************************************************************************/
1940 
1941 /** \brief Function to clear one extra path error
1942  * \param source Extra path error to clear
1943  * \return None
1944  */
1946 
1947 /** \brief Function to clear an interrupt
1948  * \param z Extra path for which to clear the interrupt
1949  * \param interruptSource Source of the interrupt
1950  * \return None
1951  */
1953 
1954 /** \brief Function to trigger an immediate configuration update for one extra path
1955  * \param z Function to trigger an immediate configuration update for one extra path
1956  * \return None
1957  */
1959 
1960 /** \brief Function to skip one picture of one extra path
1961  * \param z Extra path for which to skip one picture
1962  * \return None
1963  */
1965 
1966 /** \brief Function to query the current base address of the ring buffer of one extra path
1967  * \param z Extra path for which to query the current base address of the ring buffer
1968  * \return Current base address of the ring buffer
1969  */
1971 
1972 /** \brief Function to query the initial base address of the ring buffer of one extra path
1973  * \param z Extra path for which to query the initial base address
1974  * \return Initial base address of the ring buffer of the extra path
1975  */
1977 
1978 /** \brief Function to query the image cropping camera displacement of one tier of one extra path
1979  * \param z Extra path for which to query the image cropping camera displacement
1980  * \param tier Tier for which to query the image cropping camera displacement
1981  * \return Current image cropping camera displacement
1982  */
1984 
1985 /** \brief Function to query the current image cropping picture offset of one tier of one extra path
1986  * \param z Extra path for which to query the current image cropping picture offset
1987  * \param tier Tier for which to query the current image cropping picture offset
1988  * \return Current image cropping picture offset
1989  */
1991 
1992 /** \brief Function to query the current image cropping picture size of one tier of one extra path
1993  * \param z Extra path for which to query the current image cropping picture size
1994  * \param tier Tier for which to query the current image cropping picture size
1995  * \return Current image cropping picture size
1996  */
1998 
1999 /** \brief Function to query the image cropping enabled state of one extra path
2000  * \param z Extra path for which to query the image cropping enabled state
2001  * \return @ref IfxCif_State_Enabled if image cropping is enabled, @ref IfxCif_State_Disabled otherwise
2002  */
2004 
2005 /** \brief Function to query the maximum displacement of one tier of one extra path
2006  * \param z Extra path for which to query the maximum displacement
2007  * \param tier Tier for which to query the maximum displacement
2008  * \return Current maximum displacement
2009  */
2011 
2012 /** \brief Function to query the image cropping offset of the output window of one tier of one extra path
2013  * \param z Extra path for which to query the image cropping offset of the output window
2014  * \param tier Tier for which to query the image cropping offset of the output window
2015  * \return Current image cropping offset of the output window
2016  */
2018 
2019 /** \brief Function to query the image cropping picture size of one tier of one extra path
2020  * \param z Extra path for which to query the image cropping picture size
2021  * \param tier Tier for which to query the image cropping picture size of one tier of one extra path
2022  */
2024 
2025 /** \brief Function to query the enabled state of the recenter feature of one extra path
2026  * \param z Extra path for which to query the enabled state of the recenter feature
2027  * \return @ref IfxCif_State_Enabled if the recenter feature is enabled, @ref IfxCif_State_Disabled otherwise
2028  */
2030 
2031 /** \brief Function to query the state of an extra path error source
2032  * \param source Error source for which to query the state
2033  * \return @ref IfxCif_ErrorState_NoError if the error did not occur, @ref IfxCif_ErrorState_Error if the error occured
2034  */
2036 
2037 /** \brief Function to query the enabled state of one feature of one extra path
2038  * \param z Extra path for which to query the enabled state of the feature
2039  * \param feature Feature which to query
2040  * \return @ref IfxCif_State_Enabled if the feature of the extra path is enabled, @ref IfxCif_State_Disabled if the feature of the extra path is disabled
2041  */
2043 
2044 /** \brief Function to query the initial size of the ring buffer of one extra path
2045  * \param z Extra path for which to query the initial size
2046  * \return Initial size of the ring buffer of the extra path
2047  */
2049 
2050 /** \brief Function to query the initial filling level interrupt offset of one extra path
2051  * \param z Extra path for which to query the initial filling level interrupt offset
2052  * \return Initial filling level interrupt offset of the extra path
2053  */
2055 
2056 /** \brief Function to query the initial offset counter of one extra path
2057  * \param z Extra path for which to query the initial offset counter
2058  * \return Initial offset counter of the extra path
2059  */
2061 
2062 /** \brief Function to query the current input enable state of one extra path
2063  * \param z Extra path for which to query the current input enable state
2064  * \return @ref IfxCif_State_Enabled if the extra path is used in module MI_IN, @ref IfxCif_State_Disabled if the extra path is not used in module MI_IN
2065  */
2067 
2068 /** \brief Function to query the enabled state of an interrupt
2069  * \param z Extra path for which to query the enabled state of the interrupt
2070  * \param interruptSource Source of the interrupt
2071  * \return @ref IfxCif_State_Enabled if the interrupt is enabled, @ref IfxCif_State_Disabled if the interrupt is disabled
2072  */
2074 
2075 /** \brief Function to query the current interrupt offset of one extra path
2076  * \param z Extra path for which to query the current interrupt offset
2077  * \return Current interrupt offset
2078  */
2080 
2081 /** \brief Function to query the current offset counter of one extra path
2082  * \param z Extra path for which to query the current offset counter
2083  * \return Current offset counter
2084  */
2086 
2087 /** \brief Function to query the initial offset counter start value of one extra path
2088  * \param z Extra path for which to query the initial offset counter start value
2089  * \return Initial offset counter start value of the extra path
2090  */
2092 
2093 /** \brief Function to query the current output enable state of one extra path
2094  * \param z Extra path for which to query the current output enable state
2095  * \return @ref IfxCif_State_Enabled if the extra path is used in module MI_OUT, @ref IfxCif_State_Disabled if the extra path is not used in module MI_OUT
2096  */
2098 
2099 /** \brief Function to query the current recenter value of one extra path
2100  * \param z Extra path for which to query the current recenter value
2101  * \return Current recenter value
2102  */
2104 
2105 /** \brief Function to query the current ring buffer size of one extra path
2106  * \param z Extra path for which to query the ring buffer size
2107  * \return Current ring buffer size
2108  */
2110 
2111 /** \brief Function to query the write format of one extra path
2112  * \param z Extra path for which to query the write format
2113  * \return Set write format of the extra path (one member of @ref IfxCif_EpWriteFormat)
2114  */
2116 
2117 /** \brief Function to get the masked state of an interrupt
2118  * \param z Extra path for which to query the interrupt state
2119  * \param interruptSource Source of the interrupt
2120  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set and the interrupt is enabled, @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is not set or the interrupt is disabled
2121  */
2123 
2124 /** \brief Function to query the raw state of an interrupt
2125  * \param z Extra path for which to query the interrupt state
2126  * \param interruptSource Source of the interrupt
2127  * \return @ref IfxCif_InterruptTriggeredState_Triggered if the interrupt request bit is set, @ref IfxCif_InterruptTriggeredState_NotTriggered if the interrupt request bit is not set
2128  */
2130 
2131 /** \brief Function to set the initial base address of the ring buffer of one extra path
2132  * \param z Extra path for which to set the initial base address
2133  * \param baseAddress Initial base address of the ring buffer to set
2134  * \return None
2135  */
2137 
2138 /** \brief Function to set the image cropping camera displacement of one tier of one extra path
2139  * \param z Extra path for which to set the image cropping camera displacement
2140  * \param tier Tier for which to set the image cropping camera displacement
2141  * \param displacement Image cropping camera displacement to set
2142  * \return None
2143  */
2145 
2146 /** \brief Function to enable or disable image cropping of one extra path
2147  * \param z Extra path for which to enable or disable image cropping
2148  * \param enableState @ref IfxCif_State_Enabled to enable image cropping, @ref IfxCif_State_Disabled to disable image cropping
2149  * \return None
2150  */
2152 
2153 /** \brief Function to set the maximum displacement of one tier of one extra path
2154  * \param z Extra path for which to set the maximum displacement
2155  * \param tier Tier for which to set the maximum displacement
2156  * \param displacement Maximum displacement to set
2157  * \return None
2158  */
2160 
2161 /** \brief Function to set the image cropping offset of the output window of one tier of one extra path
2162  * \param z Extra path for which to set the image cropping offset of the output window
2163  * \param tier Tier for which to set the image cropping offset of the output window
2164  * \param offset Offset to set
2165  * \return None
2166  */
2168 
2169 /** \brief Function to set the image cropping offsets of the output window of one extra path
2170  * \param z Extra path for which to set the image cropping offset of the output window
2171  * \param hOffset Offset horizontal to set
2172  * \param vOffset Offset vertical to set
2173  * \return None
2174  */
2176 
2177 /** \brief Function to set the image cropping picture size of one tier of one extra path
2178  * \param z Extra path for which to set the image cropping picture size
2179  * \param tier Tier for which to set the image cropping picture size
2180  * \param size Image cropping picture size to set
2181  * \return None
2182  */
2184 
2185 /** \brief Function to set the image cropping picture sizes one extra path
2186  * \param z Extra path for which to set the image cropping picture size
2187  * \param hSize Image cropping picture horizontal size to set
2188  * \param vSize Image cropping picture vertical size to set
2189  * \return None
2190  */
2192 
2193 /** \brief Function to enable or disable one feature of one extra path
2194  * \param z Extra path for which to enable or disable one feature
2195  * \param feature Feature to enable or disable
2196  * \param enableState @ref IfxCif_State_Enabled to enable the feature, @ref IfxCif_State_Disabled to disable the feature
2197  * \return None
2198  */
2200 
2201 /** \brief Function to set the initial size of the ring buffer of one extra path
2202  * \param z Extra path for which to set the initial size of the ring buffer
2203  * \param size Initial size of the ring buffer to se
2204  * \return None
2205  */
2207 
2208 /** \brief Function to set the initial filling level interrupt offset of one extra path
2209  * \param z Extra path for which to set the initial filling level interrupt offset
2210  * \param interruptOffset Initial filling level interrupt offset to set
2211  * \return None
2212  */
2214 
2215 /** \brief Function to set the initial offset counter of one extra path
2216  * \param z Extra path for which to set the initial offset counter
2217  * \param offsetCounter Initial offset counter to set
2218  * \return None
2219  */
2221 
2222 /** \brief Function to enable or disable an interrupt
2223  * \param z Extra path for which to enable or disable the interrupt
2224  * \param interruptSource Source of the interrupt to enable or disable
2225  * \param interruptEnableState @ref IfxCif_State_Enabled to enable the interrupt, @ref IfxCif_State_Disabled to disable the interrupt
2226  * \return None
2227  */
2229 
2230 /** \brief Function to set an interrupt request bit (does not necessarily trigger an interrupt)
2231  * \param z Function to set an interrupt request bit (does not necessarily trigger an interrupt)
2232  * \param interruptSource Extra path for which to set the interrupt request bit
2233  * \return None
2234  */
2236 
2237 /** \brief Function to set the initial offset counter start value of one extra path
2238  * \param z Extra path for which to set the initial offset counter start value
2239  * \param offsetCounter Initial offset counter start value to set
2240  * \return None
2241  */
2243 
2244 /** \brief Function to set the recenter value of one extra path (0 to switch the recenter feature off, for all other values recentering is active (cur_h/v_offs-H/V_OFFS)/2power(recenter))
2245  * \param z Extra path for which to set the recenter value
2246  * \param value Recenter value to set
2247  * \return None
2248  */
2250 
2251 /** \brief Function to set the write format for one extra path
2252  * \param z Extra path for which to set the write format
2253  * \param writeFormat Write format to set
2254  * \return None
2255  */
2257 
2258 /** \} */
2259 
2260 /** \addtogroup IfxLld_Cif_Std_dpFunctions
2261  * \{ */
2262 
2263 /******************************************************************************/
2264 /*-------------------------Inline Function Prototypes-------------------------*/
2265 /******************************************************************************/
2266 
2267 /** \brief Function to query the debug path enabled state
2268  * \return @ref IfxCif_State_Enabled if the debug path is enabled, @ref IfxCif_State_Disabled if the debug path is disabled
2269  */
2271 
2272 /** \brief Function to query the selected debug path source path
2273  * \return Currently selected debug path source path (one member of @ref IfxCif_DpSourcePath)
2274  */
2276 
2277 /** \brief Function to enable or disable the debug path
2278  * \param enableState @ref IfxCif_State_Enabled to enable the debug path, @ref IfxCif_State_Disabled to disable the debug path
2279  * \return None
2280  */
2282 
2283 /** \brief Function to select one debug path source path
2284  * \param sourcePath Source path to select
2285  * \return None
2286  */
2288 
2289 /******************************************************************************/
2290 /*-------------------------Global Function Prototypes-------------------------*/
2291 /******************************************************************************/
2292 
2293 /** \brief Function to reset one debug path counter
2294  * \param counter Debug path counter to reset
2295  * \return None
2296  */
2298 
2299 /** \brief Function to query the transmission enabled state of one debug path control source
2300  * \param source Source for which to query the transmission enabled state
2301  * \return @ref IfxCif_State_Enabled if transmission is enabled, @ref IfxCif_State_Disabled if transmission is disabled
2302  */
2304 
2305 /** \brief Function to query the current counter value of one debug path counter
2306  * \param counter Counter for which to query the value
2307  * \return Current counter value
2308  */
2310 
2311 /** \brief Function to query the value of one user defined debug symbol
2312  * \param x User defined symbol to query
2313  * \return Value of the user defined debug symbol
2314  */
2316 
2317 /** \brief Function to enable or disable transmission of one debug path control source
2318  * \param source Source for which to enable or disable transmission
2319  * \param enableState @ref IfxCif_State_Enabled to enable transmission, @ref IfxCif_State_Disabled to disable transmission
2320  * \return None
2321  */
2323 
2324 /** \brief Function to set one debug path counter to a counter value
2325  * \param counter Counter to set
2326  * \param counterValue Counter value to set
2327  * \return None
2328  */
2329 IFX_EXTERN void IfxCif_setDpCounter(IfxCif_DpCounters counter, uint32 counterValue);
2330 
2331 /** \brief Function to set one user defined debug symbol
2332  * \param x User defined symbol to set
2333  * \param value Value to set
2334  * \return None
2335  */
2337 
2338 /** \} */
2339 
2340 /******************************************************************************/
2341 /*---------------------Inline Function Implementations------------------------*/
2342 /******************************************************************************/
2343 
2345 {
2346  MODULE_CIF.BBB.KRSTCLR.B.CLR = 1;
2347 }
2348 
2349 
2351 {
2352  return MODULE_CIF.BBB.MODID.B.MODNUMBER;
2353 }
2354 
2355 
2357 {
2359 }
2360 
2361 
2363 {
2364  return MODULE_CIF.BBB.MODID.B.MOD_REV;
2365 }
2366 
2367 
2369 {
2370  return MODULE_CIF.BBB.MODID.B.MOD_TYPE;
2371 }
2372 
2373 
2375 {
2376  /* bit is inverted */
2377  return (1 != MODULE_CIF.CCL.B.CIF_CCLDISS) ? IfxCif_State_Enabled : IfxCif_State_Disabled;
2378 }
2379 
2380 
2382 {
2383  return (IfxCif_DataPathSelectorForMainPath)MODULE_CIF.DPCL.B.CIF_MP_MUX;
2384 }
2385 
2386 
2388 {
2389  return (IfxCif_InputInterface)MODULE_CIF.DPCL.B.IF_SELECT;
2390 }
2391 
2392 
2394 {
2395  return (IfxCif_State)MODULE_CIF.ISP.FLAGS_SHD.B.S_HSYNC;
2396 }
2397 
2398 
2400 {
2401  return (IfxCif_State)MODULE_CIF.BBB.KRST0.B.RSTSTAT;
2402 }
2403 
2404 
2406 {
2407  return MODULE_CIF.ID.B.MODNUMBER;
2408 }
2409 
2410 
2412 {
2413  return MODULE_CIF.ID.B.MODREV;
2414 }
2415 
2416 
2418 {
2419  /* bit is inverted */
2420  return (IfxCif_State)(1 != MODULE_CIF.BBB.CLC.B.DISS) ? IfxCif_State_Enabled : IfxCif_State_Disabled;
2421 }
2422 
2423 
2425 {
2426  return MODULE_CIF.ID.B.MODTYPE;
2427 }
2428 
2429 
2431 {
2432  return (IfxCif_YCSplitterChannelMode)MODULE_CIF.DPCL.B.CIF_CHAN_MODE;
2433 }
2434 
2435 
2437 {
2438  /* bit is inverted */
2439  MODULE_CIF.CCL.B.CIF_CCLFDIS = (clockControlLogicState == IfxCif_State_Disabled) ? 1 : 0;
2440 }
2441 
2442 
2444 {
2445  MODULE_CIF.DPCL.B.CIF_MP_MUX = pathSelector;
2446 }
2447 
2448 
2450 {
2451  MODULE_CIF.DPCL.B.IF_SELECT = IfxCif_InputInterface_ParallelInterface;
2452 }
2453 
2454 
2456 {
2457  MODULE_CIF.BBB.KRST0.B.RST = state;
2458  MODULE_CIF.BBB.KRST1.B.RST = state;
2459 }
2460 
2461 
2463 {
2464  MODULE_CIF.DPCL.B.CIF_CHAN_MODE = mode;
2465 }
2466 
2467 
2469 {
2470  MODULE_CIF.ISP.CTRL.B.ISP_GEN_CFG_UPD = 1;
2471 }
2472 
2473 
2475 {
2476  MODULE_CIF.ISP.CTRL.B.ISP_CFG_UPD = 1;
2477 }
2478 
2479 
2481 {
2482  return MODULE_CIF.ISP.FRAME_COUNT.B.FRAME_COUNTER;
2483 }
2484 
2485 
2487 {
2488  return (IfxCif_IspInformFieldInformation)MODULE_CIF.ISP.FLAGS_SHD.B.INFORM_FIELD;
2489 }
2490 
2491 
2493 {
2494  return (IfxCif_State)MODULE_CIF.ISP.FLAGS_SHD.B.ISP_INFORM_ENABLE_SHD;
2495 }
2496 
2497 
2499 {
2500  return (IfxCif_IspCcirSequence)MODULE_CIF.ISP.ACQ_PROP.B.CCIR_SEQ;
2501 }
2502 
2503 
2505 {
2506  return (IfxCif_IspColorSpaceMatrixCrominanceClippingRange)MODULE_CIF.ISP.CTRL.B.ISP_CSM_C_RANGE;
2507 }
2508 
2509 
2511 {
2512  return (IfxCif_IspColorSpaceMatrixLuminanceClippingRange)MODULE_CIF.ISP.CTRL.B.ISP_CSM_Y_RANGE;
2513 }
2514 
2515 
2517 {
2518  return (IfxCif_State)MODULE_CIF.ISP.ACQ_PROP.B.FIELD_INVERT;
2519 }
2520 
2521 
2523 {
2524  return (IfxCif_IspFieldSelection)MODULE_CIF.ISP.ACQ_PROP.B.FIELD_SELECTION;
2525 }
2526 
2527 
2529 {
2530  return (IfxCif_IspSyncPolarity)MODULE_CIF.ISP.ACQ_PROP.B.HSYNC_POL;
2531 }
2532 
2533 
2535 {
2536  return (IfxCif_State)MODULE_CIF.ISP.CTRL.B.ISP_INFORM_ENABLE;
2537 }
2538 
2539 
2541 {
2542  return (IfxCif_IspInputInterface)MODULE_CIF.ISP.ACQ_PROP.B.INPUT_SELECTION;
2543 }
2544 
2545 
2547 {
2548  return MODULE_CIF.ISP.FLAGS_SHD.B.S_DATA;
2549 }
2550 
2551 
2553 {
2554  return (IfxCif_State)MODULE_CIF.ISP.FLAGS_SHD.B.S_VSYNC;
2555 }
2556 
2557 
2559 {
2560  return (IfxCif_State)MODULE_CIF.ISP.CTRL.B.ISP_MODE;
2561 }
2562 
2563 
2565 {
2566  return (IfxCif_State)MODULE_CIF.ISP.CTRL.B.ISP_ENABLE;
2567 }
2568 
2569 
2571 {
2572  return (IfxCif_IspSamplingEdge)MODULE_CIF.ISP.ACQ_PROP.B.SAMPLE_EDGE;
2573 }
2574 
2575 
2577 {
2578  return (IfxCif_State)MODULE_CIF.ISP.FLAGS_SHD.B.ISP_ENABLE_SHD;
2579 }
2580 
2581 
2583 {
2584  return (IfxCif_IspSyncPolarity)MODULE_CIF.ISP.ACQ_PROP.B.VSYNC_POL;
2585 }
2586 
2587 
2589 {
2590  return MODULE_CIF.ISP.ACQ_NR_FRAMES.B.ACQ_NR_FRAMES;
2591 }
2592 
2593 
2595 {
2596  MODULE_CIF.ISP.ACQ_H_OFFS.B.ACQ_H_OFFS = hOffset;
2597  MODULE_CIF.ISP.ACQ_V_OFFS.B.ACQ_V_OFFS = vOffset;
2598 }
2599 
2600 
2602 {
2603  MODULE_CIF.ISP.ACQ_H_SIZE.U = hSize;
2604  MODULE_CIF.ISP.ACQ_V_SIZE.U = vSize;
2605 }
2606 
2607 
2609 {
2610  MODULE_CIF.ISP.ACQ_PROP.B.CCIR_SEQ = sequence;
2611 }
2612 
2613 
2615 {
2616  MODULE_CIF.ISP.CTRL.B.ISP_CSM_C_RANGE = clippingRange;
2617 }
2618 
2619 
2621 {
2622  MODULE_CIF.ISP.CTRL.B.ISP_CSM_Y_RANGE = clippingRange;
2623 }
2624 
2625 
2627 {
2628  MODULE_CIF.ISP.ACQ_PROP.B.FIELD_INVERT = fieldInvertState;
2629 }
2630 
2631 
2633 {
2634  MODULE_CIF.ISP.ACQ_PROP.B.FIELD_SELECTION = selection;
2635 }
2636 
2637 
2639 {
2640  MODULE_CIF.ISP.ACQ_PROP.B.HSYNC_POL = polarity;
2641 }
2642 
2643 
2645 {
2646  MODULE_CIF.ISP.CTRL.B.ISP_INFORM_ENABLE = inputFormatterState;
2647 }
2648 
2649 
2651 {
2652  MODULE_CIF.ISP.ACQ_PROP.B.INPUT_SELECTION = input;
2653 }
2654 
2655 
2657 {
2658  MODULE_CIF.ISP.CTRL.B.ISP_MODE = mode;
2659 }
2660 
2661 
2663 {
2664  MODULE_CIF.ISP.CTRL.B.ISP_ENABLE = ispOutputState;
2665 }
2666 
2667 
2669 {
2670  MODULE_CIF.ISP.OUT_H_OFFS.B.ISP_OUT_H_OFFS = hOffset;
2671  MODULE_CIF.ISP.OUT_V_OFFS.B.ISP_OUT_V_OFFS = vOffset;
2672 }
2673 
2674 
2676 {
2677  MODULE_CIF.ISP.OUT_H_SIZE.B.ISP_OUT_H_SIZE = hSize;
2678  MODULE_CIF.ISP.OUT_V_SIZE.B.ISP_OUT_V_SIZE = vSize;
2679 }
2680 
2681 
2683 {
2684  MODULE_CIF.ISP.ACQ_PROP.B.SAMPLE_EDGE = edge;
2685 }
2686 
2687 
2689 {
2690  MODULE_CIF.ISP.ACQ_PROP.B.VSYNC_POL = polarity;
2691 }
2692 
2693 
2695 {
2696  MODULE_CIF.ISP.ACQ_NR_FRAMES.B.ACQ_NR_FRAMES = numberOfFrames;
2697 }
2698 
2699 
2701 {
2702  MODULE_CIF.MI.INIT.B.MI_CFG_UPD = 1;
2703 }
2704 
2705 
2707 {
2708  return (IfxCif_State)MODULE_CIF.MI.CTRL.B.INIT_BASE_EN;
2709 }
2710 
2711 
2713 {
2714  return MODULE_CIF.MI.BYTE_CNT.B.BYTE_CNT;
2715 }
2716 
2717 
2719 {
2720  return (IfxCif_State)MODULE_CIF.MI.CTRL.B.BYTE_SWAP;
2721 }
2722 
2723 
2725 {
2726  return (IfxCif_MiBurstLength)MODULE_CIF.MI.CTRL.B.BURST_LEN_CHROM;
2727 }
2728 
2729 
2731 {
2732  return (IfxCif_MiBurstLength)MODULE_CIF.MI.CTRL.B.BURST_LEN_LUM;
2733 }
2734 
2735 
2737 {
2738  return (IfxCif_MiMainPictureWriteFormat)MODULE_CIF.MI.CTRL.B.MP_WRITE_FORMAT;
2739 }
2740 
2741 
2743 {
2744  /* read value from unsigned component of the register structure because lower bits are tied to 0
2745  * as interrupt offset needs to be a word aligned value */
2746  return MODULE_CIF.MI.MP_Y_IRQ_OFFS_INIT.U;
2747 }
2748 
2749 
2751 {
2752  return MODULE_CIF.MI.MP_Y_IRQ_OFFS_SHD.B.MP_Y_IRQ_OFFS;
2753 }
2754 
2755 
2757 {
2758  return (IfxCif_State)MODULE_CIF.MI.CTRL.B.INIT_OFFSET_EN;
2759 }
2760 
2761 
2763 {
2764  MODULE_CIF.MI.INIT.B.MI_SKIP = 1;
2765 }
2766 
2767 
2769 {
2770  MODULE_CIF.MI.CTRL.B.INIT_BASE_EN = state;
2771 }
2772 
2773 
2775 {
2776  MODULE_CIF.MI.CTRL.B.BYTE_SWAP = enableState;
2777 }
2778 
2779 
2781 {
2782  MODULE_CIF.MI.CTRL.B.BURST_LEN_CHROM = burstLength;
2783 }
2784 
2785 
2787 {
2788  MODULE_CIF.MI.CTRL.B.MP_WRITE_FORMAT = format;
2789 }
2790 
2791 
2793 {
2794  /* write value to unsigned component of the register structure because lower bits are tied to 0
2795  * as interrupt offset needs to be a word aligned value */
2796  MODULE_CIF.MI.MP_Y_IRQ_OFFS_INIT.U = interruptOffset;
2797 }
2798 
2799 
2801 {
2802  MODULE_CIF.MI.CTRL.B.INIT_OFFSET_EN = state;
2803 }
2804 
2805 
2807 {
2808  return (IfxCif_JpeHeaderGenerationMode)MODULE_CIF.JPE.TABLE_FLUSH.B.TABLE_FLUSH;
2809 }
2810 
2811 
2813 {
2814  return (IfxCif_JpeHeaderMode)MODULE_CIF.JPE.HEADER_MODE.B.HEADER_MODE;
2815 }
2816 
2817 
2819 {
2820  return (IfxCif_State)MODULE_CIF.JPE.ENCODE_MODE.B.ENCODE_MODE;
2821 }
2822 
2823 
2825 {
2826  return MODULE_CIF.JPE.RESTART_INTERVAL.B.RESTART_INTERVAL;
2827 }
2828 
2829 
2831 {
2832  return (IfxCif_JpeState)MODULE_CIF.JPE.ENCODER_BUSY.B.CODEC_BUSY;
2833 }
2834 
2835 
2837 {
2838  return (IfxCif_JpeTableId)MODULE_CIF.JPE.TABLE_ID.B.TABLE_ID;
2839 }
2840 
2841 
2843 {
2844  return (IfxCif_JpegJfifStreamEncoderContinuousMode)MODULE_CIF.JPE.ENCODE.B.CONT_MODE;
2845 }
2846 
2847 
2849 {
2850  return (IfxCif_JpegPictureEncodingFormat)MODULE_CIF.JPE.PIC_FORMAT.B.ENC_PIC_FORMAT;
2851 }
2852 
2853 
2855 {
2856  MODULE_CIF.JPE.INIT.B.JP_INIT = 1;
2857 }
2858 
2859 
2861 {
2862  MODULE_CIF.JPE.GEN_HEADER.B.GEN_HEADER = 1;
2863 }
2864 
2865 
2867 {
2868  MODULE_CIF.JPE.TABLE_FLUSH.B.TABLE_FLUSH = headerGenerationMode;
2869 }
2870 
2871 
2873 {
2874  MODULE_CIF.JPE.HEADER_MODE.B.HEADER_MODE = headerMode;
2875 }
2876 
2877 
2879 {
2880  MODULE_CIF.JPE.RESTART_INTERVAL.B.RESTART_INTERVAL = interval;
2881 }
2882 
2883 
2885 {
2886  MODULE_CIF.JPE.TABLE_DATA.B.TABLE_WDATA_L = data;
2887 }
2888 
2889 
2891 {
2892  MODULE_CIF.JPE.TABLE_DATA.B.TABLE_WDATA_H = data;
2893 }
2894 
2895 
2897 {
2898  MODULE_CIF.JPE.TABLE_ID.B.TABLE_ID = tableId;
2899 }
2900 
2901 
2903 {
2904  MODULE_CIF.JPE.ENC_HSIZE.B.ENC_HSIZE = hSize;
2905  MODULE_CIF.JPE.ENC_VSIZE.B.ENC_VSIZE = vSize;
2906 }
2907 
2908 
2910 {
2911  MODULE_CIF.JPE.ENCODE.B.CONT_MODE = mode;
2912 }
2913 
2914 
2916 {
2917  MODULE_CIF.JPE.PIC_FORMAT.B.ENC_PIC_FORMAT = format;
2918 }
2919 
2920 
2922 {
2923  MODULE_CIF.JPE.ENCODE.B.ENCODE = 1;
2924 }
2925 
2926 
2928 {
2929  return MODULE_CIF.WD.CTRL.B.WD_PREDIV;
2930 }
2931 
2932 
2934 {
2935  return (IfxCif_State)MODULE_CIF.WD.CTRL.B.WD_EN;
2936 }
2937 
2938 
2940 {
2941  MODULE_CIF.WD.CTRL.B.WD_PREDIV = predivider;
2942 }
2943 
2944 
2946 {
2947  MODULE_CIF.WD.CTRL.B.WD_EN = enableState;
2948 }
2949 
2950 
2952 {
2953  return (IfxCif_State)MODULE_CIF.ISPIS.CTRL.B.IS_EN;
2954 }
2955 
2956 
2958 {
2959  return MODULE_CIF.ISPIS.RECENTER.B.RECENTER;
2960 }
2961 
2962 
2964 {
2965  MODULE_CIF.ISPIS.CTRL.B.IS_EN = enableState;
2966 }
2967 
2968 
2970 {
2971  MODULE_CIF.ISPIS.H_OFFS.U = hOffset;
2972  MODULE_CIF.ISPIS.V_OFFS.U = vOffset;
2973 }
2974 
2975 
2977 {
2978  MODULE_CIF.ISPIS.H_SIZE.U = hSize;
2979  MODULE_CIF.ISPIS.V_SIZE.U = vSize;
2980 }
2981 
2982 
2984 {
2985  MODULE_CIF.ISPIS.RECENTER.B.RECENTER = value;
2986 }
2987 
2988 
2990 {
2991  return (IfxCif_State)MODULE_CIF.DP.CTRL.B.DP_EN;
2992 }
2993 
2994 
2996 {
2997  return (IfxCif_DpSourcePath)MODULE_CIF.DP.CTRL.B.DP_SEL;
2998 }
2999 
3000 
3002 {
3003  MODULE_CIF.DP.CTRL.B.DP_EN = enableState;
3004 }
3005 
3006 
3008 {
3009  MODULE_CIF.DP.CTRL.B.DP_SEL = sourcePath;
3010 }
3011 
3012 
3013 #endif /* IFXCIF_H */