Skip to content

Commit f4db426

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 ed43038 commit f4db426

File tree

6 files changed

+639
-0
lines changed

6 files changed

+639
-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_SY1XX eth_sensry_sy1xx_mac.c)
4545
zephyr_library_sources_ifdef(CONFIG_ETH_NXP_ENET eth_nxp_enet.c)
4646
zephyr_library_sources_ifdef(CONFIG_ETH_XILINX_AXIENET eth_xilinx_axienet.c)
4747
zephyr_library_sources_ifdef(CONFIG_ETH_VIRTIO_NET eth_virtio_net.c)
48+
zephyr_library_sources_ifdef(CONFIG_ETH_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
@@ -78,6 +78,7 @@ source "drivers/ethernet/Kconfig.lan9250"
7878
source "drivers/ethernet/Kconfig.sy1xx_mac"
7979
source "drivers/ethernet/Kconfig.xilinx_axienet"
8080
source "drivers/ethernet/Kconfig.virtio_net"
81+
source "drivers/ethernet/Kconfig.xilinx_axi_ethernet_lite"
8182

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

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
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 ETH_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_MAC_ENABLED
12+
depends on LITTLE_ENDIAN # byte order operations might break for BE
13+
help
14+
Enable Xilinx AXI Ethernet Lite MAC driver, commonly found on Xilinx FPGAs and SoCs.
15+
16+
config ETH_XILINX_AXI_ETHERNET_LITE_TIMER_PERIOD
17+
int "Xilinx AXI Ethernet Lite Timer Period in ms"
18+
default 1
19+
depends on ETH_XILINX_AXI_ETHERNET_LITE
20+
help
21+
Period for periodic RX timer task in AXI Ethernet Lite.
22+
Useful when either no IRQs are available at all
23+
or when IRQs are not handled reliably by the interrupt controller.
24+
Set to 0 to disable this feature.

0 commit comments

Comments
 (0)