Skip to content

Commit

Permalink
drivers: ethernet: add support for microchip lan9250
Browse files Browse the repository at this point in the history
This PR adds support for LAN9250 spi ethernet controller.
This driver is tested on the Mikroe ETH Click 3
https://www.mikroe.com/eth-3-click

Signed-off-by: Mario Paja <[email protected]>
  • Loading branch information
mariopaja authored and kartben committed Dec 10, 2024
1 parent ce6f529 commit 7abe775
Show file tree
Hide file tree
Showing 6 changed files with 1,096 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/ethernet/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ zephyr_library_sources_ifdef(CONFIG_ETH_LAN865X eth_lan865x.c oa_tc6.c)
zephyr_library_sources_ifdef(CONFIG_ETH_XMC4XXX eth_xmc4xxx.c)
zephyr_library_sources_ifdef(CONFIG_ETH_TEST eth_test.c)
zephyr_library_sources_ifdef(CONFIG_ETH_RENESAS_RA eth_renesas_ra.c)
zephyr_library_sources_ifdef(CONFIG_ETH_LAN9250 eth_lan9250.c)

if(CONFIG_ETH_NXP_S32_NETC)
zephyr_library_sources(eth_nxp_s32_netc.c)
Expand Down
1 change: 1 addition & 0 deletions drivers/ethernet/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ source "drivers/ethernet/Kconfig.numaker"
source "drivers/ethernet/Kconfig.lan865x"
source "drivers/ethernet/Kconfig.xmc4xxx"
source "drivers/ethernet/Kconfig.test"
source "drivers/ethernet/Kconfig.lan9250"

source "drivers/ethernet/eth_nxp_enet_qos/Kconfig"

Expand Down
40 changes: 40 additions & 0 deletions drivers/ethernet/Kconfig.lan9250
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# LAN9250 Stand-alone Ethernet Controller configuration options

# Copyright (c) 2024 Mario Paja
# SPDX-License-Identifier: Apache-2.0


menuconfig ETH_LAN9250
bool "LAN9250 Ethernet Controller"
default y
depends on DT_HAS_MICROCHIP_LAN9250_ENABLED
select SPI
help
LAN9250 Stand-Alone Ethernet Controller
with SPI Interface

if ETH_LAN9250

config ETH_LAN9250_RX_THREAD_STACK_SIZE
int "Stack size for internal incoming packet handler"
default 800
help
Size of the stack used for internal thread which is ran for
incoming packet processing.

config ETH_LAN9250_RX_THREAD_PRIO
int "Priority for internal incoming packet handler"
default 2
help
Priority level for internal thread which is ran for incoming
packet processing.

config ETH_LAN9250_BUF_ALLOC_TIMEOUT
int "Network buffer allocation timeout"
default 100
help
Given timeout in milliseconds. Maximum amount of time
that the driver will wait from the IP stack to get
a memory buffer before the Ethernet frame is dropped.

endif
Loading

0 comments on commit 7abe775

Please sign in to comment.