# 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