195 lines
5.0 KiB
Plaintext
195 lines
5.0 KiB
Plaintext
# NXP ENET ethernet drivers configuration options
|
|
|
|
# Copyright (c) 2016-2017 ARM Ltd
|
|
# Copyright 2024 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menu "NXP ENET"
|
|
|
|
choice NXP_ENET_DRIVER
|
|
prompt "NXP ENET Driver Version"
|
|
default ETH_NXP_ENET if DT_HAS_NXP_ENET_MAC_ENABLED
|
|
default ETH_MCUX if DT_HAS_NXP_KINETIS_ETHERNET_ENABLED
|
|
depends on DT_HAS_NXP_ENET_MAC_ENABLED || DT_HAS_NXP_KINETIS_ETHERNET_ENABLED
|
|
|
|
config ETH_NXP_ENET
|
|
bool "NXP ENET Ethernet driver"
|
|
select NOCACHE_MEMORY if HAS_MCUX_CACHE && CPU_HAS_DCACHE
|
|
select ARM_MPU if CPU_CORTEX_M7
|
|
select MDIO if DT_HAS_NXP_ENET_MDIO_ENABLED
|
|
select NET_POWER_MANAGEMENT if (PM_DEVICE && SOC_FAMILY_KINETIS)
|
|
select ETH_DSA_SUPPORT
|
|
help
|
|
Enable NXP ENET Ethernet driver.
|
|
|
|
config ETH_MCUX
|
|
bool "MCUX Ethernet driver"
|
|
select NOCACHE_MEMORY if HAS_MCUX_CACHE && CPU_HAS_DCACHE
|
|
select ARM_MPU if CPU_CORTEX_M7
|
|
select NET_POWER_MANAGEMENT if PM_DEVICE
|
|
select ETH_DSA_SUPPORT
|
|
select DEPRECATED
|
|
help
|
|
Enable deprecated legacy MCUX Ethernet driver.
|
|
Note, this driver performs one shot PHY setup.
|
|
There is no support for PHY disconnect, reconnect or configuration change.
|
|
|
|
endchoice
|
|
|
|
if ETH_NXP_ENET
|
|
|
|
config ETH_NXP_ENET_1G
|
|
bool "1G mode for ENET1G instance"
|
|
default y
|
|
depends on DT_HAS_NXP_ENET1G_ENABLED
|
|
help
|
|
Enable the use of the ENET1G ethernet instance in 1G mode.
|
|
|
|
config ETH_NXP_ENET_USE_DTCM_FOR_DMA_BUFFER
|
|
bool "Use DTCM for hardware DMA buffers"
|
|
default y
|
|
help
|
|
Place the hardware DMA buffers into DTCM for better
|
|
networking performance.
|
|
|
|
config ETH_NXP_ENET_HW_ACCELERATION
|
|
bool "Hardware acceleration"
|
|
default y
|
|
depends on !NET_IPV6
|
|
help
|
|
Enable hardware acceleration for the following:
|
|
- IPv4, UDP and TCP checksum (both Rx and Tx)
|
|
|
|
config ETH_NXP_ENET_RX_BUFFERS
|
|
int "Number of RX buffers for ethernet driver"
|
|
default 6
|
|
range 6 16
|
|
help
|
|
Set the number of RX buffers provided to the NXP ENET driver.
|
|
|
|
config ETH_NXP_ENET_TX_BUFFERS
|
|
int "Number of TX buffers for ethernet driver"
|
|
default 1
|
|
range 1 16
|
|
help
|
|
Set the number of TX buffers provided to the NXP ENET driver.
|
|
|
|
config ETH_NXP_ENET_RX_THREAD_STACK_SIZE
|
|
int "NXP ENET RX thread stack size"
|
|
default 1600
|
|
help
|
|
ENET RX thread stack size in bytes.
|
|
|
|
config ETH_NXP_ENET_RX_THREAD_PRIORITY
|
|
int "NXP ENET driver RX cooperative thread priority"
|
|
default 2
|
|
help
|
|
ENET MAC Driver handles RX in cooperative workqueue thread.
|
|
This options sets the priority of that thread.
|
|
|
|
endif # ETH_NXP_ENET
|
|
|
|
if ETH_MCUX
|
|
|
|
config ETH_MCUX_PROMISCUOUS_MODE
|
|
bool "Promiscuous mode"
|
|
help
|
|
Place the Ethernet receiver in promiscuous mode. This may be useful
|
|
for debugging and not needed for normal work.
|
|
|
|
config ETH_MCUX_USE_DTCM_FOR_DMA_BUFFER
|
|
bool "Use DTCM for hardware DMA buffers"
|
|
default y
|
|
help
|
|
Place the hardware DMA buffers into DTCM for better
|
|
networking performance.
|
|
|
|
config ETH_MCUX_HW_ACCELERATION
|
|
bool "Hardware acceleration"
|
|
default y
|
|
help
|
|
Enable hardware acceleration for the following:
|
|
- IPv4, UDP and TCP checksum (both Rx and Tx)
|
|
|
|
config ETH_MCUX_RX_BUFFERS
|
|
int "Number of RX buffers for ethernet driver"
|
|
default 6
|
|
range 6 16
|
|
help
|
|
Set the number of RX buffers provided to the NXP ENET driver.
|
|
|
|
config ETH_MCUX_TX_BUFFERS
|
|
int "Number of TX buffers for ethernet driver"
|
|
default 1
|
|
range 1 16
|
|
help
|
|
Set the number of TX buffers provided to the NXP ENET driver.
|
|
|
|
menu "Legacy driver options"
|
|
|
|
config ETH_MCUX_RMII_EXT_CLK
|
|
bool "RMII clock from external sources"
|
|
help
|
|
Setting this option will configure MCUX clock block to feed RMII
|
|
reference clock from external source (ENET_1588_CLKIN)
|
|
|
|
config ETH_MCUX_NO_PHY_SMI
|
|
bool "Do not use SMI for PHY communication"
|
|
help
|
|
Some PHY devices, with DSA capabilities do not use SMI for
|
|
communication with MAC ENET controller. Other busses - like SPI
|
|
or I2C are used instead.
|
|
|
|
config ETH_MCUX_PHY_TICK_MS
|
|
int "PHY poll period (ms)"
|
|
default 1000
|
|
range 100 30000
|
|
help
|
|
Set the PHY status polling period.
|
|
|
|
config ETH_MCUX_PHY_EXTRA_DEBUG
|
|
bool "Additional detailed PHY debug"
|
|
help
|
|
Enable additional PHY related debug information related to
|
|
PHY status polling.
|
|
|
|
config ETH_MCUX_PHY_RESET
|
|
bool "Reset the PHY at boot"
|
|
help
|
|
Reset the ethernet PHY at boot. Requires dts properties int-gpios and
|
|
reset-gpios to be present.
|
|
|
|
config PTP_CLOCK_MCUX
|
|
bool "MCUX PTP clock driver support"
|
|
default y
|
|
depends on PTP_CLOCK || NET_L2_PTP
|
|
help
|
|
Enable MCUX PTP clock support.
|
|
|
|
if PTP_CLOCK_MCUX
|
|
|
|
config ETH_MCUX_PTP_CLOCK_SRC_HZ
|
|
int "Frequency of the clock source for the PTP timer"
|
|
default 50000000 if SOC_SERIES_KINETIS_K6X
|
|
default 50000000 if SOC_SERIES_IMXRT10XX
|
|
default 24000000 if SOC_SERIES_IMXRT11XX
|
|
help
|
|
Set the frequency in Hz sourced to the PTP timer.
|
|
If the value is set properly, the timer will be accurate.
|
|
|
|
config ETH_MCUX_PTP_CLOCK_INIT_PRIO
|
|
int
|
|
default 85
|
|
help
|
|
MCUX PTP Clock initialization priority level. There is
|
|
a dependency from the network stack that this device
|
|
initializes before network stack (NET_INIT_PRIO).
|
|
|
|
endif # PTP_CLOCK_MCUX
|
|
|
|
endmenu # Legacy options
|
|
|
|
endif # ETH_MCUX
|
|
|
|
endmenu # NXP ENET
|