Programmers Guide
SPWU013A
Page
ThunderLANt Programmers Guide
Important Notice
Copyright 1996, Texas Instruments Incorporated
Read This First
Iii
Notational Conventions
If You Need Assistance
Trademarks
Contents
List Structures
Physical Interface PHY
Contentsix
Contents
Figures
Network Configuration Register Bits
Network Status Register Bits
Network Status Mask Register Bits
MAC Protocol Selection Codes
±25
Xiv
ThunderLAN Overview
ThunderLAN Architecture Networking Protocols PCI Interface
ThunderLAN Architecture
Fifo
PCI
Sram LAN
Networking Protocols
PCI Interface
PCI Cycles
Byte Ordering
Byte
Page
ThunderLAN Registers
Register Addresses
ThunderLAN Registers
PCI Configuration Space
PCI Nvram
±3. Configuration Eeprom Data Format
Word
Following example reads a byte of a PCI register
Pciint
Host Registers
Offset
Hostcmd Chparm Hostint Dioadr
+12
Host Registers
Internal Registers
HASH1 HASH2
Internal Registers
Byte
Outpwbaseaddr+OFFDIOADDR, addr
MII PHY Registers
±6. MII PHY Registers
Mdata
Possible MII interfaces Parameters Baseaddr
Delay DioRdBytebaseaddr,NetSio SetNMRST
Device to read from
#define CritOn if CritLevel == 0 \ Asm cli CritLevel++
Is the read op code for an MII management operation
Ackn bit out
Get PHY Ack Ack = inpdiodata If !ack & Mdata
Tmp = 0xffff TogLH
LEDs
Bios ROM
External Devices
Eeprom
Registers
External Devices
Eeprom
±1. ThunderLAN Eeprom Map
Address Default Binary Bits Description
ThunderLAN Eeprom Map
±1. ThunderLAN Eeprom Map
±1. ThunderLAN Eeprom Map
±1. ThunderLAN Eeprom Map
±1. ThunderLAN Eeprom Map
Initializing and Resetting
Initializing Resetting
Initializing
Finding the Network Interface Card NIC
Word PciFindDevice
Finding the Controller in Memory and I/O Space
Pciiobaselo
Finding Which Interrupt was Assigned
#define Pciintline 0x3C
Turning on the I/O Port and Memory Address Decode
Recovering the Silicon Revision Value
Setting the PCI Bus Latency Timer
Resetting
Hardware Reset
Software Reset
Page
Interrupt Handling
Loading and Unloading an Interrupt Service Routine ISR
Code that gets executed is
Nic.OldNic = HwSetIntVectorBYTEnic.Irq, NicIsr
Prioritizing Adapter Interrupts
Acknowledging Interrupts Acking
Tx EOF Interrupt. Inttype = 001b
Interrupt Type Codes
No Interrupt Invalid Code. Inttype = 000b
Dummy Interrupt. Inttype = 100b
Statistics Overflow Interrupt. Inttype = 010b
Rx EOF Interrupt. Inttype = 011b
Tx EOC Interrupt. Inttype = 101b
Network Status Interrupt. Inttype = 110b and IntVec = 00h
Adapter Check Interrupt. Inttype = 110b and IntVec ≠ 00h
±1. Adapter Check Bit Definitions
Bit Name Function
±2. Adapter Check Failure Codes
Rx EOC Interrupt. Inttype = 111b
Bit Name Channel List/Data
EOC/EOF
07h IovErr
Page
List Structures
List Management
±2. Linked List Management Technique
List Management
Cstat Field Bit Requirements
One-Fragment Mode
Receive List Format
±3. Receive List Format ± OneFrag =
±1. Receive Parameter List Fields
Field Definition
Bit Name Function Ignored by adapter. Set to
±2. Receive Cstat Request Bits
MSB LSB
RX EOC
±3. Receive Cstat Complete Bits
EOC
Transmit List Format
±7. Transmit List Format
When nine or less fragments are used
±4. Transmit Parameter List Fields
Transmit Cstat
Mand
±5. Transmit Cstat Request Bits
Priority
Ignored by adapter. Should be set to
Ing transmission requests
±6. Transmit Cstat Complete Bits
TX EOC
Frame Format GO Command
Transmitting and Receiving Frames
Frame Format
Receive Rx Frame Format
Transmit Tx Frame Format
±3. Token Ring Logical Frame Format Tx
GO Command
Starting Frame Reception Rx GO Command
GO Command
Starting Frame Transmission Tx GO Command
GO Command
GO Command
Physical Interface PHY
MII-Enhanced Interrupt Event Feature
PCI Tlan
802.3u MII
Tlan MII TNETE211
±1. ThunderLAN MII Pins 100M-bps CSMA/CD
Name Type Function
Start Operation
Register Turn Data Delimiter Code
±3. MII Frame Format Write
Tion also disables the counter event function
±2. Possible Sources of MII Event Interrupts
Name Function
Link
SOF
Qcyc Mint
Mdclk Mdio
Nonmanaged MII Devices
Bit-Rate Devices
Mcol
PHY Initialization
Page
Register Definitions
PCI Configuration Registers
Size
PCI Autoconfiguration from External 24C02 Serial Eeprom
Byte Device ID Vendor ID
PCI Vendor ID Register @ 00h Default = 104Ch
PCI Device ID Register @ 02h Default = 0500h
SER
PCI Command Register @ 04h
Table A±1. PCI Command Register Bits
PCI Status Register @ 06h
Table A±2. PCI Status Register Bits
Devsel FBB
PDEVSEL#
PCI Latency Timer Register @ 0Dh
PCI Base Class Register @ 0Bh
PCI Subclass Register @ 0Ah
PCI Program Interface Register @ 09h
PCI Bios ROM Base Address Register @ 30h
PCI Memory Base Address Register @ 14h
PCI Nvram Register @ 34h
Memory Base Address 12 LSBs Memory Base Address 16 MSBs
PCI Interrupt Pin Register @ 3Dh
Table A±3. PCI Nvram Register Bits
PCI Interrupt Line Register @ 3Ch
PCI Reset Control Register @ 40h
Table A±4. PCI Reset Control Register Bits
PCI MinGnt @ 3Eh and MaxLat @ 3Fh Registers
Srdis
CardBus CIS Pointer @ 28h
Host Command Register±HOSTCMD @ BaseAddress + 0 Host
Adapter Host Registers
Table A±5. HostCMD Register Bits
Hostcmd
Table A±5. HostCMD Register Bits
Cated in ChSel
If Nes = 1, EOC = 1, and R/T = 1 Rx EOC Ack
If Nes = 1, EOC = 0, and R/T = 0 Tx EOF Ack
Raised
Lected otherwise statistics commands are selected
Be issued in a single write cycle
To be issued in a single write cycle Nes
Lected. If set to a 0, EOF operations are selected
LdTmr
LdThr
ChSel must indicate the selected transmit channel
ReqInt
Channel Parameter Register±CHPARM @ BaseAddress + 4 Host
Host Interrupt Register±HOSTINT @ BaseAddress + 10 Host
Table A±6. Hostint Register Bits
DIO Address Register±DIOADR @ BaseAddress + 8 Host
Table A±7. Dioadr Register Bits
DIO Data Register±DIODATA @ BaseAddress + 12 Host
Adapter Internal Registers
ManTest NetConfig
HASH2 HASH1
Tx underrun
Late
Network Command Register±NetCmd @ 0x00 DIO
Table A±8. Network Command Register Bits
Network Serial I/O Register±NetSio @ 0x00 DIO
Table A±9. Network Serial I/O Register Bits
Network Status Register±NetSts @ 0x00 DIO
Table A±10. Network Status Register Bits
Network Status Mask Register±NetMask @ 0x00 DIO
Table A±11. Network Status Mask Register Bits
BIT PEF
Network Configuration Register±NetConfig @ 0x04 DIO
Table A±12. Network Configuration Register Bits
Mtest
Default PCI Parameter Registers±@ 0x08±0x0C DIO
Table A±13. MAC Protocol Selection Codes
Manufacturing Test Register±ManTest @ 0x04 DIO
Code MAC Protocol Selected
General Address Registers±Areg0-3 @ 0x10±0x24 DIO
All-Nodes Broadcast Address
Hash Address Registers±HASH1/HASH2 @ 0x28±0x2C DIO
0x3C Single collision Tx frames
Network Statistics Registers±@ 0x30±0x40 DIO
Good Tx frames 0x34 Rx overrun
Table A±14. Ethernet Error Counters
Counter Definition
Table A±15. Demand Priority Error Counters
Adapter Commit Register±Acommit @ 0x40 DIO Byte
Table A±16. Adapter Commit Register Bits
LED Register±LEDreg @ 0x44 DIO Byte
31±28 Tx commit
Level
Burst Size Register±BSIZEreg @ 0x44 DIO Byte
Table A±17. Burst Size Register Bits
Maximum Rx Frame Size Register±MaxRx @ 0x44 DIO Bytes 2+3
Byte Maximum Rx frame size in units of 8 bits
Interrupt Disable Register Intdis @ 0x48 DIO Byte
Table A±18. Demand Priority Error Counters
Disabled. Default value is
RX EOF
10Base-T PHY Registers
Figure A±8 Base-T PHY Registers
PHY Generic Control Register±GENctl @
Table A±19. PHY Generic Control Register Bits
Nal Mcol whenever the transmit enable Mtxen pin is asserted
Fect on PHY operation
Coltest
Reserved Read as
PHY Generic Status Register±GENsts @
Table A±20. PHY Generic Status Register Bits
Autocomplt Rflt Link Jabber
Autocmplt
Jabber
PHY Generic Identifier±GENidhi/GENidlo @ 0x2/0x3
OUI Manufacturers model number Revision number
Tlrflt
Autonegotiation Advertisement Register±ANadv @
Table A±21. Autonegotiation Advertisement Register Bits
Lprflt
Autonegotiation Link Partner Ability Register±ANlpa @
Lpnxtpage
Autonegotiation Expansion Register±ANexp @
Table A±23. Autonegotiation Expansion Register Bits
Pardetflt Lpnpable Pagerx Lpanable
Pardetflt
ThunderLAN PHY Identifier High/Low±TLPHYid @
ThunderLAN PHY Control Register±TLPHYctl @
Table A±24. ThunderLAN PHY Control Register Bits
ThunderLAN PHY Status Register±TLPHYsts @
Table A±25. ThunderLAN PHY Status Register Bits
Inten
Mint Phok Polok
POLOK²
Inverted link pulses has been detected
Tpenergy
Set.²
Page
PMI Interface
100VG-AnyLAN Training TNETE211 Register Descriptions
100VG-AnyLAN Training
Figure B±1 .12 Training Frame Format
100VG-AnyLAN Training
Figure B±2. Training Flowchart
100VG-AnyLAN Training
TNETE211 Register Descriptions
Reset Loopbk Pdown Isolate
Autoconfiguration enable Not implemented
Table B±1. PHY Generic Control Register Bits
0x01 PHY generic status register 0x02
Rflt Link Jabber
PHY Generic Status Register ±GENsts @
Table B±2. PHY Generic Status Register Bits
Iglink Mcrs Ptlswen Prlsren
Trfail Tridle Npmdw Nfew Inten Tint
Table B±3. ThunderLAN PHY Control Register Bits
Mint Phok Config Retrain Lstate Trfrto Rtridl Lrcv Lsil
Table B±4. ThunderLAN PHY Status Register Bits
Retrain
Lstate
Trfrto
Inten bit is also set, this causes an MII interrupt
Rtridl
Lrcv
TNETE100PM/TNETE110PM