<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hi Viraj,</p>
<p>There is an old GRETH network driver as part of the old network
stack that would be a good reference.</p>
<p>Note that the old driver supports two IPs (GRETH 10/100, and
GRETH_GBIT 10/100/1000). The GRETH_GBIT IP is mostly backwards
compatible with the GRETH, but as some additional functionality to
off load the CPU with UDP/TCP check-summing, unaligned DMA, and
scatter-gather DMA for example. One approach could be to begin to
focus on the more capable GRETH_GBIT IP first, section 14:</p>
<p> <a class="moz-txt-link-freetext" href="https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf">https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf</a><br>
</p>
<p> or from the IP manual, section XX:<br>
</p>
<p> <a class="moz-txt-link-freetext" href="https://www.gaisler.com/products/grlib/grip.pdf">https://www.gaisler.com/products/grlib/grip.pdf</a></p>
<p>Please keep in mind that the GRETH driver will be used by both
SPARC/LEON3 BSP and RISC-V/NOEL-V BSP in the future.<br>
</p>
<p>It sounds as a good approach to look at the interface of the LWIP
stack towards the Network Device Driver, for example the DEC
driver to learn however the best would be if there is a MAC device
supported both by legacy stack and the LWIP? Simultaneously you
could study the GRETH_GBIT manual with register and DMA interface
and the old device driver source code?</p>
<p>If you have a ARTY A7-100T board you could use the RISC-V design
to get access to the GRETH IP easily get started with. The GRMON
eval version would also work together with it for a
hardware-debugger (no additional cost required) which you can
connect GDB for source debugging if you wish:</p>
<p>
<a class="moz-txt-link-freetext" href="https://www.gaisler.com/index.php/products/processors/noel-v-examples">https://www.gaisler.com/index.php/products/processors/noel-v-examples</a></p>
<p> <a class="moz-txt-link-freetext" href="https://www.gaisler.com/index.php/products/debug-tools/grmon3">https://www.gaisler.com/index.php/products/debug-tools/grmon3</a><br>
</p>
<p>Kind Regards,<br>
Daniel<br>
</p>
<p><br>
</p>
<div class="moz-signature">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<pre>
</pre>
</div>
<div class="moz-cite-prefix">On 2023-02-13 04:25, Viraj Jagadale
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAKmCeVw=kmE8QPawa4ijA9YFr9XKiwhM9RKjSr6bt3ou+aCg_g@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Dear Community,
<div>I am interested in contributing to RTEMS and will be
participating in GSoC 2023. I am interested in projects <a
href="https://devel.rtems.org/ticket/4595"
moz-do-not-send="true">#4595</a> and <a
href="https://devel.rtems.org/ticket/4596"
moz-do-not-send="true">#4596</a> because I am passionate
about networking. I'm currently concentrating solely on #4595.
I'm aware that I'll need to study and comprehend the lwip
stack documentation, as well as how the Ethernet protocol is
implemented and networking services are provided for
applications. Then I'll have to devise a strategy for
designing the driver architecture. I'm thinking about reading
the RTEMS Legacy Networking User Manual and understanding the
DEC 21140 example to get started. I'm not sure if this is the
right approach, and I'll need your advice. I am also willing
to help with existing bugs and documentation updates.</div>
<div><br>
</div>
<div>Regards,</div>
<div>Viraj Jagadale.</div>
</div>
</blockquote>
</body>
</html>