(<aclass="code"href="xcfa__hw_8h.html#4d9258611512a367a6409eb9680b281f">XCFA_CONTROL_OFFSET</a>))) & (~(<aclass="code"href="xcfa__hw_8h.html#1d888e578e3393cc25588dddd0d9c892">XCFA_CTL_SW_EN_MASK</a>))))
</pre></div>This function macro disables the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</pre></div>This function macro enables the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</pre></div>This function macro clears/acknowledges pending interrupts of the CFA core. in the Status register. Bit positions of 1 will be cleared.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the pending interrupts to clear/acknowledge. Use OR'ing of XCFA_IXR_*_MASK constants defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a> to create this parameter value.</td></tr>
</pre></div>This function macro disables the given individual interrupt(s) on the CFA core by updating Irq_Enable register.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the bit-mask of the interrupts to be disabled. Bit positions of 1 will be disabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XCFA_IXR_*_MASK bits defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a>.</td></tr>
<dlcompact><dt><b>Note:</b></dt><dd>Any other interrupt not covered by parameter IntrType, if enabled before this macro is called, will remain enabled. C-style signature: void <aclass="el"href="xcfa_8h.html#75c9f065af86813e926a9c30fbb68a0d">XCfa_IntrDisable(XCfa *InstancePtr, u32 IntrType)</a></dd></dl>
</pre></div>This function macro enables the given individual interrupt(s) on the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>IntrType</em> </td><td>is the bit-mask of the interrupts to be enabled. Bit positions of 1 will be enabled. Bit positions of 0 will keep the previous setting. This mask is formed by OR'ing XCFA_IXR_*_MASK bits defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a>.</td></tr>
(<aclass="code"href="xcfa__hw_8h.html#6a03a0f7308c710638a5d900241d4b86">XCFA_STATUS_OFFSET</a>))) & ((u32)(<aclass="code"href="xcfa__hw_8h.html#abcd0d0167393dabda2ff1878a8ada87">XCFA_IXR_ALLINTR_MASK</a>)))
</pre></div>This function macro returns the pending interrupts of the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>The pending interrupts of the CFA. Use XCFA_IXR_*_MASK constants defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a> to interpret this value. The returned value is a logical AND of the contents of the STATUS Register and the IRQ_ENABLE Register.</dd></dl>
(<aclass="code"href="xcfa__hw_8h.html#4d9258611512a367a6409eb9680b281f">XCFA_CONTROL_OFFSET</a>)))) & (~(<aclass="code"href="xcfa__hw_8h.html#74f3589a4e236b3b275124108b596af4">XCFA_CTL_RUE_MASK</a>)))
</pre></div>This function macro prevents the CFA core from committing recent changes made so far by the software. When disabled, changes to other configuration registers are stored, but do not effect the behavior of the core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</pre></div>This function macro commits all the register value changes made so far by the software to the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</pre></div>This macro resets CFA core instance. This reset effects the core immediately and may cause image tearing.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function macro enables/starts the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
(<aclass="code"href="xcfa__hw_8h.html#6a03a0f7308c710638a5d900241d4b86">XCFA_STATUS_OFFSET</a>)) & (<aclass="code"href="xcfa__hw_8h.html#abcd0d0167393dabda2ff1878a8ada87">XCFA_IXR_ALLINTR_MASK</a>)
</pre></div>This function macro returns the pending status of a CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>The pending interrupts of the CFA core. Use XCFA_IXR_*_MASK constants defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a> to interpret this value.</dd></dl>
This function macro disables/stops the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</pre></div>This function macro resets a CFA core at the end of the frame being processed. It enables core automatically synchronizes to the SOF of the core to prevent image tearing. This function macro is differ from <aclass="el"href="xcfa_8h.html#b286a6fbb3082e5421fe490a15065986">XCfa_Reset()</a>.<p>
On the next rising-edge of SOF following a call to <aclass="el"href="xcfa_8h.html#22ae9e4eacd467403d3cb7abdc762171">XCfa_SyncReset()</a>, all of the core's configuration registers and outputs will be reset, then the reset flag will be immediately released, allowing the core to immediately resume default operation.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
Callback type for all interrupts except error interrupt.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CallBackRef</em> </td><td>is a callback reference passed in by the upper layer when setting the callback functions, and passed back to the upper layer when the callback is invoked. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>ErrorMask</em> </td><td>is a bit mask indicating the cause of the error. Its value equals 'OR'ing one or more XCFA_IXR_*_MASK values defined in <aclass="el"href="xcfa__hw_8h.html">xcfa_hw.h</a>. </td></tr>
These constants specify different types of handlers and used to differentiate interrupt requests from core. <dlcompact><dt><b>Enumerator: </b></dt><dd>
This function initializes the CFA core. This function must be called prior to using the CFA core. Initialization of the CFA includes setting up the instance data and ensuring the hardware is in a quiescent state.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>CfgPtr</em> </td><td>is a reference to a configuration structure containing information about the CFA core. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>EffectiveAddr</em> </td><td>is the base address of the core. If address translation is being used then this parameter must reflect the virtual base address. Otherwise, the physical address should be used.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if initialization was successful.</li></ul>
This function disables bypass mode of the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function disables the test pattern mode of the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This sets the bypass bit of the control register to switch the core to bypass mode if debug is enabled in the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function sets the test-pattern mode of the CFA core if debug features is enabled.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function gets the number of Active Pixel per Scan line and number of Active Lines per Frame from the Active Frame Size register.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>HSize</em> </td><td>is a pointer to 16-bit variable in which the number of Active Pixels per Scan Line is returned. (Range is 32 to 7680). </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>VSize</em> </td><td>is a pointer to 16-bit variable in which the number of Active Lines per Frame is returned. (Range is 32 to 7680).</td></tr>
This function gets the Bayer phase value combination from Bayer phase register.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>BayerPhase the Bayer Phase value 0 to 3. The Phase value combinations are<ul>
<li>Bayer Phase 0 is XCFA_RGRG_COMBINATION.</li><li>Bayer Phase 1 is XCFA_GRGR_COMBINATION.</li><li>Bayer Phase 2 is XCFA_GBGB_COMBINATION.</li><li>Bayer Phase 3 is XCFA_BGBG_COMBINATION.</li></ul>
</dd></dl>
<dlcompact><dt><b>Note:</b></dt><dd>- It is a double buffered register. </dd></dl>
This function gets number of frames processed since power-up or last time the core is reset.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>FrameCount is the number of frames processed since power up.</dd></dl>
<dlcompact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
This function gets the number of lines processed since power-up or last time the core is reset.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>LineCount is the number of lines processed since power up.</dd></dl>
<dlcompact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
This function gets the number of pixels processed since power-up or last time the core is reset.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>PixelCount is the number of pixels processed since power up.</dd></dl>
<dlcompact><dt><b>Note:</b></dt><dd>Debug functionality should be enabled. </dd></dl>
This function gets the Version of the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>Returns the contents of the Version register.</dd></dl>
This function is the interrupt handler for the CFA core.<p>
This handler reads the pending interrupt from the STATUS register, determines the source of the interrupts and calls the respective callbacks for the interrupts that are enabled in IRQ_ENABLE register, and finally clears the interrupts.<p>
The application is responsible for connecting this function to the interrupt system. Application beyond this core is also responsible for providing callbacks to handle interrupts and installing the callbacks using <aclass="el"href="xcfa_8h.html#befbc56c01d23f8d80c896e8664eb7ab">XCfa_SetCallBack()</a> during initialization phase.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance that just interrupted.</td></tr>
This function gets the current status of the bypass setting of the CFA core.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function gets the test-pattern mode if debug feature is enabled.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
This function returns a reference to an <aclass="el"href="struct_x_cfa___config.html">XCfa_Config</a> structure based on the unique device id, <em>DeviceId</em>. The return value will refer to an entry in the device configuration table defined in the <aclass="el"href="xcfa__g_8c.html">xcfa_g.c</a> file.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>DeviceId</em> </td><td>is the unique device ID of the core for the lookup operation.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd>CfgPtr is a reference to a config record in the configuration table (in <aclass="el"href="xcfa__g_8c.html">xcfa_g.c</a>) corresponding to <em>DeviceId</em>, or NULL if no match is found.</dd></dl>
This function reads complete Version register of CFA core and compares with zero values as part of self test.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>
</table>
</dl>
<dlcompact><dt><b>Returns:</b></dt><dd><ul>
<li>XST_SUCCESS if the Version register read test was successful.</li><li>XST_FAILURE if the Version register read test failed.</li></ul>
This function sets the active H/V sizes in the Active Size register.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>HSize</em> </td><td>is number of Active Pixels per scan line to be set. Range of HSize is 32 to 7680. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>VSize</em> </td><td>is number of Active Lines per frame to be set. Range of VSize is 32 to 7680.</td></tr>
This function specify whether the starting position pixel(0,0) of the Bayer sampling grid is on a red-green or blue-green line and whether the first pixel is green or not.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on. </td></tr>
<tr><tdvalign="top"></td><tdvalign="top"><em>BayerPhase</em> </td><td>to be set to identify starting position. Range of Phase is 0 to 3. The Phase value combinations are<ul>
<li>Bayer Phase 0 is XCFA_RGRG_COMBINATION.</li><li>Bayer Phase 1 is XCFA_GRGR_COMBINATION.</li><li>Bayer Phase 2 is XCFA_GBGB_COMBINATION.</li><li>Bayer Phase 3 is XCFA_BGBG_COMBINATION.</li><li>It is a double buffered register.</li></ul>
This function sets the input/output frame size in Active Size register and enables the register update.<p>
<dlcompact><dt><b>Parameters:</b></dt><dd>
<tableborder="0"cellspacing="2"cellpadding="0">
<tr><tdvalign="top"></td><tdvalign="top"><em>InstancePtr</em> </td><td>is a pointer to the <aclass="el"href="struct_x_cfa.html">XCfa</a> instance to be worked on.</td></tr>