[evla-sw-discuss] tc11ib enet driver: progress but not there yet

Bill Sahr bsahr at cv3.cv.nrao.edu
Thu Sep 19 16:02:24 EDT 2002


The following is an exchange between Greg Sandy of Accelerated 
Technology & Mike Copeland of Infineon.  As you can see, some
progress has been made, but it's not soup yet.

At least AT & Infineon are now talking with one another.

Bill

-------- Original Message --------
Subject: RE: tc11ib MAC controller
Date: Thu, 19 Sep 2002 14:34:08 -0500
From: "Sandy, Greg" <greg_sandy at mentorg.com>
To: "'Mike.Copeland at infineon.com'"
<Mike.Copeland at infineon.com>,"'bsahr at cv3.cv.nrao.edu'"
<bsahr at cv3.cv.nrao.edu>
CC: "Hardin, Larry" <larry_hardin at mentorg.com>

Mike,
Thanks for the code snippet.  We where able to see some regs being set up
that were not detailed in the documentation for the enet controller, and
now
we can transmit.  The problem that we see now, is that once we set the hold
bit in the descriptors to halt transmission, it will never resume
transmission.

We handle the interrupt just as your sample code does, but will not let us
transmit agian.

That demo code you sent would not show this problem, as it sets up 3
descriptors to transmit, and then holds.  It doesn't resume transmission.

Could you ask them one question for me..... how to get the transmitter to
come off of "hold" for us?

thanks again
greg





-----Original Message-----
From: Mike.Copeland at infineon.com [mailto:Mike.Copeland at infineon.com]
Sent: Wednesday, September 18, 2002 9:45 AM
To: Sandy, Greg
Subject: RE: tc11ib MAC controller

Hi Greg,

Theres an error in our reply: The DTCMD ini should set the bitfield CMDX =
0x01 (not the CHNO: only '00' supported), after DTx regs are properly
initialised.

The sequence of initialisation is important - First DMUT, then TB, then
finally MAC. Attached a sample test code with sample initialisations.
Please
initialise the Ethernet in similar sequence.

Best regards,
Mike


-----Original Message-----
From: Sandy, Greg [mailto:greg_sandy at mentorg.com]
Sent: Tuesday, September 17, 2002 2:11 PM
To: Copeland Mike (IFNA AI)
Subject: RE: tc11ib MAC controller



Mike,

It appears that whenever the payload has an actual length, we never get a
transmit completion (The Host Initiated) interrupt.  If the descriptor
references a zero length transmission, we get this interrupt.  Also,
whenever we attempt to leave a HOLD condition, the transmitter never seems
to activate (Maybe these are due to the same problem, but even when we set
the transmission length to zero, we never get this interrupt again).

Also, are you sure that the value that you gave us for the DTCMD register
is
valid (This value ...0x00000001.... does not map to a valid value for this
register <Page 7-87 in the User's Manual, V1.1, Apr. 2002>) 

We seem to be missing a very important part of the initialization sequence
... but we are not sure what is missing !

I will keep trying..

thanks greg


-----Original Message-----
From: Mike.Copeland at infineon.com [mailto:Mike.Copeland at infineon.com]
Sent: Tuesday, September 17, 2002 10:27 AM
To: Sandy, Greg
Subject: RE: tc11ib MAC controller


Hi Greg,

The problem is probably due to the initialize sequence of transmission.
To Transmit data, the three module DT, TB, and MACTX should working
together well. 

Before initial transmit, configure controller, setting MACCTL register,
if you want to FullDup, setting it to 0x00000008, TB buffer parameter
TBCPR (0x00400200, for example) also configure well your descriptors. 

Then to initial channel, the recommend sequence is DT, TB, MACTX.
For example:
You should initial DT setting DTCMD register to 0x00000001; then enable
TB, setting TBCC register to 0x01000000, finally enable MACTX set
MACTXCTL register 0x00000001. You will see data going out.

Please let me know if this helps.

Best regards,
Mike

-----Original Message-----
From: Sandy, Greg [mailto:greg_sandy at mentorg.com]
Sent: Tuesday, September 03, 2002 4:18 PM
To: Copeland Mike (IFNA AI)
Subject: FW: tc11ib MAC controller


ps...
I forgot to tell you our problem in the email......  we are not ablt to get
the controller to put the ARP packet out on the wire.....

>  -----Original Message-----
> From: 	Sandy, Greg  
> Sent:	Tuesday, September 03, 2002 5:05 PM
> To:	'mike.copeland at infineon.com'
> Subject:	tc11ib MAC controller
> 
> Hey Mike,
> Thanks for looking at this for us......  ignore the names being DEC, as
> this is a different driver that I used as a base....
> Here is basically the flow of the code by function name.....
> 
> 1. DEC21143_Init(DV_DEVICE_ENTRY *device)  start up code....
> 
> 
> 2. DEC21143_Open (UINT8 *ether_addr, DV_DEVICE_ENTRY *device)   start up
> code and init's the MAC
> this calls <<Dec21143.h>>  <<Dec21143.c>> 
> 	a.  DEC21143_Allocate_Descriptors(dec_data, &System_Memory) inits
> the Descriptors.
> 
> 
> 3.   TC11IB_TX_Packet (DV_DEVICE_ENTRY *device, NET_BUFFER *buf_ptr)
> tries to send a gratuitus ARP
> 
> 4. VOID TC11IB_DR_LISR (INT vector)  we also see the TD vector firing a
> couple times but to no avail...
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --------------------------------------------------
>  Greg Sandy
>  Engineer
>  Accelerated Technology
>  www.acceleratedtechnology.com
>  Voice  800-GOT-NUKE ext 5047
>  Direct 251-662-5047
>  FAX    251-661-5788
>  email : greg_sandy at mentorg.com
>          gsandy at acceleratedtechnology.com 
> --------------------------------------------------
> "Nucleus PLUS.....Source code, no royalties, any CPU...
>  it just makes sense"
> 
>



More information about the evla-sw-discuss mailing list