blob: 547a8a7a1f1e2391eadb69dd7e9e59e46d64f4da [file] [log] [blame]
# Synopsys DesignWare MAC configuration options
# Copyright (c) 2021 BayLibre SAS
# SPDX-License-Identifier: Apache-2.0
menuconfig ETH_DWMAC
bool "Synopsys DesignWare MAC driver"
default y
depends on NET_BUF_FIXED_DATA_SIZE
depends on (SOC_SERIES_STM32H7X && !ETH_STM32_HAL) || MMU
depends on DT_HAS_SNPS_DESIGNWARE_ETHERNET_ENABLED
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