70 lines
2.1 KiB
Plaintext
70 lines
2.1 KiB
Plaintext
# Synopsys DesignWare MAC configuration options
|
|
|
|
# Copyright (c) 2021 BayLibre SAS
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
DT_COMPAT_SNPS_DESIGNWARE_ETHERNET := snps,designware-ethernet
|
|
|
|
menuconfig ETH_DWMAC
|
|
bool "Synopsys DesignWare MAC driver"
|
|
depends on NET_BUF_FIXED_DATA_SIZE
|
|
depends on (SOC_SERIES_STM32H7X && !ETH_STM32_HAL) || MMU
|
|
default y if $(dt_compat_enabled,$(DT_COMPAT_SNPS_DESIGNWARE_ETHERNET))
|
|
help
|
|
This is a driver for the Synopsys DesignWare MAC, also referred to
|
|
as "DesignWare Cores Ethernet Quality-of-Service". Hardware versions
|
|
4.x and 5.x are supported.
|
|
|
|
Platform specific glue support is also required. This driver is
|
|
currently available on targets using the STM32H7X series as an
|
|
alternative to the eth_stm32_hal driver. Support for a generic DT
|
|
and MMU based platform is also provided.
|
|
|
|
Not yet implemented:
|
|
- MDIO (currently relying on default PHY config)
|
|
- PTP support
|
|
- VLAN support
|
|
- various hardware offloads (when available)
|
|
|
|
if ETH_DWMAC
|
|
|
|
config ETH_DWMAC_STM32H7X
|
|
bool
|
|
depends on SOC_SERIES_STM32H7X
|
|
select NOCACHE_MEMORY
|
|
default y
|
|
|
|
config ETH_DWMAC_MMU
|
|
bool
|
|
depends on MMU
|
|
default y
|
|
|
|
config DWMAC_NB_TX_DESCS
|
|
int "Number of entries in the transmit descriptor ring"
|
|
default 16
|
|
range 4 128
|
|
help
|
|
A higher number allows for more packets to be queued which may
|
|
improve throughput, but that requires more transient memory.
|
|
However there must be enough descriptors to hold all fragments
|
|
of a full-size packet to be transmitted or the packet will be
|
|
dropped.
|
|
|
|
Fragment size is influenced by CONFIG_NET_BUF_DATA_SIZE.
|
|
|
|
config DWMAC_NB_RX_DESCS
|
|
int "Number of entries in the receive descriptor ring"
|
|
default 16
|
|
range 4 128
|
|
help
|
|
Received packets are spread across the required number of fragment
|
|
buffers. Each RX fragment has a size of CONFIG_NET_BUF_DATA_SIZE.
|
|
There is one descriptor entry per fragment.
|
|
|
|
A higher number allows for more packets to be received without
|
|
immediate intervention from the CPU but requires more transient
|
|
memory. A smaller number increases the risk of an overflow and
|
|
dropped packets.
|
|
|
|
endif # ETH_DWMAC
|