Skip to content

Commit 491c31a

Browse files
drivers: ethernet: Add Xilinx Axi Ethernet Lite
This commit adds support for the Xilinx AXI Ethernet Lite device, also known as the emaclite. The emaclite is a light-weight 10/100 MII Ethernet device. It foregoes a DMA to reduce chip area. Instead, it uses memory-mapped transmit/receive buffers. A selection of features can optionally be enabled: - a second ("pong") RX/TX Buffer - MDIO support - Interrupt support This driver handles the MAC functionality of the core; a driver for the MDIO part is introduced separately as an MDIO driver. Signed-off-by: Eric Ackermann <[email protected]>
1 parent cafd721 commit 491c31a

File tree

5 files changed

+668
-0
lines changed

5 files changed

+668
-0
lines changed

drivers/ethernet/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ zephyr_library_sources_ifdef(CONFIG_ETH_LAN9250 eth_lan9250.c)
4545
zephyr_library_sources_ifdef(CONFIG_ETH_SY1XX eth_sensry_sy1xx_mac.c)
4646
zephyr_library_sources_ifdef(CONFIG_ETH_NXP_ENET eth_nxp_enet.c)
4747
zephyr_library_sources_ifdef(CONFIG_ETH_XILINX_AXIENET eth_xilinx_axienet.c)
48+
zephyr_library_sources_ifdef(CONFIG_XILINX_AXI_ETHERNET_LITE eth_xilinx_axi_ethernet_lite.c)
4849

4950
if(CONFIG_ETH_NXP_S32_NETC)
5051
zephyr_library_sources(eth_nxp_s32_netc.c)

drivers/ethernet/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ source "drivers/ethernet/Kconfig.test"
7777
source "drivers/ethernet/Kconfig.lan9250"
7878
source "drivers/ethernet/Kconfig.sy1xx_mac"
7979
source "drivers/ethernet/Kconfig.xilinx_axienet"
80+
source "drivers/ethernet/Kconfig.xilinx_axi_ethernet_lite"
8081

8182
source "drivers/ethernet/eth_nxp_enet_qos/Kconfig"
8283

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#
2+
#Xilinx AXI Ethernet Lite
3+
#
4+
#Copyright(c) 2025, CISPA Helmholtz Center for Information Security
5+
#SPDX-License-Identifier: Apache-2.0
6+
#
7+
8+
menuconfig XILINX_AXI_ETHERNET_LITE
9+
bool "Xilinx AXI Ethernet Lite Driver"
10+
default y
11+
depends on DT_HAS_XLNX_XPS_ETHERNETLITE_3_00_A_ENABLED
12+
depends on NETWORKING
13+
depends on LITTLE_ENDIAN # byte order operations might break for BE
14+
help
15+
Enable Xilinx AXI Ethernet Lite MAC driver, commonly found on Xilinx FPGAs and SoCs.
16+
17+
config XILINX_AXI_ETHERNET_LITE_TIMER_PERIOD
18+
int "Xilinx AXI Ethernet Lite Timer Period in ms"
19+
default 1
20+
depends on XILINX_AXI_ETHERNET_LITE
21+
help
22+
Period for periodic RX timer task in AXI Ethernet Lite.
23+
Useful when either no IRQs are available at all
24+
or when IRQs are not handled reliably by the interrupt controller.
25+
Set to 0 to disable this feature.

0 commit comments

Comments
 (0)