Files
test/doc/Doxygen/html/sdrv__eth_8h.html
2025-11-07 20:19:23 +08:00

698 lines
34 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>SemiDrive SSDK Appication Program Interface: Z:/01-Code/06-SSDK-DEV-Firewall/ssdk/drivers/include/sdrv_eth.h File Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.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 id="projectrow">
<td id="projectalign">
<div id="projectname">SemiDrive SSDK Appication Program Interface<span id="projectnumber">&#160;PTG3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_14bc92f4b96c8519b376567118ac28b3.html">drivers</a></li><li class="navelem"><a class="el" href="dir_ee023d43c33bfccc31aa50a48a76892b.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">sdrv_eth.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
<code>#include &lt;stdbool.h&gt;</code><br />
<code>#include &quot;<a class="el" href="sdrv__ckgen_8h_source.html">sdrv_ckgen.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="sdrv__rstgen_8h_source.html">sdrv_rstgen.h</a>&quot;</code><br />
<code>#include &quot;netdev.h&quot;</code><br />
<code>#include &quot;../source/eth/sdrv_mac_lld.h&quot;</code><br />
<code>#include &quot;../source/eth/phy/phy.h&quot;</code><br />
</div>
<p><a href="sdrv__eth_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeqos__desc.html">eqos_desc</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdwc__eth__config__t.html">dwc_eth_config_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structeqos__priv.html">eqos_priv</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structdwc__eth__dev.html">dwc_eth_dev</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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ae5f4ca6a3140829379d34d150838bbb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__eth_8h.html#ae5f4ca6a3140829379d34d150838bbb3">dwc_eth_enable_dma_rx_int</a> (struct net_driver_s *dev, <a class="el" href="sdrv__eth_8h.html#a4e1988da1f0a326929b8205add0acaf9">dma_rx_int_cb_t</a> callback)</td></tr>
<tr class="separator:ae5f4ca6a3140829379d34d150838bbb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fc32ab358f04eaf2e0d2105e0e4fb49"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__eth_8h.html#a3fc32ab358f04eaf2e0d2105e0e4fb49">dwc_eth_rx</a> (struct net_driver_s *dev, bool pool)</td></tr>
<tr class="separator:a3fc32ab358f04eaf2e0d2105e0e4fb49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a24017f47b73d666b4be8112a5b8db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sdrv__eth_8h.html#a72a24017f47b73d666b4be8112a5b8db">dwc_eth_probe</a> (struct net_driver_s *dev, <a class="el" href="structdwc__eth__config__t.html">dwc_eth_config_t</a> *cfg)</td></tr>
<tr class="separator:a72a24017f47b73d666b4be8112a5b8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="section copyright"><dt>Copyright</dt><dd>Copyright (c) 2021 Semidrive Semiconductor. All rights reserved.</dd></dl>
<h2><a class="anchor" id="autotoc_md5"></a>
Revision History:</h2>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a0dbc93d21484800787343ffedb331ba1" name="a0dbc93d21484800787343ffedb331ba1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0dbc93d21484800787343ffedb331ba1">&#9670;&nbsp;</a></span>ARCH_DMA_MINALIGN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ARCH_DMA_MINALIGN&#160;&#160;&#160;<a class="el" href="sdrv__mmc__sdhci_8h.html#a24d49e5ebe2d27dc86b3c22eb1a8245d">CONFIG_ARCH_CACHE_LINE</a> /* Should be cache line aligned */</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac201daca3dcd2c099f319ec0f01c8874" name="ac201daca3dcd2c099f319ec0f01c8874"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac201daca3dcd2c099f319ec0f01c8874">&#9670;&nbsp;</a></span>CONFIG_ETH_RX_DESCRIPTOR_NUM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CONFIG_ETH_RX_DESCRIPTOR_NUM&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4dd4f54538d0f6f2987380ab6baa79d7" name="a4dd4f54538d0f6f2987380ab6baa79d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4dd4f54538d0f6f2987380ab6baa79d7">&#9670;&nbsp;</a></span>CONFIG_ETH_TX_DESCRIPTOR_NUM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define CONFIG_ETH_TX_DESCRIPTOR_NUM&#160;&#160;&#160;32</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aacd275de5451d47623afad91ae2e8d19" name="aacd275de5451d47623afad91ae2e8d19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aacd275de5451d47623afad91ae2e8d19">&#9670;&nbsp;</a></span>EQOS_BUFFER_ALIGN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_BUFFER_ALIGN&#160;&#160;&#160;<a class="el" href="sdrv__eth_8h.html#a0dbc93d21484800787343ffedb331ba1">ARCH_DMA_MINALIGN</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a0def23ee043bdb30832d7f98f7d8e59a" name="a0def23ee043bdb30832d7f98f7d8e59a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0def23ee043bdb30832d7f98f7d8e59a">&#9670;&nbsp;</a></span>EQOS_DESC3_BUF1V</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESC3_BUF1V&#160;&#160;&#160;<a class="el" href="sdrv__spi__nor_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17">BIT</a>(24)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a25500838b6b8d0e74e2465a50db7e8bb" name="a25500838b6b8d0e74e2465a50db7e8bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25500838b6b8d0e74e2465a50db7e8bb">&#9670;&nbsp;</a></span>EQOS_DESC3_FD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESC3_FD&#160;&#160;&#160;<a class="el" href="sdrv__spi__nor_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17">BIT</a>(29)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac955d8a5df342b12d123bce211c4d2cf" name="ac955d8a5df342b12d123bce211c4d2cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac955d8a5df342b12d123bce211c4d2cf">&#9670;&nbsp;</a></span>EQOS_DESC3_IOC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESC3_IOC&#160;&#160;&#160;<a class="el" href="sdrv__spi__nor_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17">BIT</a>(30)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a48524397c08affbcaa638bde827090d4" name="a48524397c08affbcaa638bde827090d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48524397c08affbcaa638bde827090d4">&#9670;&nbsp;</a></span>EQOS_DESC3_LD</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESC3_LD&#160;&#160;&#160;<a class="el" href="sdrv__spi__nor_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17">BIT</a>(28)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a6ca69d8cccfcf436d07543ec97a3b365" name="a6ca69d8cccfcf436d07543ec97a3b365"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ca69d8cccfcf436d07543ec97a3b365">&#9670;&nbsp;</a></span>EQOS_DESC3_OWN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESC3_OWN&#160;&#160;&#160;<a class="el" href="sdrv__spi__nor_8h.html#a4eaf4bf81c52c3f375967906e4d5ba17">BIT</a>(31)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a13a3498eb3a25bde0824bc71a2dce480" name="a13a3498eb3a25bde0824bc71a2dce480"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13a3498eb3a25bde0824bc71a2dce480">&#9670;&nbsp;</a></span>EQOS_DESCRIPTOR_ALIGN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESCRIPTOR_ALIGN&#160;&#160;&#160;<a class="el" href="sdrv__eth_8h.html#a0dbc93d21484800787343ffedb331ba1">ARCH_DMA_MINALIGN</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="abe201d0ed563e7c7041206a5c942f525" name="abe201d0ed563e7c7041206a5c942f525"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe201d0ed563e7c7041206a5c942f525">&#9670;&nbsp;</a></span>EQOS_DESCRIPTORS_NUM</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESCRIPTORS_NUM&#160;&#160;&#160;(<a class="el" href="sdrv__eth_8h.html#a1a73207d76d3a30e2a92ed73f433e71f">EQOS_DESCRIPTORS_TX</a> + <a class="el" href="sdrv__eth_8h.html#a44fb06668a4c5fb46207bd64631f2bc2">EQOS_DESCRIPTORS_RX</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a44fb06668a4c5fb46207bd64631f2bc2" name="a44fb06668a4c5fb46207bd64631f2bc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44fb06668a4c5fb46207bd64631f2bc2">&#9670;&nbsp;</a></span>EQOS_DESCRIPTORS_RX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESCRIPTORS_RX&#160;&#160;&#160;<a class="el" href="sdrv__eth_8h.html#ac201daca3dcd2c099f319ec0f01c8874">CONFIG_ETH_RX_DESCRIPTOR_NUM</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a1a73207d76d3a30e2a92ed73f433e71f" name="a1a73207d76d3a30e2a92ed73f433e71f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a73207d76d3a30e2a92ed73f433e71f">&#9670;&nbsp;</a></span>EQOS_DESCRIPTORS_TX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_DESCRIPTORS_TX&#160;&#160;&#160;<a class="el" href="sdrv__eth_8h.html#a4dd4f54538d0f6f2987380ab6baa79d7">CONFIG_ETH_TX_DESCRIPTOR_NUM</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="acad27b6af83e55143d04febcdfd0184f" name="acad27b6af83e55143d04febcdfd0184f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acad27b6af83e55143d04febcdfd0184f">&#9670;&nbsp;</a></span>EQOS_MAX_PACKET_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_MAX_PACKET_SIZE&#160;&#160;&#160;ALIGN(1568, <a class="el" href="sdrv__eth_8h.html#a0dbc93d21484800787343ffedb331ba1">ARCH_DMA_MINALIGN</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ab3d4df8d0b6835bcd24b3c0f4023b602" name="ab3d4df8d0b6835bcd24b3c0f4023b602"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3d4df8d0b6835bcd24b3c0f4023b602">&#9670;&nbsp;</a></span>EQOS_RX_BUFFER_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_RX_BUFFER_SIZE&#160;&#160;&#160;(<a class="el" href="sdrv__eth_8h.html#a44fb06668a4c5fb46207bd64631f2bc2">EQOS_DESCRIPTORS_RX</a> * <a class="el" href="sdrv__eth_8h.html#acad27b6af83e55143d04febcdfd0184f">EQOS_MAX_PACKET_SIZE</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac65931c867e1c7460fafd1bca472a2cb" name="ac65931c867e1c7460fafd1bca472a2cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac65931c867e1c7460fafd1bca472a2cb">&#9670;&nbsp;</a></span>EQOS_RX_LOCK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_RX_LOCK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eqos</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a382e468443141990f821e7a1fccaf8f5" name="a382e468443141990f821e7a1fccaf8f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a382e468443141990f821e7a1fccaf8f5">&#9670;&nbsp;</a></span>EQOS_RX_UNLOCK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_RX_UNLOCK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eqos</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="aa24049ee0623ab32060010d5d260d696" name="aa24049ee0623ab32060010d5d260d696"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa24049ee0623ab32060010d5d260d696">&#9670;&nbsp;</a></span>EQOS_TX_BUFFER_SIZE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_TX_BUFFER_SIZE&#160;&#160;&#160;(<a class="el" href="sdrv__eth_8h.html#a1a73207d76d3a30e2a92ed73f433e71f">EQOS_DESCRIPTORS_TX</a> * <a class="el" href="sdrv__eth_8h.html#acad27b6af83e55143d04febcdfd0184f">EQOS_MAX_PACKET_SIZE</a>)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ac9f75e31c74c9405683095c37149b0ed" name="ac9f75e31c74c9405683095c37149b0ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9f75e31c74c9405683095c37149b0ed">&#9670;&nbsp;</a></span>EQOS_TX_LOCK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_TX_LOCK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eqos</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a570bd0939b2e13a49217be8cae9358fd" name="a570bd0939b2e13a49217be8cae9358fd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a570bd0939b2e13a49217be8cae9358fd">&#9670;&nbsp;</a></span>EQOS_TX_UNLOCK</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EQOS_TX_UNLOCK</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">eqos</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a4e1988da1f0a326929b8205add0acaf9" name="a4e1988da1f0a326929b8205add0acaf9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e1988da1f0a326929b8205add0acaf9">&#9670;&nbsp;</a></span>dma_rx_int_cb_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void(* dma_rx_int_cb_t) (struct net_driver_s *dev)</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="ad0248b3e36ba87de27bc8115dc9e0a58" name="ad0248b3e36ba87de27bc8115dc9e0a58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0248b3e36ba87de27bc8115dc9e0a58">&#9670;&nbsp;</a></span>dwc_eth_dev_t</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef struct <a class="el" href="structdwc__eth__dev.html">dwc_eth_dev</a> <a class="el" href="sdrv__eth_8h.html#ad0248b3e36ba87de27bc8115dc9e0a58">dwc_eth_dev_t</a></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a451cf42e65004d9c30c0d110f1ada2dd" name="a451cf42e65004d9c30c0d110f1ada2dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a451cf42e65004d9c30c0d110f1ada2dd">&#9670;&nbsp;</a></span>eth_filter_action_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#a451cf42e65004d9c30c0d110f1ada2dd">eth_filter_action_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a451cf42e65004d9c30c0d110f1ada2dda1a8eb53d3a166b5af49abccf54e8c822" name="a451cf42e65004d9c30c0d110f1ada2dda1a8eb53d3a166b5af49abccf54e8c822"></a>ETH_ADD_TO_FILTER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a451cf42e65004d9c30c0d110f1ada2dda697f28d30dafe540e192651365f64b87" name="a451cf42e65004d9c30c0d110f1ada2dda697f28d30dafe540e192651365f64b87"></a>ETH_REMOVE_FROM_FILTER&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="aa0f24e0f0b09bf52b89e4b282ed3015c" name="aa0f24e0f0b09bf52b89e4b282ed3015c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0f24e0f0b09bf52b89e4b282ed3015c">&#9670;&nbsp;</a></span>eth_idx_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#aa0f24e0f0b09bf52b89e4b282ed3015c">eth_idx_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa0f24e0f0b09bf52b89e4b282ed3015ca0f6338d7c409519745154a50df8327ec" name="aa0f24e0f0b09bf52b89e4b282ed3015ca0f6338d7c409519745154a50df8327ec"></a>ETHERNET1_IDX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa0f24e0f0b09bf52b89e4b282ed3015ca4d553b81c7c4976392a05b82b8c2f436" name="aa0f24e0f0b09bf52b89e4b282ed3015ca4d553b81c7c4976392a05b82b8c2f436"></a>ETHERNET2_IDX&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a1dd85ab82144792e315de3664584fd17" name="a1dd85ab82144792e315de3664584fd17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1dd85ab82144792e315de3664584fd17">&#9670;&nbsp;</a></span>eth_mac_layer_speed_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#a1dd85ab82144792e315de3664584fd17">eth_mac_layer_speed_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a1dd85ab82144792e315de3664584fd17ae513a23150d09a001ec04f903b0e48b4" name="a1dd85ab82144792e315de3664584fd17ae513a23150d09a001ec04f903b0e48b4"></a>ETH_MAC_LAYER_SPEED_100M&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a1dd85ab82144792e315de3664584fd17a53cebcb0f072457b9bebdaa2eee97b34" name="a1dd85ab82144792e315de3664584fd17a53cebcb0f072457b9bebdaa2eee97b34"></a>ETH_MAC_LAYER_SPEED_10G&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a1dd85ab82144792e315de3664584fd17ab5dac3fe8bfd7a6d90607127ee578297" name="a1dd85ab82144792e315de3664584fd17ab5dac3fe8bfd7a6d90607127ee578297"></a>ETH_MAC_LAYER_SPEED_10M&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a1dd85ab82144792e315de3664584fd17a44f47c1819c177070c3334b7f84713ec" name="a1dd85ab82144792e315de3664584fd17a44f47c1819c177070c3334b7f84713ec"></a>ETH_MAC_LAYER_SPEED_1G&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a4543dc9ba5acc411c8d1acc09c982da6" name="a4543dc9ba5acc411c8d1acc09c982da6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4543dc9ba5acc411c8d1acc09c982da6">&#9670;&nbsp;</a></span>eth_mac_layer_sub_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#a4543dc9ba5acc411c8d1acc09c982da6">eth_mac_layer_sub_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6af917d6c11c85b4ac32e30d1cc9da25eb" name="a4543dc9ba5acc411c8d1acc09c982da6af917d6c11c85b4ac32e30d1cc9da25eb"></a>LIGHT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6aa2f7265da3b5a67a399692661411e9b4" name="a4543dc9ba5acc411c8d1acc09c982da6aa2f7265da3b5a67a399692661411e9b4"></a>REDUCED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6a798fbc724ee0215f5da0754ef66b5bcb" name="a4543dc9ba5acc411c8d1acc09c982da6a798fbc724ee0215f5da0754ef66b5bcb"></a>REVERSED&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6ab110642f01505447ed49cf2d49fbf0a2" name="a4543dc9ba5acc411c8d1acc09c982da6ab110642f01505447ed49cf2d49fbf0a2"></a>SERIAL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6a9de934790934fe831fe946c851e8338e" name="a4543dc9ba5acc411c8d1acc09c982da6a9de934790934fe831fe946c851e8338e"></a>STANDARD&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a4543dc9ba5acc411c8d1acc09c982da6ab2fffd0a1990f94c57ca02aba9d9c91b" name="a4543dc9ba5acc411c8d1acc09c982da6ab2fffd0a1990f94c57ca02aba9d9c91b"></a>UNIVERSAL_SERIAL&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="aa07c493f43163fcc2089b2b8c7b68be5" name="aa07c493f43163fcc2089b2b8c7b68be5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa07c493f43163fcc2089b2b8c7b68be5">&#9670;&nbsp;</a></span>eth_mac_layer_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#aa07c493f43163fcc2089b2b8c7b68be5">eth_mac_layer_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa07c493f43163fcc2089b2b8c7b68be5af45e4d5c137cf9d0bdd9afc96a191c7e" name="aa07c493f43163fcc2089b2b8c7b68be5af45e4d5c137cf9d0bdd9afc96a191c7e"></a>ETH_MAC_LAYER_TYPE_XGMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa07c493f43163fcc2089b2b8c7b68be5a217f56d8e176954d527997c3c37e99ca" name="aa07c493f43163fcc2089b2b8c7b68be5a217f56d8e176954d527997c3c37e99ca"></a>ETH_MAC_LAYER_TYPE_XMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aa07c493f43163fcc2089b2b8c7b68be5aeaf101b93240410edcd6eb4d8bab3ba0" name="aa07c493f43163fcc2089b2b8c7b68be5aeaf101b93240410edcd6eb4d8bab3ba0"></a>ETH_MAC_LAYER_TYPE_XXGMII&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a3aa5dd5614fcbe3aff5ea39c83ed52a0" name="a3aa5dd5614fcbe3aff5ea39c83ed52a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3aa5dd5614fcbe3aff5ea39c83ed52a0">&#9670;&nbsp;</a></span>eth_mode_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#a3aa5dd5614fcbe3aff5ea39c83ed52a0">eth_mode_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3aa5dd5614fcbe3aff5ea39c83ed52a0a2c7ebe365a982b2625a6c10fdb05f1b1" name="a3aa5dd5614fcbe3aff5ea39c83ed52a0a2c7ebe365a982b2625a6c10fdb05f1b1"></a>ETH_MODE_DOWN&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3aa5dd5614fcbe3aff5ea39c83ed52a0ada5d35ea69a30dedd61c77a1af93fbd6" name="a3aa5dd5614fcbe3aff5ea39c83ed52a0ada5d35ea69a30dedd61c77a1af93fbd6"></a>ETH_MODE_ACTIVE&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<a id="a3dbae9bd197efde3afdc5696bee0cc62" name="a3dbae9bd197efde3afdc5696bee0cc62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3dbae9bd197efde3afdc5696bee0cc62">&#9670;&nbsp;</a></span>eth_phy_intf_mode_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="sdrv__eth_8h.html#a3dbae9bd197efde3afdc5696bee0cc62">eth_phy_intf_mode_type</a></td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62af9fe41a223e0afecb676d9d1dde9ce75" name="a3dbae9bd197efde3afdc5696bee0cc62af9fe41a223e0afecb676d9d1dde9ce75"></a>ETH_PHY_INTF_SEL_GMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62ab0720adc1cff5444c6ae6a8c1e418058" name="a3dbae9bd197efde3afdc5696bee0cc62ab0720adc1cff5444c6ae6a8c1e418058"></a>ETH_PHY_INTF_SEL_RGMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62a0a3216c097c02d2a552956463da1c94e" name="a3dbae9bd197efde3afdc5696bee0cc62a0a3216c097c02d2a552956463da1c94e"></a>ETH_PHY_INTF_SEL_SGMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62abfb668502881996f491140f625749929" name="a3dbae9bd197efde3afdc5696bee0cc62abfb668502881996f491140f625749929"></a>ETH_PHY_INTF_SEL_TBI&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62a2b7b6849900d6b2bff02d318a971d560" name="a3dbae9bd197efde3afdc5696bee0cc62a2b7b6849900d6b2bff02d318a971d560"></a>ETH_PHY_INTF_SEL_RMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62a8330213a75aac3a0e2ae306adefc3d46" name="a3dbae9bd197efde3afdc5696bee0cc62a8330213a75aac3a0e2ae306adefc3d46"></a>ETH_PHY_INTF_SEL_RTBI&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62a7db0bda0e2d1fd84443e27964c995abb" name="a3dbae9bd197efde3afdc5696bee0cc62a7db0bda0e2d1fd84443e27964c995abb"></a>ETH_PHY_INTF_SEL_SMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62ae8ee5c7e16d4cc60c48b840645798fe6" name="a3dbae9bd197efde3afdc5696bee0cc62ae8ee5c7e16d4cc60c48b840645798fe6"></a>ETH_PHY_INTF_SEL_REVMII&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a3dbae9bd197efde3afdc5696bee0cc62ae71000d4a8c6872f81c3832bda115db8" name="a3dbae9bd197efde3afdc5696bee0cc62ae71000d4a8c6872f81c3832bda115db8"></a>ETH_PHY_INTF_SEL_MII&#160;</td><td class="fielddoc"></td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ae5f4ca6a3140829379d34d150838bbb3" name="ae5f4ca6a3140829379d34d150838bbb3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5f4ca6a3140829379d34d150838bbb3">&#9670;&nbsp;</a></span>dwc_eth_enable_dma_rx_int()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dwc_eth_enable_dma_rx_int </td>
<td>(</td>
<td class="paramtype">struct net_driver_s *&#160;</td>
<td class="paramname"><em>dev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="sdrv__eth_8h.html#a4e1988da1f0a326929b8205add0acaf9">dma_rx_int_cb_t</a>&#160;</td>
<td class="paramname"><em>callback</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable rx interrupt. </p>
<p >When receive is completed, callback will be executed.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>eth device. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>receive complete callback. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a72a24017f47b73d666b4be8112a5b8db" name="a72a24017f47b73d666b4be8112a5b8db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72a24017f47b73d666b4be8112a5b8db">&#9670;&nbsp;</a></span>dwc_eth_probe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int dwc_eth_probe </td>
<td>(</td>
<td class="paramtype">struct net_driver_s *&#160;</td>
<td class="paramname"><em>dev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structdwc__eth__config__t.html">dwc_eth_config_t</a> *&#160;</td>
<td class="paramname"><em>cfg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes net driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>eth device. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">cfg</td><td>Configuration of ethernet. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int return ERR_OK if initialization can be completed. </dd></dl>
</div>
</div>
<a id="a3fc32ab358f04eaf2e0d2105e0e4fb49" name="a3fc32ab358f04eaf2e0d2105e0e4fb49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3fc32ab358f04eaf2e0d2105e0e4fb49">&#9670;&nbsp;</a></span>dwc_eth_rx()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int dwc_eth_rx </td>
<td>(</td>
<td class="paramtype">struct net_driver_s *&#160;</td>
<td class="paramname"><em>dev</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>pool</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>try to read rx packet and send the packet to lwip stack. Should be called in thread context. If enable DMA rx interrupt, i.e. poll is false, this function should be called after DMA rx interrupt triggered. DMA rx interrupt will be disabled in ISR, and re-enabled in this function after reading out all rx packets, this is helpful to avoid too much rx interrupt. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>eth device </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">poll</td><td>true for polling read, false for interrupt read </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>int total length of rx packets or -1 if rx nothing </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>