Files
KSDK_2.0_MKL03Z8xxx4/docs/Kinetis SDK API Reference Manual MKL03Z4_v2.0.0/group__flexio__spi.html
2016-08-09 18:02:18 +02:00

2514 lines
158 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>Kinetis SDK v.2.0 API Reference Manual: FlexIO SPI Driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
$(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="fs_logo.gif"/></td>
<td style="padding-left: 0.5em;">
<div id="projectname">Kinetis SDK v.2.0 API Reference Manual
&#160;<span id="projectnumber">Rev. 0</span>
</div>
<div id="projectbrief">Freescale Semiconductor, Inc.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>API&#160;Reference</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__flexio__spi.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Pages</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#groups">Modules</a> &#124;
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">FlexIO SPI Driver<div class="ingroups"><a class="el" href="group__flexio.html">FlexIO: FlexIO Driver</a></div></div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<p>The KSDK provides a peripheral driver for an SPI function using the Flexible I/O module of Kinetis devices.</p>
<p>FlexIO SPI driver includes functional APIs and transactional APIs.</p>
<p>Functional APIs are feature/property target low level APIs. Functional APIs can be used for FlexIO SPI initialization/configuration/operation for optimization/customization purpose. Using the functional API requires the knowledge of the FlexIO SPI peripheral and how to organize functional APIs to meet the application requirements. All functional API use the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> *base as the first parameter. FlexIO SPI functional operation groups provide the functional API set.</p>
<p>Transactional APIs are transaction target high level APIs. Transactional APIs can be used to enable the peripheral and also in the application if the code size and performance of transactional APIs can satisfy requirements. If the code size and performance are critical requirements, see the transactional API implementation and write custom code. All transactional APIs use the flexio_spi_master_handle_t/flexio_spi_slave_handle_t as the second parameter. Initialize the handle by calling the <a class="el" href="group__flexio__spi.html#ga0123f1825a83093ad07377d86f4e2bf1" title="Initializes the FlexIO SPI Master handle, which is used in transactional functions. ">FLEXIO_SPI_MasterTransferCreateHandle()</a> or <a class="el" href="group__flexio__spi.html#ga76d12767d4023268a3aa9cde5e072b29" title="Initializes the FlexIO SPI Slave handle, which is used in transactional functions. ">FLEXIO_SPI_SlaveTransferCreateHandle()</a> API.</p>
<p>Transactional APIs support asynchronous transfer. This means that the functions <a class="el" href="group__flexio__spi.html#gabcfcbee985cb49bdbd02ab1698d2c041" title="Master transfer data using IRQ. ">FLEXIO_SPI_MasterTransferNonBlocking()</a>/FLEXIO_SPI_SlaveTransferNonBlocking() set up an interrupt for data transfer. When the transfer is complete, the upper layer is notified through a callback function with the kStatus_FLEXIO_SPI_Idle status. Notice that FlexIO SPI slave driver only supports discontinuous PCS access, which is a limitation. The FlexIO SPI slave driver could support continuous PCS, but the slave can't adapt discontinuous and continuous PCS automatically. User can change the timer disable mode in FLEXIO_SPI_SlaveInit manually, from kFLEXIO_TimerDisableOnTimerCompare to kFLEXIO_TimerDisableNever to enable discontinuous PCS access. Only CPHA = 0 is supported.</p>
<h1><a class="anchor" id="FlexIO_SPICase"></a>
Typical use case</h1>
<h2><a class="anchor" id="FlexIO_SPICaseInterrupt"></a>
FlexIO SPI send/receive using an interrupt method</h2>
<div class="fragment"><div class="line">flexio_spi_master_handle_t g_spiHandle;</div>
<div class="line"><a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> spiDev;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line"><span class="keyword">static</span> uint8_t srcBuff[BUFFER_SIZE];</div>
<div class="line"><span class="keyword">static</span> uint8_t destBuff[BUFFER_SIZE];</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> FLEXIO_SPI_MasterUserCallback(<a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle, status_t status, <span class="keywordtype">void</span> *userData)</div>
<div class="line">{</div>
<div class="line"> userData = userData;</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__flexio__spi.html#ggac9f5b10ab474a8ef035d48bb8b3990dba69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <span class="comment">//...</span></div>
<div class="line"> <a class="code" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> xfer = {0};</div>
<div class="line"> <a class="code" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> userConfig;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="group__flexio__spi.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;userConfig);</div>
<div class="line"> userConfig.<a class="code" href="group__flexio__spi.html#a6f95fac4a0afc21630b3837787bbb353">baudRate_Bps</a> = 500000U;</div>
<div class="line"></div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a6f884e3d820db0fa2c2974d9e8feaca1">flexioBase</a> = BOARD_FLEXIO_BASE;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a5df20f69be0906774c5b3d9c06821868">SDOPinIndex</a> = FLEXIO_SPI_MOSI_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a176d632a86bd48ee20db504ddb5ace5d">SDIPinIndex</a> = FLEXIO_SPI_MISO_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a5bd00a1e1450d172c1c651036af261bc">SCKPinIndex</a> = FLEXIO_SPI_SCK_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#af3462a62b5058e897b7d8387daf30317">CSnPinIndex</a> = FLEXIO_SPI_CSn_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[1] = 1U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a952204114daf59aeeb9437af1abc6eef">timerIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a952204114daf59aeeb9437af1abc6eef">timerIndex</a>[1] = 1U;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="group__flexio__spi.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;userConfig, FLEXIO_CLOCK_FREQUENCY);</div>
<div class="line"></div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#adce5c034b8842ec6a9d3c3d2f12f2b72">txData</a> = srcBuff;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a5a1a761e9cc6c90947ad55b701324258">rxData</a> = destBuff;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a5e76062efe44914a5bbb2f4fc3ca3aac">dataSize</a> = BUFFER_SIZE;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a890b496be606905d29d43abedf7e753b">flags</a> = <a class="code" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a>;</div>
<div class="line"> <a class="code" href="group__flexio__spi.html#ga0123f1825a83093ad07377d86f4e2bf1">FLEXIO_SPI_MasterTransferCreateHandle</a>(&amp;spiDev, &amp;g_spiHandle, FLEXIO_SPI_MasterUserCallback, NULL);</div>
<div class="line"> <a class="code" href="group__flexio__spi.html#gabcfcbee985cb49bdbd02ab1698d2c041">FLEXIO_SPI_MasterTransferNonBlocking</a>(&amp;spiDev, &amp;g_spiHandle, &amp;xfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Send finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</div>
<div class="line"> {</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line">}</div>
</div><!-- fragment --><h2><a class="anchor" id="FlexIO_SPICaseDma"></a>
FlexIO_SPI Send/Receive using a DMA method</h2>
<div class="fragment"><div class="line">dma_handle_t g_spiTxDmaHandle;</div>
<div class="line">dma_handle_t g_spiRxDmaHandle;</div>
<div class="line">flexio_spi_master_handle_t g_spiHandle;</div>
<div class="line"><a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> spiDev;</div>
<div class="line"><span class="keyword">volatile</span> <span class="keywordtype">bool</span> txFinished;</div>
<div class="line"><span class="keyword">static</span> uint8_t srcBuff[BUFFER_SIZE];</div>
<div class="line"><span class="keyword">static</span> uint8_t destBuff[BUFFER_SIZE];</div>
<div class="line"><span class="keywordtype">void</span> FLEXIO_SPI_MasterUserCallback(<a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_dma_handle_t *handle, status_t status, <span class="keywordtype">void</span> *userData)</div>
<div class="line">{</div>
<div class="line"> userData = userData;</div>
<div class="line"></div>
<div class="line"> <span class="keywordflow">if</span> (<a class="code" href="group__flexio__spi.html#ggac9f5b10ab474a8ef035d48bb8b3990dba69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> == status)</div>
<div class="line"> {</div>
<div class="line"> txFinished = <span class="keyword">true</span>;</div>
<div class="line"> }</div>
<div class="line">}</div>
<div class="line"></div>
<div class="line"><span class="keywordtype">void</span> main(<span class="keywordtype">void</span>)</div>
<div class="line">{</div>
<div class="line"> <a class="code" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> xfer = {0};</div>
<div class="line"> <a class="code" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> userConfig;</div>
<div class="line"></div>
<div class="line"> <a class="code" href="group__flexio__spi.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;userConfig);</div>
<div class="line"> userConfig.<a class="code" href="group__flexio__spi.html#a6f95fac4a0afc21630b3837787bbb353">baudRate_Bps</a> = 500000U;</div>
<div class="line"></div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a6f884e3d820db0fa2c2974d9e8feaca1">flexioBase</a> = BOARD_FLEXIO_BASE;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a5df20f69be0906774c5b3d9c06821868">SDOPinIndex</a> = FLEXIO_SPI_MOSI_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a176d632a86bd48ee20db504ddb5ace5d">SDIPinIndex</a> = FLEXIO_SPI_MISO_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a5bd00a1e1450d172c1c651036af261bc">SCKPinIndex</a> = FLEXIO_SPI_SCK_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#af3462a62b5058e897b7d8387daf30317">CSnPinIndex</a> = FLEXIO_SPI_CSn_PIN;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[1] = 1U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a952204114daf59aeeb9437af1abc6eef">timerIndex</a>[0] = 0U;</div>
<div class="line"> spiDev.<a class="code" href="group__flexio__spi.html#a952204114daf59aeeb9437af1abc6eef">timerIndex</a>[1] = 1U;</div>
<div class="line"></div>
<div class="line"> <span class="comment">/*Initializes the DMA for the example.*/</span></div>
<div class="line"> <a class="code" href="group__dmamgr.html#ga0c4deb53f1857a9abfed9d35ad2013f4">DMAMGR_Init</a>();</div>
<div class="line"></div>
<div class="line"> dma_request_source_tx = (dma_request_source_t)(FLEXIO_DMA_REQUEST_BASE + spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[0]);</div>
<div class="line"> dma_request_source_rx = (dma_request_source_t)(FLEXIO_DMA_REQUEST_BASE + spiDev.<a class="code" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a>[1]);</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Requests DMA channels for transmit and receive. */</span></div>
<div class="line"> <a class="code" href="group__dmamgr.html#ga459bfef3fee6f8a70345c3f43aaefc7a">DMAMGR_RequestChannel</a>((dma_request_source_t)dma_request_source_tx, 0, &amp;txHandle);</div>
<div class="line"> <a class="code" href="group__dmamgr.html#ga459bfef3fee6f8a70345c3f43aaefc7a">DMAMGR_RequestChannel</a>((dma_request_source_t)dma_request_source_rx, 1, &amp;rxHandle);</div>
<div class="line"></div>
<div class="line"> <a class="code" href="group__flexio__spi.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;userConfig, FLEXIO_CLOCK_FREQUENCY);</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Initializes the buffer. */</span></div>
<div class="line"> <span class="keywordflow">for</span> (i = 0; i &lt; BUFFER_SIZE; i++)</div>
<div class="line"> {</div>
<div class="line"> srcBuff[i] = i;</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">/* Sends to the slave. */</span></div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#adce5c034b8842ec6a9d3c3d2f12f2b72">txData</a> = srcBuff;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a5a1a761e9cc6c90947ad55b701324258">rxData</a> = destBuff;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a5e76062efe44914a5bbb2f4fc3ca3aac">dataSize</a> = BUFFER_SIZE;</div>
<div class="line"> xfer.<a class="code" href="group__flexio__spi.html#a890b496be606905d29d43abedf7e753b">flags</a> = <a class="code" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a>;</div>
<div class="line"> <a class="code" href="group__flexio__dma__spi.html#ga18314ff646e620f8a2245267f3a03eb6">FLEXIO_SPI_MasterTransferCreateHandleDMA</a>(&amp;spiDev, &amp;g_spiHandle, FLEXIO_SPI_MasterUserCallback, NULL, &amp;g_spiTxDmaHandle, &amp;g_spiRxDmaHandle);</div>
<div class="line"> <a class="code" href="group__flexio__dma__spi.html#gac31d7725e8e1871c7dff13fc291d1951">FLEXIO_SPI_MasterTransferDMA</a>(&amp;spiDev, &amp;g_spiHandle, &amp;xfer);</div>
<div class="line"></div>
<div class="line"> <span class="comment">// Send finished.</span></div>
<div class="line"> <span class="keywordflow">while</span> (!txFinished)</div>
<div class="line"> {</div>
<div class="line"> }</div>
<div class="line"></div>
<div class="line"> <span class="comment">// ...</span></div>
<div class="line">}</div>
</div><!-- fragment --> <table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Modules</h2></td></tr>
<tr class="memitem:group__flexio__dma__spi"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__dma__spi.html">FlexIO DMA SPI Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__flexio__edma__spi"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__edma__spi.html">FlexIO eDMA SPI Driver</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structFLEXIO__SPI__Type"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a></td></tr>
<tr class="memdesc:structFLEXIO__SPI__Type"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI access structure typedef. <a href="group__flexio__spi.html#structFLEXIO__SPI__Type">More...</a><br/></td></tr>
<tr class="separator:structFLEXIO__SPI__Type"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflexio__spi__master__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a></td></tr>
<tr class="memdesc:structflexio__spi__master__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI master configuration structure. <a href="group__flexio__spi.html#structflexio__spi__master__config__t">More...</a><br/></td></tr>
<tr class="separator:structflexio__spi__master__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflexio__spi__slave__config__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a></td></tr>
<tr class="memdesc:structflexio__spi__slave__config__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI slave configuration structure. <a href="group__flexio__spi.html#structflexio__spi__slave__config__t">More...</a><br/></td></tr>
<tr class="separator:structflexio__spi__slave__config__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structflexio__spi__transfer__t"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a></td></tr>
<tr class="memdesc:structflexio__spi__transfer__t"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI transfer structure. <a href="group__flexio__spi.html#structflexio__spi__transfer__t">More...</a><br/></td></tr>
<tr class="separator:structflexio__spi__transfer__t"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:struct__flexio__spi__master__handle"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#struct__flexio__spi__master__handle">flexio_spi_master_handle_t</a></td></tr>
<tr class="memdesc:struct__flexio__spi__master__handle"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI handle structure. <a href="group__flexio__spi.html#struct__flexio__spi__master__handle">More...</a><br/></td></tr>
<tr class="separator:struct__flexio__spi__master__handle"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gad411a43e379e70215b462831b24c5c5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gad411a43e379e70215b462831b24c5c5b">FLEXIO_SPI_DUMMYDATA</a>&#160;&#160;&#160;(0xFFFFU)</td></tr>
<tr class="memdesc:gad411a43e379e70215b462831b24c5c5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI dummy transfer data, the data is sent while txData is NULL. <a href="#gad411a43e379e70215b462831b24c5c5b">More...</a><br/></td></tr>
<tr class="separator:gad411a43e379e70215b462831b24c5c5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga1950678efd37cb3665e303e094cec428"><td class="memItemLeft" align="right" valign="top">typedef flexio_spi_master_handle_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a></td></tr>
<tr class="memdesc:ga1950678efd37cb3665e303e094cec428"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave handle is the same with master handle. <a href="#ga1950678efd37cb3665e303e094cec428">More...</a><br/></td></tr>
<tr class="separator:ga1950678efd37cb3665e303e094cec428"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9c8b509b90588dea1921de0bdb3cfec8"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> )(<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle, status_t status, void *userData)</td></tr>
<tr class="memdesc:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI master callback for finished transmit. <br/></td></tr>
<tr class="separator:ga9c8b509b90588dea1921de0bdb3cfec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2accadc980b51b0d65e41d122abe261"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad2accadc980b51b0d65e41d122abe261"></a>
typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a> )(<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, status_t status, void *userData)</td></tr>
<tr class="memdesc:gad2accadc980b51b0d65e41d122abe261"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI slave callback for finished transmit. <br/></td></tr>
<tr class="separator:gad2accadc980b51b0d65e41d122abe261"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gac9f5b10ab474a8ef035d48bb8b3990db"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gac9f5b10ab474a8ef035d48bb8b3990db">_flexio_spi_status</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggac9f5b10ab474a8ef035d48bb8b3990dba9fd2c82e84cdc65b4c2d7c3d335bc4e1">kStatus_FLEXIO_SPI_Busy</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 1),
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggac9f5b10ab474a8ef035d48bb8b3990dba69ccc78c05f6f6ed17f4d48e20323ec8">kStatus_FLEXIO_SPI_Idle</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 2),
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggac9f5b10ab474a8ef035d48bb8b3990dba4ae19baeae73d05d2dcf34dc4c54c6c4">kStatus_FLEXIO_SPI_Error</a> = MAKE_STATUS(kStatusGroup_FLEXIO_SPI, 3)
<br/>
}</td></tr>
<tr class="memdesc:gac9f5b10ab474a8ef035d48bb8b3990db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error codes for the FlexIO SPI driver. <a href="group__flexio__spi.html#gac9f5b10ab474a8ef035d48bb8b3990db">More...</a><br/></td></tr>
<tr class="separator:gac9f5b10ab474a8ef035d48bb8b3990db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac059394d6eabe169d3a1ee8a8b6f7edd"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggac059394d6eabe169d3a1ee8a8b6f7eddad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a> = 0x0U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggac059394d6eabe169d3a1ee8a8b6f7edda9d85a76b5ce670c1d47e5f95f4a46e6c">kFLEXIO_SPI_ClockPhaseSecondEdge</a> = 0x1U
<br/>
}</td></tr>
<tr class="memdesc:gac059394d6eabe169d3a1ee8a8b6f7edd"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI clock phase configuration. <a href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">More...</a><br/></td></tr>
<tr class="separator:gac059394d6eabe169d3a1ee8a8b6f7edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga25594db149526d67b23d92724487e87f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga25594db149526d67b23d92724487e87fad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a> = 0,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga25594db149526d67b23d92724487e87faa2a981323f199d9359c61d39cb059795">kFLEXIO_SPI_LsbFirst</a> = 1
<br/>
}</td></tr>
<tr class="memdesc:ga25594db149526d67b23d92724487e87f"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data shifter direction options. <a href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">More...</a><br/></td></tr>
<tr class="separator:ga25594db149526d67b23d92724487e87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4e518a5b077982fca7b6bf1025c7aaf"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggae4e518a5b077982fca7b6bf1025c7aafaef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a> = 0x08U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggae4e518a5b077982fca7b6bf1025c7aafa343c7a9db539019f0c99fb82b4adab35">kFLEXIO_SPI_16BitMode</a> = 0x10U
<br/>
}</td></tr>
<tr class="memdesc:gae4e518a5b077982fca7b6bf1025c7aaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI data length mode options. <a href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">More...</a><br/></td></tr>
<tr class="separator:gae4e518a5b077982fca7b6bf1025c7aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">_flexio_spi_interrupt_enable</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga239e9a0ff79e0d36ecf6ae7c68dfd357a5243ceb746eebfdeef2ba2d791e32ff9">kFLEXIO_SPI_TxEmptyInterruptEnable</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga239e9a0ff79e0d36ecf6ae7c68dfd357a3431c6c1875a70da30cba8b4185ad183">kFLEXIO_SPI_RxFullInterruptEnable</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI interrupt mask. <a href="group__flexio__spi.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">More...</a><br/></td></tr>
<tr class="separator:ga239e9a0ff79e0d36ecf6ae7c68dfd357"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5dec706a17cf2b92ef701f684503d4b2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga5dec706a17cf2b92ef701f684503d4b2">_flexio_spi_status_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga5dec706a17cf2b92ef701f684503d4b2a80c0db2a058d82d018b2e8bc76f1aa6b">kFLEXIO_SPI_TxBufferEmptyFlag</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga5dec706a17cf2b92ef701f684503d4b2aa679f6244353e98ace08ec5d0281851b">kFLEXIO_SPI_RxBufferFullFlag</a> = 0x2U
<br/>
}</td></tr>
<tr class="memdesc:ga5dec706a17cf2b92ef701f684503d4b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI status mask. <a href="group__flexio__spi.html#ga5dec706a17cf2b92ef701f684503d4b2">More...</a><br/></td></tr>
<tr class="separator:ga5dec706a17cf2b92ef701f684503d4b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga713aa7c7a59e84b9fdafb2923de177ef">_flexio_spi_dma_enable</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga713aa7c7a59e84b9fdafb2923de177efa4cdf95c3f7a1b9ae7931166a8abe1542">kFLEXIO_SPI_TxDmaEnable</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga713aa7c7a59e84b9fdafb2923de177efa002de6d16630e5d11d94b871da9a8fbd">kFLEXIO_SPI_RxDmaEnable</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#gga713aa7c7a59e84b9fdafb2923de177efa6b4ccfcf63573b0a3b281c32c4913f49">kFLEXIO_SPI_DmaAllEnable</a> = 0x3U
<br/>
}</td></tr>
<tr class="memdesc:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI DMA mask. <a href="group__flexio__spi.html#ga713aa7c7a59e84b9fdafb2923de177ef">More...</a><br/></td></tr>
<tr class="separator:ga713aa7c7a59e84b9fdafb2923de177ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gabf4ebfbc0d68b969e1b7dd838c45512d">_flexio_spi_transfer_flags</a> { <br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537">kFLEXIO_SPI_8bitMsb</a> = 0x1U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512da1d31a5996c45efebdc7aeb1a894647f8">kFLEXIO_SPI_8bitLsb</a> = 0x2U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512dabeb4baa55114987385ab398ceda142f9">kFLEXIO_SPI_16bitMsb</a> = 0x9U,
<br/>
&#160;&#160;<a class="el" href="group__flexio__spi.html#ggabf4ebfbc0d68b969e1b7dd838c45512dad6774d8673e5aa247be136e38c8fad91">kFLEXIO_SPI_16bitLsb</a> = 0xaU
<br/>
}</td></tr>
<tr class="memdesc:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Define FlexIO SPI transfer flags. <a href="group__flexio__spi.html#gabf4ebfbc0d68b969e1b7dd838c45512d">More...</a><br/></td></tr>
<tr class="separator:gabf4ebfbc0d68b969e1b7dd838c45512d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Driver version</h2></td></tr>
<tr class="memitem:gadd4392d8b86be4236270866fa214dcbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gadd4392d8b86be4236270866fa214dcbe">FSL_FLEXIO_SPI_DRIVER_VERSION</a>&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td></tr>
<tr class="memdesc:gadd4392d8b86be4236270866fa214dcbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI driver version 2.1.0. <a href="#gadd4392d8b86be4236270866fa214dcbe">More...</a><br/></td></tr>
<tr class="separator:gadd4392d8b86be4236270866fa214dcbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
FlexIO SPI Configuration</h2></td></tr>
<tr class="memitem:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> *masterConfig, uint32_t srcClock_Hz)</td></tr>
<tr class="memdesc:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ungates the FlexIO clock, resets the FlexIO module and configures the FlexIO SPI master hardware, and configures the FlexIO SPI with FlexIO SPI master configuration. <a href="#gacc68d67c46d897e6e9b2268c0fe999d2">More...</a><br/></td></tr>
<tr class="separator:gacc68d67c46d897e6e9b2268c0fe999d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gae403f64c6c1268e5dfb62e0b20bd267c">FLEXIO_SPI_MasterDeinit</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gates the FlexIO clock. <a href="#gae403f64c6c1268e5dfb62e0b20bd267c">More...</a><br/></td></tr>
<tr class="separator:gae403f64c6c1268e5dfb62e0b20bd267c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a> (<a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> *masterConfig)</td></tr>
<tr class="memdesc:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration to configure the FlexIO SPI master. <a href="#ga2d99f8a94f95262fc821b42e3812ee7e">More...</a><br/></td></tr>
<tr class="separator:ga2d99f8a94f95262fc821b42e3812ee7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae14521e2d88c63c34a51a31c726bac48"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gae14521e2d88c63c34a51a31c726bac48">FLEXIO_SPI_SlaveInit</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> *slaveConfig)</td></tr>
<tr class="memdesc:gae14521e2d88c63c34a51a31c726bac48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ungates the FlexIO clock, resets the FlexIO module, configures the FlexIO SPI slave hardware configuration, and configures the FlexIO SPI with FlexIO SPI slave configuration. <a href="#gae14521e2d88c63c34a51a31c726bac48">More...</a><br/></td></tr>
<tr class="separator:gae14521e2d88c63c34a51a31c726bac48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab02c0d21cfe44e81a2668facccdc587c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gab02c0d21cfe44e81a2668facccdc587c">FLEXIO_SPI_SlaveDeinit</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:gab02c0d21cfe44e81a2668facccdc587c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gates the FlexIO clock. <a href="#gab02c0d21cfe44e81a2668facccdc587c">More...</a><br/></td></tr>
<tr class="separator:gab02c0d21cfe44e81a2668facccdc587c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gaa6979876d2c0b4f65deabd6f5ce16d41">FLEXIO_SPI_SlaveGetDefaultConfig</a> (<a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> *slaveConfig)</td></tr>
<tr class="memdesc:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the default configuration to configure the FlexIO SPI slave. <a href="#gaa6979876d2c0b4f65deabd6f5ce16d41">More...</a><br/></td></tr>
<tr class="separator:gaa6979876d2c0b4f65deabd6f5ce16d41"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Status</h2></td></tr>
<tr class="memitem:ga1b709c34a5861a755ef2365eca4aef6d"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga1b709c34a5861a755ef2365eca4aef6d">FLEXIO_SPI_GetStatusFlags</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base)</td></tr>
<tr class="memdesc:ga1b709c34a5861a755ef2365eca4aef6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets FlexIO SPI status flags. <a href="#ga1b709c34a5861a755ef2365eca4aef6d">More...</a><br/></td></tr>
<tr class="separator:ga1b709c34a5861a755ef2365eca4aef6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga53311c201694351c61d5d56f2924d73e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga53311c201694351c61d5d56f2924d73e">FLEXIO_SPI_ClearStatusFlags</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga53311c201694351c61d5d56f2924d73e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears FlexIO SPI status flags. <a href="#ga53311c201694351c61d5d56f2924d73e">More...</a><br/></td></tr>
<tr class="separator:ga53311c201694351c61d5d56f2924d73e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Interrupts</h2></td></tr>
<tr class="memitem:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga877ffb51ccf9f5a2ecd5bd5a23f208c3">FLEXIO_SPI_EnableInterrupts</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the FlexIO SPI interrupt. <a href="#ga877ffb51ccf9f5a2ecd5bd5a23f208c3">More...</a><br/></td></tr>
<tr class="separator:ga877ffb51ccf9f5a2ecd5bd5a23f208c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac765a8199e5d7c7546d2b31c06563638"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gac765a8199e5d7c7546d2b31c06563638">FLEXIO_SPI_DisableInterrupts</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, uint32_t mask)</td></tr>
<tr class="memdesc:gac765a8199e5d7c7546d2b31c06563638"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the FlexIO SPI interrupt. <a href="#gac765a8199e5d7c7546d2b31c06563638">More...</a><br/></td></tr>
<tr class="separator:gac765a8199e5d7c7546d2b31c06563638"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
DMA Control</h2></td></tr>
<tr class="memitem:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga584eae5056ceeee0aea9ba9d5e2302ff">FLEXIO_SPI_EnableDMA</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, uint32_t mask, bool enable)</td></tr>
<tr class="memdesc:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO SPI transmit DMA. <a href="#ga584eae5056ceeee0aea9ba9d5e2302ff">More...</a><br/></td></tr>
<tr class="separator:ga584eae5056ceeee0aea9ba9d5e2302ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gac2629d5c8821fe5a2a3496b51dbc99f5">FLEXIO_SPI_GetTxDataRegisterAddress</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO SPI transmit data register address for MSB first transfer. <a href="#gac2629d5c8821fe5a2a3496b51dbc99f5">More...</a><br/></td></tr>
<tr class="separator:gac2629d5c8821fe5a2a3496b51dbc99f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga061dcced42575767baf53f6b6e5da609"><td class="memItemLeft" align="right" valign="top">static uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga061dcced42575767baf53f6b6e5da609">FLEXIO_SPI_GetRxDataRegisterAddress</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:ga061dcced42575767baf53f6b6e5da609"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the FlexIO SPI receive data register address for the MSB first transfer. <a href="#ga061dcced42575767baf53f6b6e5da609">More...</a><br/></td></tr>
<tr class="separator:ga061dcced42575767baf53f6b6e5da609"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Bus Operations</h2></td></tr>
<tr class="memitem:ga68656f6d77e46b59e311e1a97f3b5878"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga68656f6d77e46b59e311e1a97f3b5878">FLEXIO_SPI_Enable</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, bool enable)</td></tr>
<tr class="memdesc:ga68656f6d77e46b59e311e1a97f3b5878"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables/disables the FlexIO SPI module operation. <a href="#ga68656f6d77e46b59e311e1a97f3b5878">More...</a><br/></td></tr>
<tr class="separator:ga68656f6d77e46b59e311e1a97f3b5878"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9287322d22895ac0352db5fe0dd909e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gaa9287322d22895ac0352db5fe0dd909e">FLEXIO_SPI_MasterSetBaudRate</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, uint32_t baudRate_Bps, uint32_t srcClockHz)</td></tr>
<tr class="memdesc:gaa9287322d22895ac0352db5fe0dd909e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets baud rate for the FlexIO SPI transfer, which is only used for the master. <a href="#gaa9287322d22895ac0352db5fe0dd909e">More...</a><br/></td></tr>
<tr class="separator:gaa9287322d22895ac0352db5fe0dd909e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1eb1063ea3e7b0af749f899d86e85c42"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga1eb1063ea3e7b0af749f899d86e85c42">FLEXIO_SPI_WriteData</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction, uint16_t data)</td></tr>
<tr class="memdesc:ga1eb1063ea3e7b0af749f899d86e85c42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes one byte of data, which is sent using the MSB method. <a href="#ga1eb1063ea3e7b0af749f899d86e85c42">More...</a><br/></td></tr>
<tr class="separator:ga1eb1063ea3e7b0af749f899d86e85c42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa36e294b6b74373a5466a3c69ecdbf18"><td class="memItemLeft" align="right" valign="top">static uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gaa36e294b6b74373a5466a3c69ecdbf18">FLEXIO_SPI_ReadData</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction)</td></tr>
<tr class="memdesc:gaa36e294b6b74373a5466a3c69ecdbf18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads 8 bit/16 bit data. <a href="#gaa36e294b6b74373a5466a3c69ecdbf18">More...</a><br/></td></tr>
<tr class="separator:gaa36e294b6b74373a5466a3c69ecdbf18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadeb6573f99e8ee11b9917683efbf8dd3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gadeb6573f99e8ee11b9917683efbf8dd3">FLEXIO_SPI_WriteBlocking</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction, const uint8_t *buffer, size_t size)</td></tr>
<tr class="memdesc:gadeb6573f99e8ee11b9917683efbf8dd3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a buffer of data bytes. <a href="#gadeb6573f99e8ee11b9917683efbf8dd3">More...</a><br/></td></tr>
<tr class="separator:gadeb6573f99e8ee11b9917683efbf8dd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46eb22a1bcbdc6e7baff4b8a3abe70d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga46eb22a1bcbdc6e7baff4b8a3abe70d6">FLEXIO_SPI_ReadBlocking</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> direction, uint8_t *buffer, size_t size)</td></tr>
<tr class="memdesc:ga46eb22a1bcbdc6e7baff4b8a3abe70d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of bytes. <a href="#ga46eb22a1bcbdc6e7baff4b8a3abe70d6">More...</a><br/></td></tr>
<tr class="separator:ga46eb22a1bcbdc6e7baff4b8a3abe70d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b95a00ceff7aec46bbe913f18fa27fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga2b95a00ceff7aec46bbe913f18fa27fd">FLEXIO_SPI_MasterTransferBlocking</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga2b95a00ceff7aec46bbe913f18fa27fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a buffer of bytes. <a href="#ga2b95a00ceff7aec46bbe913f18fa27fd">More...</a><br/></td></tr>
<tr class="separator:ga2b95a00ceff7aec46bbe913f18fa27fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Transactional</h2></td></tr>
<tr class="memitem:ga0123f1825a83093ad07377d86f4e2bf1"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga0123f1825a83093ad07377d86f4e2bf1">FLEXIO_SPI_MasterTransferCreateHandle</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle, <a class="el" href="group__flexio__spi.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga0123f1825a83093ad07377d86f4e2bf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO SPI Master handle, which is used in transactional functions. <a href="#ga0123f1825a83093ad07377d86f4e2bf1">More...</a><br/></td></tr>
<tr class="separator:ga0123f1825a83093ad07377d86f4e2bf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gabcfcbee985cb49bdbd02ab1698d2c041">FLEXIO_SPI_MasterTransferNonBlocking</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle, <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="mdescLeft">&#160;</td><td class="mdescRight">Master transfer data using IRQ. <a href="#gabcfcbee985cb49bdbd02ab1698d2c041">More...</a><br/></td></tr>
<tr class="separator:gabcfcbee985cb49bdbd02ab1698d2c041"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga7ee4149cd9c0bab50f91eaf6322ccd45">FLEXIO_SPI_MasterTransferAbort</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle)</td></tr>
<tr class="memdesc:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the master data transfer, which used IRQ. <a href="#ga7ee4149cd9c0bab50f91eaf6322ccd45">More...</a><br/></td></tr>
<tr class="separator:ga7ee4149cd9c0bab50f91eaf6322ccd45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f8d610d6492109468d6a225ef01043d"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga5f8d610d6492109468d6a225ef01043d">FLEXIO_SPI_MasterTransferGetCount</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, flexio_spi_master_handle_t *handle, size_t *count)</td></tr>
<tr class="memdesc:ga5f8d610d6492109468d6a225ef01043d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the data transfer status which used IRQ. <a href="#ga5f8d610d6492109468d6a225ef01043d">More...</a><br/></td></tr>
<tr class="separator:ga5f8d610d6492109468d6a225ef01043d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39784af602890dbc1aff6d23b29b7e19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga39784af602890dbc1aff6d23b29b7e19">FLEXIO_SPI_MasterTransferHandleIRQ</a> (void *spiType, void *spiHandle)</td></tr>
<tr class="memdesc:ga39784af602890dbc1aff6d23b29b7e19"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI master IRQ handler function. <a href="#ga39784af602890dbc1aff6d23b29b7e19">More...</a><br/></td></tr>
<tr class="separator:ga39784af602890dbc1aff6d23b29b7e19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga76d12767d4023268a3aa9cde5e072b29"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga76d12767d4023268a3aa9cde5e072b29">FLEXIO_SPI_SlaveTransferCreateHandle</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, <a class="el" href="group__flexio__spi.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a> callback, void *userData)</td></tr>
<tr class="memdesc:ga76d12767d4023268a3aa9cde5e072b29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the FlexIO SPI Slave handle, which is used in transactional functions. <a href="#ga76d12767d4023268a3aa9cde5e072b29">More...</a><br/></td></tr>
<tr class="separator:ga76d12767d4023268a3aa9cde5e072b29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="memItemLeft" align="right" valign="top">status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga9d1ef8b373c56f48d98612f5c3047f8c">FLEXIO_SPI_SlaveTransferNonBlocking</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *xfer)</td></tr>
<tr class="memdesc:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Slave transfer data using IRQ. <a href="#ga9d1ef8b373c56f48d98612f5c3047f8c">More...</a><br/></td></tr>
<tr class="separator:ga9d1ef8b373c56f48d98612f5c3047f8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34dea4bdd2c52597711068bed5c45958"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ga34dea4bdd2c52597711068bed5c45958">FLEXIO_SPI_SlaveTransferAbort</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle)</td></tr>
<tr class="memdesc:ga34dea4bdd2c52597711068bed5c45958"><td class="mdescLeft">&#160;</td><td class="mdescRight">Aborts the slave data transfer which used IRQ, share same API with master. <a href="#ga34dea4bdd2c52597711068bed5c45958">More...</a><br/></td></tr>
<tr class="separator:ga34dea4bdd2c52597711068bed5c45958"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="memItemLeft" align="right" valign="top">static status_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gae3354dda8f6fdce0f6a58b1933d56ee9">FLEXIO_SPI_SlaveTransferGetCount</a> (<a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *base, <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *handle, size_t *count)</td></tr>
<tr class="memdesc:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the data transfer status which used IRQ, share same API with master. <a href="#gae3354dda8f6fdce0f6a58b1933d56ee9">More...</a><br/></td></tr>
<tr class="separator:gae3354dda8f6fdce0f6a58b1933d56ee9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#gaf620bb7c2bf87c781f93f8a5f23c49d4">FLEXIO_SPI_SlaveTransferHandleIRQ</a> (void *spiType, void *spiHandle)</td></tr>
<tr class="memdesc:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI slave IRQ handler function. <a href="#gaf620bb7c2bf87c781f93f8a5f23c49d4">More...</a><br/></td></tr>
<tr class="separator:gaf620bb7c2bf87c781f93f8a5f23c49d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structFLEXIO__SPI__Type" id="structFLEXIO__SPI__Type"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct FLEXIO_SPI_Type</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a6f884e3d820db0fa2c2974d9e8feaca1"><td class="memItemLeft" align="right" valign="top">FLEXIO_Type *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a6f884e3d820db0fa2c2974d9e8feaca1">flexioBase</a></td></tr>
<tr class="memdesc:a6f884e3d820db0fa2c2974d9e8feaca1"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO base pointer. <a href="#a6f884e3d820db0fa2c2974d9e8feaca1">More...</a><br/></td></tr>
<tr class="separator:a6f884e3d820db0fa2c2974d9e8feaca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5df20f69be0906774c5b3d9c06821868"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5df20f69be0906774c5b3d9c06821868">SDOPinIndex</a></td></tr>
<tr class="memdesc:a5df20f69be0906774c5b3d9c06821868"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for data output. <a href="#a5df20f69be0906774c5b3d9c06821868">More...</a><br/></td></tr>
<tr class="separator:a5df20f69be0906774c5b3d9c06821868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a176d632a86bd48ee20db504ddb5ace5d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a176d632a86bd48ee20db504ddb5ace5d">SDIPinIndex</a></td></tr>
<tr class="memdesc:a176d632a86bd48ee20db504ddb5ace5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for data input. <a href="#a176d632a86bd48ee20db504ddb5ace5d">More...</a><br/></td></tr>
<tr class="separator:a176d632a86bd48ee20db504ddb5ace5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bd00a1e1450d172c1c651036af261bc"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5bd00a1e1450d172c1c651036af261bc">SCKPinIndex</a></td></tr>
<tr class="memdesc:a5bd00a1e1450d172c1c651036af261bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for clock. <a href="#a5bd00a1e1450d172c1c651036af261bc">More...</a><br/></td></tr>
<tr class="separator:a5bd00a1e1450d172c1c651036af261bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3462a62b5058e897b7d8387daf30317"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#af3462a62b5058e897b7d8387daf30317">CSnPinIndex</a></td></tr>
<tr class="memdesc:af3462a62b5058e897b7d8387daf30317"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pin select for enable. <a href="#af3462a62b5058e897b7d8387daf30317">More...</a><br/></td></tr>
<tr class="separator:af3462a62b5058e897b7d8387daf30317"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2ab114592f4a5982720447f8cd9e90d"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ad2ab114592f4a5982720447f8cd9e90d">shifterIndex</a> [2]</td></tr>
<tr class="memdesc:ad2ab114592f4a5982720447f8cd9e90d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shifter index used in FlexIO SPI. <a href="#ad2ab114592f4a5982720447f8cd9e90d">More...</a><br/></td></tr>
<tr class="separator:ad2ab114592f4a5982720447f8cd9e90d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a952204114daf59aeeb9437af1abc6eef"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a952204114daf59aeeb9437af1abc6eef">timerIndex</a> [2]</td></tr>
<tr class="memdesc:a952204114daf59aeeb9437af1abc6eef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer index used in FlexIO SPI. <a href="#a952204114daf59aeeb9437af1abc6eef">More...</a><br/></td></tr>
<tr class="separator:a952204114daf59aeeb9437af1abc6eef"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a6f884e3d820db0fa2c2974d9e8feaca1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">FLEXIO_Type* FLEXIO_SPI_Type::flexioBase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5df20f69be0906774c5b3d9c06821868"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::SDOPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a176d632a86bd48ee20db504ddb5ace5d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::SDIPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5bd00a1e1450d172c1c651036af261bc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::SCKPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af3462a62b5058e897b7d8387daf30317"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::CSnPinIndex</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad2ab114592f4a5982720447f8cd9e90d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::shifterIndex[2]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a952204114daf59aeeb9437af1abc6eef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t FLEXIO_SPI_Type::timerIndex[2]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structflexio__spi__master__config__t" id="structflexio__spi__master__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexio_spi_master_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:abfa7b62cfa5ecc303b203c9206e8511b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#abfa7b62cfa5ecc303b203c9206e8511b">enableMaster</a></td></tr>
<tr class="memdesc:abfa7b62cfa5ecc303b203c9206e8511b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO SPI master after configuration. <a href="#abfa7b62cfa5ecc303b203c9206e8511b">More...</a><br/></td></tr>
<tr class="separator:abfa7b62cfa5ecc303b203c9206e8511b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace1bcfad14f01d682d72126fe8977379"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ace1bcfad14f01d682d72126fe8977379">enableInDoze</a></td></tr>
<tr class="memdesc:ace1bcfad14f01d682d72126fe8977379"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in doze mode. <a href="#ace1bcfad14f01d682d72126fe8977379">More...</a><br/></td></tr>
<tr class="separator:ace1bcfad14f01d682d72126fe8977379"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae25034f9e6018e4fb4688ed8867c6b18"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ae25034f9e6018e4fb4688ed8867c6b18">enableInDebug</a></td></tr>
<tr class="memdesc:ae25034f9e6018e4fb4688ed8867c6b18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in debug mode. <a href="#ae25034f9e6018e4fb4688ed8867c6b18">More...</a><br/></td></tr>
<tr class="separator:ae25034f9e6018e4fb4688ed8867c6b18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca4f2130311c4dea49126cfba678669c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#aca4f2130311c4dea49126cfba678669c">enableFastAccess</a></td></tr>
<tr class="memdesc:aca4f2130311c4dea49126cfba678669c"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> Enable/disable fast access to FlexIO registers,
</pre><p> fast access requires the FlexIO clock to be at least twice the frequency of the bus clock. <a href="#aca4f2130311c4dea49126cfba678669c">More...</a><br/></td></tr>
<tr class="separator:aca4f2130311c4dea49126cfba678669c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f95fac4a0afc21630b3837787bbb353"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a6f95fac4a0afc21630b3837787bbb353">baudRate_Bps</a></td></tr>
<tr class="memdesc:a6f95fac4a0afc21630b3837787bbb353"><td class="mdescLeft">&#160;</td><td class="mdescRight">Baud rate in Bps. <a href="#a6f95fac4a0afc21630b3837787bbb353">More...</a><br/></td></tr>
<tr class="separator:a6f95fac4a0afc21630b3837787bbb353"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76cac3e67183266b66cf25a29c2669bf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a76cac3e67183266b66cf25a29c2669bf">phase</a></td></tr>
<tr class="memdesc:a76cac3e67183266b66cf25a29c2669bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock phase. <a href="#a76cac3e67183266b66cf25a29c2669bf">More...</a><br/></td></tr>
<tr class="separator:a76cac3e67183266b66cf25a29c2669bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ed3e04044edd43a3ab1658b83cc7a70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a1ed3e04044edd43a3ab1658b83cc7a70">dataMode</a></td></tr>
<tr class="memdesc:a1ed3e04044edd43a3ab1658b83cc7a70"><td class="mdescLeft">&#160;</td><td class="mdescRight">8bit or 16bit mode. <a href="#a1ed3e04044edd43a3ab1658b83cc7a70">More...</a><br/></td></tr>
<tr class="separator:a1ed3e04044edd43a3ab1658b83cc7a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="abfa7b62cfa5ecc303b203c9206e8511b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_master_config_t::enableMaster</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ace1bcfad14f01d682d72126fe8977379"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_master_config_t::enableInDoze</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae25034f9e6018e4fb4688ed8867c6b18"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_master_config_t::enableInDebug</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aca4f2130311c4dea49126cfba678669c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_master_config_t::enableFastAccess</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6f95fac4a0afc21630b3837787bbb353"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t flexio_spi_master_config_t::baudRate_Bps</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a76cac3e67183266b66cf25a29c2669bf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a> flexio_spi_master_config_t::phase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1ed3e04044edd43a3ab1658b83cc7a70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a> flexio_spi_master_config_t::dataMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structflexio__spi__slave__config__t" id="structflexio__spi__slave__config__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexio_spi_slave_config_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a5fcf34758ddd907b1860679305858de1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5fcf34758ddd907b1860679305858de1">enableSlave</a></td></tr>
<tr class="memdesc:a5fcf34758ddd907b1860679305858de1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO SPI slave after configuration. <a href="#a5fcf34758ddd907b1860679305858de1">More...</a><br/></td></tr>
<tr class="separator:a5fcf34758ddd907b1860679305858de1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab13e01169ca99c72157d7e927e9c7d6f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ab13e01169ca99c72157d7e927e9c7d6f">enableInDoze</a></td></tr>
<tr class="memdesc:ab13e01169ca99c72157d7e927e9c7d6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in doze mode. <a href="#ab13e01169ca99c72157d7e927e9c7d6f">More...</a><br/></td></tr>
<tr class="separator:ab13e01169ca99c72157d7e927e9c7d6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4180104efb170139a0e4ab731e38361"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#af4180104efb170139a0e4ab731e38361">enableInDebug</a></td></tr>
<tr class="memdesc:af4180104efb170139a0e4ab731e38361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable/disable FlexIO operation in debug mode. <a href="#af4180104efb170139a0e4ab731e38361">More...</a><br/></td></tr>
<tr class="separator:af4180104efb170139a0e4ab731e38361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a431d5f78a4038ee716d38905334e558e"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a431d5f78a4038ee716d38905334e558e">enableFastAccess</a></td></tr>
<tr class="memdesc:a431d5f78a4038ee716d38905334e558e"><td class="mdescLeft">&#160;</td><td class="mdescRight"><pre class="fragment"> Enable/disable fast access to FlexIO registers,
</pre><p> fast access requires the FlexIO clock to be at least twice the frequency of the bus clock. <a href="#a431d5f78a4038ee716d38905334e558e">More...</a><br/></td></tr>
<tr class="separator:a431d5f78a4038ee716d38905334e558e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba29aaf41caf774f7077f1e8fe64404"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5ba29aaf41caf774f7077f1e8fe64404">phase</a></td></tr>
<tr class="memdesc:a5ba29aaf41caf774f7077f1e8fe64404"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clock phase. <a href="#a5ba29aaf41caf774f7077f1e8fe64404">More...</a><br/></td></tr>
<tr class="separator:a5ba29aaf41caf774f7077f1e8fe64404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b7c853f42ed1b2e53e07034daf3d26f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5b7c853f42ed1b2e53e07034daf3d26f">dataMode</a></td></tr>
<tr class="memdesc:a5b7c853f42ed1b2e53e07034daf3d26f"><td class="mdescLeft">&#160;</td><td class="mdescRight">8bit or 16bit mode. <a href="#a5b7c853f42ed1b2e53e07034daf3d26f">More...</a><br/></td></tr>
<tr class="separator:a5b7c853f42ed1b2e53e07034daf3d26f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a5fcf34758ddd907b1860679305858de1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_slave_config_t::enableSlave</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ab13e01169ca99c72157d7e927e9c7d6f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_slave_config_t::enableInDoze</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af4180104efb170139a0e4ab731e38361"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_slave_config_t::enableInDebug</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a431d5f78a4038ee716d38905334e558e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool flexio_spi_slave_config_t::enableFastAccess</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5ba29aaf41caf774f7077f1e8fe64404"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a> flexio_spi_slave_config_t::phase</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5b7c853f42ed1b2e53e07034daf3d26f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a> flexio_spi_slave_config_t::dataMode</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="structflexio__spi__transfer__t" id="structflexio__spi__transfer__t"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct flexio_spi_transfer_t</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"></div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:adce5c034b8842ec6a9d3c3d2f12f2b72"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#adce5c034b8842ec6a9d3c3d2f12f2b72">txData</a></td></tr>
<tr class="memdesc:adce5c034b8842ec6a9d3c3d2f12f2b72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send buffer. <a href="#adce5c034b8842ec6a9d3c3d2f12f2b72">More...</a><br/></td></tr>
<tr class="separator:adce5c034b8842ec6a9d3c3d2f12f2b72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a1a761e9cc6c90947ad55b701324258"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5a1a761e9cc6c90947ad55b701324258">rxData</a></td></tr>
<tr class="memdesc:a5a1a761e9cc6c90947ad55b701324258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <a href="#a5a1a761e9cc6c90947ad55b701324258">More...</a><br/></td></tr>
<tr class="separator:a5a1a761e9cc6c90947ad55b701324258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e76062efe44914a5bbb2f4fc3ca3aac"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a5e76062efe44914a5bbb2f4fc3ca3aac">dataSize</a></td></tr>
<tr class="memdesc:a5e76062efe44914a5bbb2f4fc3ca3aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer bytes. <a href="#a5e76062efe44914a5bbb2f4fc3ca3aac">More...</a><br/></td></tr>
<tr class="separator:a5e76062efe44914a5bbb2f4fc3ca3aac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890b496be606905d29d43abedf7e753b"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a890b496be606905d29d43abedf7e753b">flags</a></td></tr>
<tr class="memdesc:a890b496be606905d29d43abedf7e753b"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI control flag, MSB first or LSB first. <a href="#a890b496be606905d29d43abedf7e753b">More...</a><br/></td></tr>
<tr class="separator:a890b496be606905d29d43abedf7e753b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="adce5c034b8842ec6a9d3c3d2f12f2b72"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* flexio_spi_transfer_t::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5a1a761e9cc6c90947ad55b701324258"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* flexio_spi_transfer_t::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5e76062efe44914a5bbb2f4fc3ca3aac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t flexio_spi_transfer_t::dataSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a890b496be606905d29d43abedf7e753b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t flexio_spi_transfer_t::flags</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<a name="struct__flexio__spi__master__handle" id="struct__flexio__spi__master__handle"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct _flexio_spi_master_handle</td>
</tr>
</table>
</div><div class="memdoc">
<div class="textblock"><p>typedef for flexio_spi_master_handle_t in advance.</p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a9a8bad99d5d80699be0d248092ac8d80"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a9a8bad99d5d80699be0d248092ac8d80">txData</a></td></tr>
<tr class="memdesc:a9a8bad99d5d80699be0d248092ac8d80"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer buffer. <a href="#a9a8bad99d5d80699be0d248092ac8d80">More...</a><br/></td></tr>
<tr class="separator:a9a8bad99d5d80699be0d248092ac8d80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f04ebbd2ad671dd6657be16c26bd1e6"><td class="memItemLeft" align="right" valign="top">uint8_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a6f04ebbd2ad671dd6657be16c26bd1e6">rxData</a></td></tr>
<tr class="memdesc:a6f04ebbd2ad671dd6657be16c26bd1e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive buffer. <a href="#a6f04ebbd2ad671dd6657be16c26bd1e6">More...</a><br/></td></tr>
<tr class="separator:a6f04ebbd2ad671dd6657be16c26bd1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee24e8b68706ac6bb69c501295b8f289"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#aee24e8b68706ac6bb69c501295b8f289">transferSize</a></td></tr>
<tr class="memdesc:aee24e8b68706ac6bb69c501295b8f289"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total bytes to be transferred. <a href="#aee24e8b68706ac6bb69c501295b8f289">More...</a><br/></td></tr>
<tr class="separator:aee24e8b68706ac6bb69c501295b8f289"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeecd6ae001c1bbdfab21eb288f0ca8a9"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#aeecd6ae001c1bbdfab21eb288f0ca8a9">txRemainingBytes</a></td></tr>
<tr class="memdesc:aeecd6ae001c1bbdfab21eb288f0ca8a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data remaining in bytes. <a href="#aeecd6ae001c1bbdfab21eb288f0ca8a9">More...</a><br/></td></tr>
<tr class="separator:aeecd6ae001c1bbdfab21eb288f0ca8a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee7be6e3dd2109f9d5374a1b2fb45ade"><td class="memItemLeft" align="right" valign="top">volatile size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#aee7be6e3dd2109f9d5374a1b2fb45ade">rxRemainingBytes</a></td></tr>
<tr class="memdesc:aee7be6e3dd2109f9d5374a1b2fb45ade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive data remaining in bytes. <a href="#aee7be6e3dd2109f9d5374a1b2fb45ade">More...</a><br/></td></tr>
<tr class="separator:aee7be6e3dd2109f9d5374a1b2fb45ade"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25ee5785454882c9d0856f3a0fb8e23a"><td class="memItemLeft" align="right" valign="top">volatile uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a25ee5785454882c9d0856f3a0fb8e23a">state</a></td></tr>
<tr class="memdesc:a25ee5785454882c9d0856f3a0fb8e23a"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI internal state. <a href="#a25ee5785454882c9d0856f3a0fb8e23a">More...</a><br/></td></tr>
<tr class="separator:a25ee5785454882c9d0856f3a0fb8e23a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c81d09878eaff0b35189d7b7d4441a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0c81d09878eaff0b35189d7b7d4441a"></a>
uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ab0c81d09878eaff0b35189d7b7d4441a">bytePerFrame</a></td></tr>
<tr class="memdesc:ab0c81d09878eaff0b35189d7b7d4441a"><td class="mdescLeft">&#160;</td><td class="mdescRight">SPI mode, 2bytes or 1byte in a frame. <br/></td></tr>
<tr class="separator:ab0c81d09878eaff0b35189d7b7d4441a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ab5ab2070ea63f0c52d1c6da2786459"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a8ab5ab2070ea63f0c52d1c6da2786459">direction</a></td></tr>
<tr class="memdesc:a8ab5ab2070ea63f0c52d1c6da2786459"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shift direction. <a href="#a8ab5ab2070ea63f0c52d1c6da2786459">More...</a><br/></td></tr>
<tr class="separator:a8ab5ab2070ea63f0c52d1c6da2786459"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4118ced7c959f43005a9b4cdc48786d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__flexio__spi.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#ac4118ced7c959f43005a9b4cdc48786d">callback</a></td></tr>
<tr class="memdesc:ac4118ced7c959f43005a9b4cdc48786d"><td class="mdescLeft">&#160;</td><td class="mdescRight">FlexIO SPI callback. <a href="#ac4118ced7c959f43005a9b4cdc48786d">More...</a><br/></td></tr>
<tr class="separator:ac4118ced7c959f43005a9b4cdc48786d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3fb8c3a3c3b23a1908c0bb70230166"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__flexio__spi.html#a7d3fb8c3a3c3b23a1908c0bb70230166">userData</a></td></tr>
<tr class="memdesc:a7d3fb8c3a3c3b23a1908c0bb70230166"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback parameter. <a href="#a7d3fb8c3a3c3b23a1908c0bb70230166">More...</a><br/></td></tr>
<tr class="separator:a7d3fb8c3a3c3b23a1908c0bb70230166"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a9a8bad99d5d80699be0d248092ac8d80"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* flexio_spi_master_handle_t::txData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6f04ebbd2ad671dd6657be16c26bd1e6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t* flexio_spi_master_handle_t::rxData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aee24e8b68706ac6bb69c501295b8f289"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t flexio_spi_master_handle_t::transferSize</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aeecd6ae001c1bbdfab21eb288f0ca8a9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t flexio_spi_master_handle_t::txRemainingBytes</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aee7be6e3dd2109f9d5374a1b2fb45ade"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile size_t flexio_spi_master_handle_t::rxRemainingBytes</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a25ee5785454882c9d0856f3a0fb8e23a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile uint32_t flexio_spi_master_handle_t::state</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8ab5ab2070ea63f0c52d1c6da2786459"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a> flexio_spi_master_handle_t::direction</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac4118ced7c959f43005a9b4cdc48786d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="group__flexio__spi.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a> flexio_spi_master_handle_t::callback</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a7d3fb8c3a3c3b23a1908c0bb70230166"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void* flexio_spi_master_handle_t::userData</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
</div>
</div>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gadd4392d8b86be4236270866fa214dcbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FSL_FLEXIO_SPI_DRIVER_VERSION&#160;&#160;&#160;(<a class="el" href="group__flash__driver.html#ga812138aa3315b0c6953c1a26130bcc37">MAKE_VERSION</a>(2, 1, 0))</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="gad411a43e379e70215b462831b24c5c5b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define FLEXIO_SPI_DUMMYDATA&#160;&#160;&#160;(0xFFFFU)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga1950678efd37cb3665e303e094cec428"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef flexio_spi_master_handle_t <a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="gac9f5b10ab474a8ef035d48bb8b3990db"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#gac9f5b10ab474a8ef035d48bb8b3990db">_flexio_spi_status</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac9f5b10ab474a8ef035d48bb8b3990dba9fd2c82e84cdc65b4c2d7c3d335bc4e1"></a>kStatus_FLEXIO_SPI_Busy</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI is busy. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggac9f5b10ab474a8ef035d48bb8b3990dba69ccc78c05f6f6ed17f4d48e20323ec8"></a>kStatus_FLEXIO_SPI_Idle</em>&nbsp;</td><td class="fielddoc">
<p>SPI is idle. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggac9f5b10ab474a8ef035d48bb8b3990dba4ae19baeae73d05d2dcf34dc4c54c6c4"></a>kStatus_FLEXIO_SPI_Error</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI error. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gac059394d6eabe169d3a1ee8a8b6f7edd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#gac059394d6eabe169d3a1ee8a8b6f7edd">flexio_spi_clock_phase_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggac059394d6eabe169d3a1ee8a8b6f7eddad07a920661cea5317982da4405bfd9e1"></a>kFLEXIO_SPI_ClockPhaseFirstEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the middle of the first cycle of a data transfer. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggac059394d6eabe169d3a1ee8a8b6f7edda9d85a76b5ce670c1d47e5f95f4a46e6c"></a>kFLEXIO_SPI_ClockPhaseSecondEdge</em>&nbsp;</td><td class="fielddoc">
<p>First edge on SPSCK occurs at the start of the first cycle of a data transfer. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga25594db149526d67b23d92724487e87f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga25594db149526d67b23d92724487e87fad6c96f26bda5bc22af19be1e7906f3f2"></a>kFLEXIO_SPI_MsbFirst</em>&nbsp;</td><td class="fielddoc">
<p>Data transfers start with most significant bit. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga25594db149526d67b23d92724487e87faa2a981323f199d9359c61d39cb059795"></a>kFLEXIO_SPI_LsbFirst</em>&nbsp;</td><td class="fielddoc">
<p>Data transfers start with least significant bit. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gae4e518a5b077982fca7b6bf1025c7aaf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#gae4e518a5b077982fca7b6bf1025c7aaf">flexio_spi_data_bitcount_mode_t</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggae4e518a5b077982fca7b6bf1025c7aafaef0c633539e44547b47ad7b754234752"></a>kFLEXIO_SPI_8BitMode</em>&nbsp;</td><td class="fielddoc">
<p>8-bit data transmission mode. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggae4e518a5b077982fca7b6bf1025c7aafa343c7a9db539019f0c99fb82b4adab35"></a>kFLEXIO_SPI_16BitMode</em>&nbsp;</td><td class="fielddoc">
<p>16-bit data transmission mode. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga239e9a0ff79e0d36ecf6ae7c68dfd357"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#ga239e9a0ff79e0d36ecf6ae7c68dfd357">_flexio_spi_interrupt_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga239e9a0ff79e0d36ecf6ae7c68dfd357a5243ceb746eebfdeef2ba2d791e32ff9"></a>kFLEXIO_SPI_TxEmptyInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty interrupt enable. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga239e9a0ff79e0d36ecf6ae7c68dfd357a3431c6c1875a70da30cba8b4185ad183"></a>kFLEXIO_SPI_RxFullInterruptEnable</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full interrupt enable. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga5dec706a17cf2b92ef701f684503d4b2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#ga5dec706a17cf2b92ef701f684503d4b2">_flexio_spi_status_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga5dec706a17cf2b92ef701f684503d4b2a80c0db2a058d82d018b2e8bc76f1aa6b"></a>kFLEXIO_SPI_TxBufferEmptyFlag</em>&nbsp;</td><td class="fielddoc">
<p>Transmit buffer empty flag. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga5dec706a17cf2b92ef701f684503d4b2aa679f6244353e98ace08ec5d0281851b"></a>kFLEXIO_SPI_RxBufferFullFlag</em>&nbsp;</td><td class="fielddoc">
<p>Receive buffer full flag. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="ga713aa7c7a59e84b9fdafb2923de177ef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#ga713aa7c7a59e84b9fdafb2923de177ef">_flexio_spi_dma_enable</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa4cdf95c3f7a1b9ae7931166a8abe1542"></a>kFLEXIO_SPI_TxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Tx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa002de6d16630e5d11d94b871da9a8fbd"></a>kFLEXIO_SPI_RxDmaEnable</em>&nbsp;</td><td class="fielddoc">
<p>Rx DMA request source. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga713aa7c7a59e84b9fdafb2923de177efa6b4ccfcf63573b0a3b281c32c4913f49"></a>kFLEXIO_SPI_DmaAllEnable</em>&nbsp;</td><td class="fielddoc">
<p>All DMA request source. </p>
</td></tr>
</table>
</div>
</div>
<a class="anchor" id="gabf4ebfbc0d68b969e1b7dd838c45512d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="group__flexio__spi.html#gabf4ebfbc0d68b969e1b7dd838c45512d">_flexio_spi_transfer_flags</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da7979c2a48d6662af1777827c1afa5537"></a>kFLEXIO_SPI_8bitMsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 8-bit MSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512da1d31a5996c45efebdc7aeb1a894647f8"></a>kFLEXIO_SPI_8bitLsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 8-bit LSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512dabeb4baa55114987385ab398ceda142f9"></a>kFLEXIO_SPI_16bitMsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 16-bit MSB first. </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggabf4ebfbc0d68b969e1b7dd838c45512dad6774d8673e5aa247be136e38c8fad91"></a>kFLEXIO_SPI_16bitLsb</em>&nbsp;</td><td class="fielddoc">
<p>FlexIO SPI 16-bit LSB first. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gacc68d67c46d897e6e9b2268c0fe999d2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> *&#160;</td>
<td class="paramname"><em>masterConfig</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClock_Hz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration structure can be filled by the user, or be set with default values by the <a class="el" href="group__flexio__spi.html#ga2d99f8a94f95262fc821b42e3812ee7e" title="Gets the default configuration to configure the FlexIO SPI master. ">FLEXIO_SPI_MasterGetDefaultConfig()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>FlexIO SPI master only support CPOL = 0, which means clock inactive low.</dd></dl>
<p>Example </p>
<div class="fragment"><div class="line"><a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> spiDev = {</div>
<div class="line">.<a class="code" href="group__flexio__spi.html#a6f884e3d820db0fa2c2974d9e8feaca1">flexioBase</a> = FLEXIO,</div>
<div class="line">.SDOPinIndex = 0,</div>
<div class="line">.SDIPinIndex = 1,</div>
<div class="line">.SCKPinIndex = 2,</div>
<div class="line">.CSnPinIndex = 3,</div>
<div class="line">.shifterIndex = {0,1},</div>
<div class="line">.timerIndex = {0,1}</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> config = {</div>
<div class="line">.<a class="code" href="group__flexio__i2c__master.html#a4dcbed2930b467df1978f9bf2b71c128">enableMaster</a> = <span class="keyword">true</span>,</div>
<div class="line">.enableInDoze = <span class="keyword">false</span>,</div>
<div class="line">.enableInDebug = <span class="keyword">true</span>,</div>
<div class="line">.enableFastAccess = <span class="keyword">false</span>,</div>
<div class="line">.baudRate_Bps = 500000,</div>
<div class="line">.phase = <a class="code" href="group__flexio__spi.html#ggac059394d6eabe169d3a1ee8a8b6f7eddad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a>,</div>
<div class="line">.direction = <a class="code" href="group__flexio__spi.html#gga25594db149526d67b23d92724487e87fad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a>,</div>
<div class="line">.dataMode = <a class="code" href="group__flexio__spi.html#ggae4e518a5b077982fca7b6bf1025c7aafaef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a></div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__flexio__spi.html#gacc68d67c46d897e6e9b2268c0fe999d2">FLEXIO_SPI_MasterInit</a>(&amp;spiDev, &amp;config, srcClock_Hz);</div>
</div><!-- fragment --><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">masterConfig</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t" title="Define FlexIO SPI master configuration structure. ">flexio_spi_master_config_t</a> structure. </td></tr>
<tr><td class="paramname">srcClock_Hz</td><td>FlexIO source clock in Hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae403f64c6c1268e5dfb62e0b20bd267c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterDeinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2d99f8a94f95262fc821b42e3812ee7e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterGetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> *&#160;</td>
<td class="paramname"><em>masterConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration can be used directly by calling the FLEXIO_SPI_MasterConfigure(). Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__flexio__spi.html#structflexio__spi__master__config__t">flexio_spi_master_config_t</a> masterConfig;</div>
<div class="line"><a class="code" href="group__flexio__spi.html#ga2d99f8a94f95262fc821b42e3812ee7e">FLEXIO_SPI_MasterGetDefaultConfig</a>(&amp;masterConfig);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">masterConfig</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structflexio__spi__master__config__t" title="Define FlexIO SPI master configuration structure. ">flexio_spi_master_config_t</a> structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae14521e2d88c63c34a51a31c726bac48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveInit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> *&#160;</td>
<td class="paramname"><em>slaveConfig</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration structure can be filled by the user, or be set with default values by the <a class="el" href="group__flexio__spi.html#gaa6979876d2c0b4f65deabd6f5ce16d41" title="Gets the default configuration to configure the FlexIO SPI slave. ">FLEXIO_SPI_SlaveGetDefaultConfig()</a>.</p>
<dl class="section note"><dt>Note</dt><dd>Only one timer is needed in the FlexIO SPI slave. As a result, the second timer index is ignored. FlexIO SPI slave only support CPOL = 0, which means clock inactive low. Example <div class="fragment"><div class="line"><a class="code" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> spiDev = {</div>
<div class="line">.<a class="code" href="group__flexio__spi.html#a6f884e3d820db0fa2c2974d9e8feaca1">flexioBase</a> = FLEXIO,</div>
<div class="line">.SDOPinIndex = 0,</div>
<div class="line">.SDIPinIndex = 1,</div>
<div class="line">.SCKPinIndex = 2,</div>
<div class="line">.CSnPinIndex = 3,</div>
<div class="line">.shifterIndex = {0,1},</div>
<div class="line">.timerIndex = {0}</div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> config = {</div>
<div class="line">.enableSlave = <span class="keyword">true</span>,</div>
<div class="line">.<a class="code" href="group__flexio__spi.html#ace1bcfad14f01d682d72126fe8977379">enableInDoze</a> = <span class="keyword">false</span>,</div>
<div class="line">.enableInDebug = <span class="keyword">true</span>,</div>
<div class="line">.enableFastAccess = <span class="keyword">false</span>,</div>
<div class="line">.phase = <a class="code" href="group__flexio__spi.html#ggac059394d6eabe169d3a1ee8a8b6f7eddad07a920661cea5317982da4405bfd9e1">kFLEXIO_SPI_ClockPhaseFirstEdge</a>,</div>
<div class="line">.direction = <a class="code" href="group__flexio__spi.html#gga25594db149526d67b23d92724487e87fad6c96f26bda5bc22af19be1e7906f3f2">kFLEXIO_SPI_MsbFirst</a>,</div>
<div class="line">.dataMode = <a class="code" href="group__flexio__spi.html#ggae4e518a5b077982fca7b6bf1025c7aafaef0c633539e44547b47ad7b754234752">kFLEXIO_SPI_8BitMode</a></div>
<div class="line">};</div>
<div class="line"><a class="code" href="group__flexio__spi.html#gae14521e2d88c63c34a51a31c726bac48">FLEXIO_SPI_SlaveInit</a>(&amp;spiDev, &amp;config);</div>
</div><!-- fragment --> </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">slaveConfig</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t" title="Define FlexIO SPI slave configuration structure. ">flexio_spi_slave_config_t</a> structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gab02c0d21cfe44e81a2668facccdc587c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveDeinit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa6979876d2c0b4f65deabd6f5ce16d41"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveGetDefaultConfig </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> *&#160;</td>
<td class="paramname"><em>slaveConfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>The configuration can be used directly for calling the FLEXIO_SPI_SlaveConfigure(). Example: </p>
<div class="fragment"><div class="line"><a class="code" href="group__flexio__spi.html#structflexio__spi__slave__config__t">flexio_spi_slave_config_t</a> slaveConfig;</div>
<div class="line"><a class="code" href="group__flexio__spi.html#gaa6979876d2c0b4f65deabd6f5ce16d41">FLEXIO_SPI_SlaveGetDefaultConfig</a>(&amp;slaveConfig);</div>
</div><!-- fragment --> <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">slaveConfig</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structflexio__spi__slave__config__t" title="Define FlexIO SPI slave configuration structure. ">flexio_spi_slave_config_t</a> structure. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1b709c34a5861a755ef2365eca4aef6d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32_t FLEXIO_SPI_GetStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>status flag; Use the status flag to AND the following flag mask and get the status. <ul>
<li>kFLEXIO_SPI_TxEmptyFlag </li>
<li>kFLEXIO_SPI_RxEmptyFlag </li>
</ul>
</dd></dl>
</div>
</div>
<a class="anchor" id="ga53311c201694351c61d5d56f2924d73e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_ClearStatusFlags </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">mask</td><td>status flag The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_TxEmptyFlag </li>
<li>kFLEXIO_SPI_RxEmptyFlag </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga877ffb51ccf9f5a2ecd5bd5a23f208c3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_EnableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables the FlexIO SPI interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source. The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_RxFullInterruptEnable </li>
<li>kFLEXIO_SPI_TxEmptyInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac765a8199e5d7c7546d2b31c06563638"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_DisableInterrupts </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function disables the FlexIO SPI interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">mask</td><td>interrupt source The parameter can be any combination of the following values: <ul>
<li>kFLEXIO_SPI_RxFullInterruptEnable </li>
<li>kFLEXIO_SPI_TxEmptyInterruptEnable </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga584eae5056ceeee0aea9ba9d5e2302ff"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_EnableDMA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>mask</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function enables/disables the FlexIO SPI Tx DMA, which means that asserting the kFLEXIO_SPI_TxEmptyFlag does/doesn't trigger the DMA request.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">mask</td><td>SPI DMA source. </td></tr>
<tr><td class="paramname">enable</td><td>True means enable DMA, false means disable DMA. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gac2629d5c8821fe5a2a3496b51dbc99f5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_SPI_GetTxDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the SPI data register address, which is mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO SPI transmit data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga061dcced42575767baf53f6b6e5da609"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint32_t FLEXIO_SPI_GetRxDataRegisterAddress </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>This function returns the SPI data register address, which is mainly used by DMA/eDMA.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FlexIO SPI receive data register address. </dd></dl>
</div>
</div>
<a class="anchor" id="ga68656f6d77e46b59e311e1a97f3b5878"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_SPI_Enable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enable</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a>. </td></tr>
<tr><td class="paramname">enable</td><td>True to enable, false to disable. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa9287322d22895ac0352db5fe0dd909e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterSetBaudRate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>baudRate_Bps</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>srcClockHz</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">baudRate_Bps</td><td>Baud Rate needed in Hz. </td></tr>
<tr><td class="paramname">srcClockHz</td><td>SPI source clock frequency in Hz. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga1eb1063ea3e7b0af749f899d86e85c42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_SPI_WriteData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>data</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This is a non-blocking API, which returns directly after the data is put into the data register but the data transfer is not finished on the bus. Ensure that the TxEmptyFlag is asserted before calling this API.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">data</td><td>8 bit/16 bit data. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaa36e294b6b74373a5466a3c69ecdbf18"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static uint16_t FLEXIO_SPI_ReadData </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This is a non-blocking API, which returns directly after the data is read from the data register. Ensure that the RxFullFlag is asserted before calling this API.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>8 bit/16 bit data received. </dd></dl>
</div>
</div>
<a class="anchor" id="gadeb6573f99e8ee11b9917683efbf8dd3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_WriteBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks using the polling method until all bytes have been sent.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">buffer</td><td>The data bytes to send. </td></tr>
<tr><td class="paramname">size</td><td>The number of data bytes to send. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga46eb22a1bcbdc6e7baff4b8a3abe70d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_ReadBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga25594db149526d67b23d92724487e87f">flexio_spi_shift_direction_t</a>&#160;</td>
<td class="paramname"><em>direction</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t *&#160;</td>
<td class="paramname"><em>buffer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>size</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks using the polling method until all bytes have been received.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
<tr><td class="paramname">buffer</td><td>The buffer to store the received bytes. </td></tr>
<tr><td class="paramname">size</td><td>The number of data bytes to be received. </td></tr>
<tr><td class="paramname">direction</td><td>Shift direction of MSB first or LSB first. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga2b95a00ceff7aec46bbe913f18fa27fd"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterTransferBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section note"><dt>Note</dt><dd>This function blocks via polling until all bytes have been received.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>pointer to <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure, see <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga0123f1825a83093ad07377d86f4e2bf1"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t FLEXIO_SPI_MasterTransferCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flexio_spi_master_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga9c8b509b90588dea1921de0bdb3cfec8">flexio_spi_master_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>The callback function. </td></tr>
<tr><td class="paramname">userData</td><td>The parameter of the callback function. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully create the handle. </td></tr>
<tr><td class="paramname">kStatus_OutOfRange</td><td>The FlexIO type/handle/ISR table out of range. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gabcfcbee985cb49bdbd02ab1698d2c041"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t FLEXIO_SPI_MasterTransferNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flexio_spi_master_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sends data using IRQ. This is a non-blocking function, which returns right away. When all data is sent out/received, the callback function is called.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure. See <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully start a transfer. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_SPI_Busy</td><td>SPI is not idle, is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga7ee4149cd9c0bab50f91eaf6322ccd45"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterTransferAbort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flexio_spi_master_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga5f8d610d6492109468d6a225ef01043d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t FLEXIO_SPI_MasterTransferGetCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">flexio_spi_master_handle_t *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>Number of bytes transferred so far by the non-blocking transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_InvalidArgument</td><td>count is Invalid. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Successfully return the count. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga39784af602890dbc1aff6d23b29b7e19"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_MasterTransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">spiType</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">spiHandle</td><td>Pointer to the flexio_spi_master_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga76d12767d4023268a3aa9cde5e072b29"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t FLEXIO_SPI_SlaveTransferCreateHandle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#gad2accadc980b51b0d65e41d122abe261">flexio_spi_slave_transfer_callback_t</a>&#160;</td>
<td class="paramname"><em>callback</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>userData</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">callback</td><td>The callback function. </td></tr>
<tr><td class="paramname">userData</td><td>The parameter of the callback function. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully create the handle. </td></tr>
<tr><td class="paramname">kStatus_OutOfRange</td><td>The FlexIO type/handle/ISR table out of range. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga9d1ef8b373c56f48d98612f5c3047f8c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">status_t FLEXIO_SPI_SlaveTransferNonBlocking </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t">flexio_spi_transfer_t</a> *&#160;</td>
<td class="paramname"><em>xfer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>This function sends data using IRQ. This is a non-blocking function, which returns right away. When all data is sent out/received, the callback function is called. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state.</td></tr>
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">xfer</td><td>FlexIO SPI transfer structure. See <a class="el" href="group__flexio__spi.html#structflexio__spi__transfer__t" title="Define FlexIO SPI transfer structure. ">flexio_spi_transfer_t</a>. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_Success</td><td>Successfully start a transfer. </td></tr>
<tr><td class="paramname">kStatus_InvalidArgument</td><td>Input argument is invalid. </td></tr>
<tr><td class="paramname">kStatus_FLEXIO_SPI_Busy</td><td>SPI is not idle; it is running another transfer. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ga34dea4bdd2c52597711068bed5c45958"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void FLEXIO_SPI_SlaveTransferAbort </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gae3354dda8f6fdce0f6a58b1933d56ee9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static status_t FLEXIO_SPI_SlaveTransferGetCount </td>
<td>(</td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type">FLEXIO_SPI_Type</a> *&#160;</td>
<td class="paramname"><em>base</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__flexio__spi.html#ga1950678efd37cb3665e303e094cec428">flexio_spi_slave_handle_t</a> *&#160;</td>
<td class="paramname"><em>handle</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t *&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">base</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">handle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
<tr><td class="paramname">count</td><td>Number of bytes transferred so far by the non-blocking transaction. </td></tr>
</table>
</dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
<table class="retval">
<tr><td class="paramname">kStatus_InvalidArgument</td><td>count is Invalid. </td></tr>
<tr><td class="paramname">kStatus_Success</td><td>Successfully return the count. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="gaf620bb7c2bf87c781f93f8a5f23c49d4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void FLEXIO_SPI_SlaveTransferHandleIRQ </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiType</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>spiHandle</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">spiType</td><td>Pointer to the <a class="el" href="group__flexio__spi.html#structFLEXIO__SPI__Type" title="Define FlexIO SPI access structure typedef. ">FLEXIO_SPI_Type</a> structure. </td></tr>
<tr><td class="paramname">spiHandle</td><td>Pointer to the flexio_spi_slave_handle_t structure to store the transfer state. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul class="foot">
<li class="footer">&copy; 2016 Freescale Semiconductor, Inc. All rights reserved.
</li>
</ul>
</div>
</body>
</html>