xlnx,gem

Description

Xilinx GEM Ethernet controller

Properties

Properties not inherited from the base binding file.

Name

Type

Details

phy-handle

phandle

Specifies a reference to a node representing a PHY device.

This property is required.

clock-frequency

int

Specifies the base clock frequency from which the GEM's TX clock
frequency will be derived using two dividers in the respective GEM's
clock control register in the CRL_APB. The GEM's TX clock frequency
is determined by the current link speed reported by the PHY, to
which it will be adjusted at run-time. Therefore, the value of this
item must be set to the clock frequency of the PLL supplying the
respective GEM's TX clock - by default, this is the IO PLL.

This property is required.

handle-rx-in-isr

boolean

Moves the handling of the frame received interrupt including the
transfer of packet data from the DMA to network packet buffers and
the subsequent propagation of the received packets to the network
stack into the context of the ISR. Due to the unpredictability of
the runtime of the ISR whenever large amounts of data are received,
handling of the RX interrupt is normally deferred to the context
of the system work queue.

handle-tx-in-workq

boolean

Moves the handling of the frame transmission done interrupt into the
context of the system work queue. By default, TX done handling is per-
formed in the context of the ISR, as it only involves a limited number
of memory accesses. This option CAN NOT be used if any component ex-
ists within the current system setup that triggers the transmission
of packets from within the context of the system work queue!

amba-ahb-burst-length

int

AMBA AHB burst length for DMA operations.

This property is required.

Legal values: 1, 4, 8, 16

hw-rx-buffer-size

int

Hardware RX buffer size, scalable between 1 kB and 8 kB, where the full
8 kB should be the default.

This property is required.

Legal values: 0, 1, 2, 3

hw-rx-buffer-offset

int

Data offset in the hardware RX packet buffer (in bytes). Valid range is
0-3 bytes.

This property is required.

hw-tx-buffer-size-full

boolean

When set, the hardware TX data buffer will make use of the full 4 kB
that are available. If unset, the hardware TX data buffer will be
limited to 2 kB.

rx-buffer-descriptors

int

The number of descriptors to be allocated in the RX buffer descriptor
ring. Must be <= 255.

This property is required.

rx-buffer-size

int

The size of each receive data buffer, must be a multiple of 8, highest
valid value is 16320, values less than 64 are not really useful.

This property is required.

tx-buffer-descriptors

int

The number of descriptors to be allocated in the TX buffer descriptor
ring. Must be <= 255.

This property is required.

tx-buffer-size

int

The size of each transmit data buffer, highest valid value is 16380,
values less than 64 are not really useful.

This property is required.

ignore-ipg-rxer

boolean

Optional feature flag - Ignore IPG rx_er. When set, rx_er has no
effect on the GEM's operation when rx_dv is low. Set this when using
the RGMII wrapper in half-duplex mode.

disable-reject-nsp

boolean

Optional feature flag - Receive bad preamble. When set, frames with
non-standard preamble will not be rejected.

ipg-stretch

boolean

Optional feature flag - Enable IPG stretch. When set, the transmit
IPG can be increased above 96 bit times depending on the previous
frame length using the IPG stretch register.

sgmii-mode

boolean

Optional feature flag - Enable SGMII mode. Changes the behaviour of
the auto-negotiation advertisement and link partner ability registers
to meet the requirements of SGMII and reduces the duration of the link
timer from 10 ms to 1.6 ms.

disable-reject-fcs-crc-errors

boolean

Optional feature flag - Disable rejection of FCS/CRC errors.
When set, frames with FCS/CRC errors will not be rejected. FCS error
statistics will still be collected for frames with bad FCS and FCS
status will be recorded in the frame's DMA descriptor. This option
should not be activated for normal operation.

rx-halfdup-while-tx

boolean

Optional feature flag - Enable frames to be received in half-duplex
mode while transmitting.

disable-rx-checksum-offload

boolean

Disable RX IPv4/IPv6/TCP/UDP checksum offload to hardware. Checksum
offloading is enabled by default, and automatically disabled for
QEMU targets, where hardware checksum offloading is not emulated,
without having to set this flag explicitly.

disable-tx-checksum-offload

boolean

Disable TX IPv4/IPv6/TCP/UDP checksum offload to hardware. Checksum
offloading is enabled by default, and automatically disabled for
QEMU targets, where hardware checksum offloading is not emulated,
without having to set this flag explicitly.

disable-pause-copy

boolean

Optional feature flag - Do not copy received pause frames to memory.
Set this option in order to prevent valid pause frames from being
copied to memory. When set, pause frames are not copied to memory
regardless of the state of the copy all frames bit, whether a hash
match is found or whether a type ID match is identified. If a desti-
nation address match is found the pause frame will be copied to
memory. Note that valid pause frames received will still increment
pause statistics and pause the transmission of frames as required.

discard-rx-fcs

boolean

Optional feature flag - Remove FCS of received frames.
When set, received frames will be written to memory without their
frame check sequence (last 4 bytes). The frame length indicated will
be reduced by four bytes in this mode.

discard-rx-length-errors

boolean

Optional feature flag - Discard frames with length field errors.
When set, frames with a measured length shorter than the extracted
length field (as indicated by bytes 13 and 14 in a non-VLAN tagged
frame) will be discarded. This only applies to frames with a length
field less than 0x0600.

pause-frame

boolean

Optional feature flag - Enable pause. When set, transmission will
pause if a non zero 802.3 classic pause frame is received and PFC
has not been negotiated.

tbi

boolean

Optional feature flag - Enable TBI. When set, the TBI interface is en-
bled instead of the GMII/MII interface.

ext-address-match

boolean

Optional feature flag - Enable external address match. When set, the
external address match interface can be used to copy frames to memory.

long-frame-rx-support

boolean

Optional feature flag - Enable reception of 1536 byte frames.
Normally, the GEM rejects any frame above 1518 bytes.

unicast-hash

boolean

Optional feature flag - Enable unicast hash. When set, unicast frames
will be accepted when the 6 bit hash function of the destination
address points to a bit that is set in the hash register.

multicast-hash

boolean

Optional feature flag - Enable multicast hash. When set, multicast
frames will be accepted when the 6 bit hash function of the desti-
nation address points to a bit that is set in the hash register.

reject-broadcast

boolean

Optional feature flag - Reject broadcast frames. When set, frames
addressed to the all-ones broadcast address will be rejected.

discard-non-vlan

boolean

Optional feature flag - Discard non-VLAN frames. When set, only VLAN tagged frames will be passed to the address matching logic.

discard-rx-frame-ahb-unavail

boolean

Optional feature flag - Discard received packets when no AHB resource
is available.

ahb-packet-endian-swap

boolean

Optional feature flag - Enable AHB packet data endianness swap to big
endian. If this flag is not set, data will be little endian.

ahb-md-endian-swap

boolean

Optional feature flag - Enable AHB management descriptor data endian-
ness swap to big endian. If this flag is not set, data will be little
endian.

local-mac-address

uint8-array

Specifies the MAC address that was assigned to the network device

zephyr,random-mac-address

boolean

Use a random MAC address generated when the driver is initialized.
Note that using this choice and rebooting a board may leave stale
MAC address in peers' ARP caches and lead to issues and delays in
communication.  (Use "ip neigh flush all" on Linux peers to clear
ARP cache.)

It is driver specific how the OUI octets are handled.

If set we ignore any setting of the local-mac-address property.

zephyr,mac-address-prefix

uint8-array

A statically assigned MAC address prefix.
Can be combined with zephyr,random-mac-address or an NVMEM cell, for
example to set the OUI.

phy-connection-type

string

Specifies the interface connection type between ethernet MAC and PHY.

Legal values: mii, rmii, gmii, rgmii, internal

ptp-clock

phandle

Corresponding ptp clock device.

nvmem-cell-names

string-array

Names for each nvmem-cells specified.

nvmem-cells

phandle-array

List of phandles to the nvmem data cells.