<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Vorformatiert Zchn";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLVorformatiertZchn
{mso-style-name:"HTML Vorformatiert Zchn";
mso-style-priority:99;
mso-style-link:"HTML Vorformatiert";
font-family:Consolas;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.E-MailFormatvorlage20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Hi Viraj,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">We ported the driver for greth to rtems-libbsd in the past but never got to submit it (</span><span lang="EN-US">it might need some further refinement</span><span lang="EN-US" style="mso-fareast-language:EN-US">).
The driver depends on the driver manager (drvmgr). Not sure if this is the best approach but it is a good starting point and we’d be happy to share it.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Best regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US">Gabriel<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>Von:</b> devel <devel-bounces@rtems.org> <b>Im Auftrag von
</b>Daniel Hellstrom<br>
<b>Gesendet:</b> Montag, 20. <span lang="EN-US">Februar 2023 15:59<br>
<b>An:</b> Viraj Jagadale <virajjagadale123@gmail.com>; devel@rtems.org<br>
<b>Cc:</b> kinsey.moore@rtems.org; andrei@chichak.ca<br>
<b>Betreff:</b> Re: Project Discussion for GSoC 2023<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p><span lang="EN-US">Hi Viraj,<o:p></o:p></span></p>
<p><span lang="EN-US">There is an old GRETH network driver as part of the old network stack that would be a good reference.<o:p></o:p></span></p>
<p><span lang="EN-US">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:<o:p></o:p></span></p>
<p><span lang="EN-US"> </span><a href="https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf"><span lang="EN-US">https://www.gaisler.com/doc/gr740/GR740-UM-DS-2-5.pdf</span></a><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US"> or from the IP manual, section XX:<o:p></o:p></span></p>
<p><span lang="EN-US"> </span><a href="https://www.gaisler.com/products/grlib/grip.pdf"><span lang="EN-US">https://www.gaisler.com/products/grlib/grip.pdf</span></a><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US">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.<o:p></o:p></span></p>
<p><span lang="EN-US">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?<o:p></o:p></span></p>
<p><span lang="EN-US">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:<o:p></o:p></span></p>
<p><span lang="EN-US"> </span><a href="https://www.gaisler.com/index.php/products/processors/noel-v-examples"><span lang="EN-US">https://www.gaisler.com/index.php/products/processors/noel-v-examples</span></a><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US"> </span><a href="https://www.gaisler.com/index.php/products/debug-tools/grmon3"><span lang="EN-US">https://www.gaisler.com/index.php/products/debug-tools/grmon3</span></a><span lang="EN-US"><o:p></o:p></span></p>
<p><span lang="EN-US">Kind Regards,<br>
Daniel<o:p></o:p></span></p>
<p><span lang="EN-US"><o:p> </o:p></span></p>
<div>
<pre><span lang="EN-US"><o:p> </o:p></span></pre>
<pre><span lang="EN-US"> <o:p></o:p></span></pre>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">On 2023-02-13 04:25, Viraj Jagadale wrote:<o:p></o:p></span></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><span lang="EN-US">Dear Community, <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span lang="EN-US">I am interested in contributing to RTEMS and will be participating in GSoC 2023. I am interested in projects </span><a href="https://devel.rtems.org/ticket/4595"><span lang="EN-US">#4595</span></a><span lang="EN-US">
and </span><a href="https://devel.rtems.org/ticket/4596"><span lang="EN-US">#4596</span></a><span lang="EN-US"> 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.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal">Regards,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Viraj Jagadale.<o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
</body>
</html>