<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="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
pre
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</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 bgcolor=white lang=EN-US link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>David,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Could you send a system.mhs file from the
EDK project you&#8217;re using so I can get a bearing on what exactly you have
in the hardware? &nbsp;I didn&#8217;t think the LL TEMAC could be used without the
DMA engine (CDMAC), which is where the interrupts come from in the
Linux/VxWorks drivers I&#8217;ve seen for this core.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>-Rick<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='margin-left:.5in;text-align:center'><font
size=3 color=black face="Times New Roman"><span style='font-size:12.0pt;
color:windowtext'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal style='margin-left:.5in'><b><font size=2 color=black
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma;color:windowtext;
font-weight:bold'>From:</span></font></b><font size=2 color=black face=Tahoma><span
style='font-size:10.0pt;font-family:Tahoma;color:windowtext'> David H. Lynch
Jr. [mailto:dhlii@dlasys.net] <br>
<b><span style='font-weight:bold'>Sent:</span></b> Saturday, July 29, 2006 7:09
PM<br>
<b><span style='font-weight:bold'>To:</span></b> Rick Moleres<br>
<b><span style='font-weight:bold'>Cc:</span></b> linuxppc-embedded<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: Xilinx hard TEMAC</span></font><font
color=black><span style='color:windowtext'><o:p></o:p></span></font></p>

</div>

<p class=MsoNormal style='margin-left:.5in'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal style='margin-left:.5in'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'>Rick Moleres wrote: <o:p></o:p></span></font></p>

<pre style='margin-left:.5in' wrap=""><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>That is the correct distinction between &quot;soft&quot; and &quot;hard&quot;.&nbsp; Just know<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>that in this case the &quot;soft&quot; TEMAC (whether LL TEMAC or PLB TEMAC) uses<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>the &quot;hard&quot; TEMAC, and the &quot;hard&quot; TEMAC by itself is not that useful.<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp; <o:p></o:p></span></font></pre>

<p class=MsoNormal style='margin-left:.5in'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'>&nbsp;&nbsp;&nbsp; First,
thanks, your remarks have been enormously helpful.<br>
<br>
&nbsp;&nbsp;&nbsp; I have successfully put together a Driver for the TEMAC
currently used in the Pico E-12.<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; I am still having some difficulty corresponding this TEMAC
implimentation to any of Xilinx's documentation.<br>
&nbsp;&nbsp;&nbsp; It is Exactly the TEMAC supported by the Xilinx uCOSII Treck
Web Server application.<br>
&nbsp;&nbsp;&nbsp; It seems to be extremely minimal. Basically a DCR interface
for most things that closely matches the GSRD documents.<br>
&nbsp;&nbsp;&nbsp; and TX and RX FIFO's that I can't seem to find documented
anywhere, but I have working based on the Treck WebServer code.<br>
<br>
&nbsp;&nbsp;&nbsp; I am have two remaining problems and then I am done.<br>
&nbsp;&nbsp;&nbsp; <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; The first is I am currently doing polled I/O.
The transmits happen as they are requested and the receives are picked up ona a
timer interrupt.<br>
&nbsp;&nbsp;&nbsp; But I am dropping about 50% or more of the receives. I will
work that out myself eventually.<br>
<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; The second is that this driver will serve as
the basis for a driver in other Pico supported OS's. Some of which have no
means of doing Polled Receives.<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; And I can not get interrupts working. Since my
hardware does nto match anything perfectly - except that Treck Webserver
application and that does not do interrupts.<br>
&nbsp;&nbsp;&nbsp; I am reading all the Xilinx TEMAC Documents and the GSRD
documents reference an IRENABLE register and an IRSTATUS register, I cobbled
something together <br>
&nbsp;&nbsp;&nbsp; assuming that they were access much as the other DCR
registers in that block and I assumed the bits in IRSTATUS and IRENABLE matched
the definitions of those <br>
&nbsp;&nbsp;&nbsp; in larger TEMAC implimentations. It appeared after I enabled
TX and RX complete interrupts that when I have received data available the
IRSTATUS register has the <br>
&nbsp;&nbsp;&nbsp; Bit set for an Rx interrupt. All fine - except that no
interrupt actually occurs.<br>
&nbsp;&nbsp;&nbsp; I can force interrupts from the PHY using the same IRQ so
the IRQ is connected correctly and programmed correctly. Other TEMAC
implimentations seem to have a GIE - Global Interrupt enable<br>
&nbsp;&nbsp;&nbsp; Bit, but I do not have a clue where to look here. What I
could get out of the Xilinx Webset GSRD seems to be a Linux driver that uses
the DMA unit and that generates its own interrupts.<br>
&nbsp;&nbsp;&nbsp; I don't think I have the DMA in my bit image.<br>
<br>
&nbsp;&nbsp;&nbsp; Anyway any clues as to where I can find some useful docs on
Interrupt handling for the LL_TEMAC that is used by the uCOSII WebServer
application ?<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<o:p></o:p></span></font></p>

<pre style='margin-left:.5in' wrap=""><font size=2 color=black
face="Courier New"><span style='font-size:10.0pt'>Thereis a Linux driver for the LL_TEMAC that comes with GSRD, but my<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp; <o:p></o:p></span></font></pre><pre
style='margin-left:.5in' wrap=""><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>group's efforts go toward the PLB_TEMAC as that is the EDK IP we want to<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp; <o:p></o:p></span></font></pre><pre
style='margin-left:.5in' wrap=""><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>promote and whose drivers we'd like to see in kernel.org.<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>You should be able to go to <a
href="http://www.xilinx.com/gsrd">http://www.xilinx.com/gsrd</a> to get the GSRD<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>design, and inside of that design somewhere you'll find a Linux 2.4<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>driver for the LL TEMAC.<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp; <o:p></o:p></span></font></pre><pre
style='margin-left:.5in' wrap=""><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>_______________________________________________<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Linuxppc-embedded mailing list<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><a href="mailto:Linuxppc-embedded@ozlabs.org">Linuxppc-embedded@ozlabs.org</a><o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><a
href="https://ozlabs.org/mailman/listinfo/linuxppc-embedded">https://ozlabs.org/mailman/listinfo/linuxppc-embedded</a><o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&nbsp; <o:p></o:p></span></font></pre>

<p class=MsoNormal style='margin-left:.5in'><font size=3 color=black
face="Times New Roman"><span style='font-size:12.0pt'><br>
<br>
<br>
<o:p></o:p></span></font></p>

<pre style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>-- <o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Dave Lynch &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;DLA Systems<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Software Development:&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Embedded Linux<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>717.627.3770 &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a
href="mailto:dhlii@dlasys.net">dhlii@dlasys.net</a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<a
href="http://www.dlasys.net">http://www.dlasys.net</a><o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>fax: 1.253.369.9244 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cell: 1.717.587.7774<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Over 25 years' experience in platforms, languages, and technologies too numerous to list.<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'><o:p>&nbsp;</o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>&quot;Any intelligent fool can make things bigger and more complex... It takes a touch of genius - and a lot of courage to move in the opposite direction.&quot;<o:p></o:p></span></font></pre><pre
style='margin-left:.5in'><font size=2 color=black face="Courier New"><span
style='font-size:10.0pt'>Albert Einstein<o:p></o:p></span></font></pre></div>

</body>

</html>