<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>