Configuration
The config.gbitVariant
property can be set to enable GRETH_GBIT
extensions.
The extensions includes:
-
Gigabit speed.
-
IP header checksum offloading
-
TCP checksum offloading
-
UDP checksum offloading
-
Scatter / gather send lists.
Attributes
Properties
Name | Type | Description |
---|---|---|
ETHCTR |
uint32_t |
Ethernet Control Register |
ETHMDC |
uint32_t |
Ethernet MDIO Control and Status Register |
ETHRDP |
uint32_t |
Ethernet Receiver Descriptor Pointer Register |
ETHSIS |
uint32_t |
Ethernet Status and Interrupt Source Register |
ETHTDP |
uint32_t |
Ethernet Transmitter Descriptor Pointer Register |
MACLSB |
uint32_t |
Ethernet MAC Address LSB |
MACMSB |
uint32_t |
Ethernet MAC Address MSB |
config.checkCrc |
uint8_t |
Enable ethernet frame CRC checking. |
config.checkIpCrc |
uint8_t |
Enable IP header CRC checking. |
config.checkTcpCrc |
uint8_t |
Enable TCP header CRC checking. |
config.checkUdpCrc |
uint8_t |
Enable UDP header CRC checking. |
config.gbitVariant |
uint8_t |
Enable GRETH_GBIT behaviour. |
config.generateCrc |
uint8_t |
Enable ethernet frame CRC generation. |
config.irq |
uint8_t |
IRQ |
config.logTraffic |
uint8_t |
Enable traffic logging |
irqCtrl |
iref / IrqCtrlIface |
IRQ controller |
mac |
cstring |
Set MAC by string |
mdioBus |
iref / temu::MDIOIface |
MDIO bus |
memory |
iref / MemoryIface |
Memory |
object.timeSource |
object |
Time source object (a cpu or machine object) |
phy |
iref / temu::PHYIface |
PHY device |
Registers
Register support is currently experimental! |
Register Bank registers
Register ETHCTR
Ethernet Control Register
Cold reset value: 0x0
Warm reset value: 0x0
Field | Mask | Cold | Warm | Description |
---|---|---|---|---|
EA |
0x80000000 |
0x0 |
0x0 |
EDCL available |
BS |
0x70000000 |
0x0 |
0x0 |
EDCL buffer size |
GA |
0x8000000 |
0x0 |
0x0 |
Gigabit MAC |
MA |
0x4000000 |
0x0 |
0x0 |
MDIO interrupts supported |
MC |
0x2000000 |
0x0 |
0x0 |
Multicast supported |
SP |
0x80 |
0x0 |
0x0 |
Speed |
RS |
0x40 |
0x0 |
0x0 |
Reset |
PM |
0x20 |
0x0 |
0x0 |
Open Packet Mode |
FD |
0x10 |
0x0 |
0x0 |
Full Duplex |
RI |
0x8 |
0x0 |
0x0 |
Enable Receiver Interrupts |
TI |
0x4 |
0x0 |
0x0 |
Enable Transmitter Interrupts |
RE |
0x2 |
0x0 |
0x0 |
Receive Enable |
TE |
0x1 |
0x0 |
0x0 |
Transmit Enable |
Register ETHSIS
Ethernet Status and Interrupt Source Register
Cold reset value: 0x0
Warm reset value: 0x0
Field | Mask | Cold | Warm | Description |
---|---|---|---|---|
IA |
0x80 |
0x0 |
0x0 |
Invalid Address |
TS |
0x40 |
0x0 |
0x0 |
Too Small |
TA |
0x20 |
0x0 |
0x0 |
Transmitter AHB Error |
RA |
0x10 |
0x0 |
0x0 |
Receiver AHB Error |
TI |
0x8 |
0x0 |
0x0 |
Transmitter Interrupt |
RI |
0x4 |
0x0 |
0x0 |
Receiver Interrupt |
TE |
0x2 |
0x0 |
0x0 |
Transmitter Error |
RE |
0x1 |
0x0 |
0x0 |
Receiver Error |
Register MACMSB
Ethernet MAC Address MSB
Cold reset value: 0x0
Warm reset value: 0x0
Field | Mask | Cold | Warm | Description |
---|---|---|---|---|
MSB |
0xffff |
0x0 |
0x0 |
Two MSB of MAC |
Register MACLSB
Ethernet MAC Address LSB
Cold reset value: 0x0
Warm reset value: 0x0
Field | Mask | Cold | Warm | Description |
---|---|---|---|---|
LSB |
0xffffffff |
0x0 |
0x0 |
Four LSB of MAC |
Register ETHMDC
Ethernet MDIO Control and Status Register
Cold reset value: 0x0
Warm reset value: 0x0
Field | Mask | Cold | Warm | Description |
---|---|---|---|---|
Data |
0xffff0000 |
0x0 |
0x0 |
Data for MMI read / write |
PHY_ADDR |
0xf800 |
0x0 |
0x0 |
PHY address |
REG_ADDR |
0x7c0 |
0x0 |
0x0 |
MII reg addr |
NV |
0x10 |
0x0 |
0x0 |
Not valid |
BU |
0x8 |
0x0 |
0x0 |
Busy |
LF |
0x4 |
0x0 |
0x0 |
Link fail |
RD |
0x2 |
0x0 |
0x0 |
Read |
WR |
0x1 |
0x0 |
0x0 |
Write |