Skip to content

Commit

Permalink
drivers: ethernet: add support for 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 <mariopaja@hotmail.com>
  • Loading branch information
mariopaja authored and Mario Paja committed May 25, 2024
1 parent 68bd4da commit 244cf9e
Show file tree
Hide file tree
Showing 6 changed files with 1,116 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 @@ -40,6 +40,7 @@ zephyr_library_sources_ifdef(CONFIG_ETH_IVSHMEM eth_ivshmem.c eth_ivshmem_queue
zephyr_library_sources_ifdef(CONFIG_ETH_ADIN2111 eth_adin2111.c)
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_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 @@ -73,6 +73,7 @@ source "drivers/ethernet/Kconfig.adin2111"
source "drivers/ethernet/Kconfig.numaker"
source "drivers/ethernet/Kconfig.lan865x"
source "drivers/ethernet/Kconfig.xmc4xxx"
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_TIMEOUT
int "IP buffer 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 244cf9e

Please sign in to comment.