ab346c08b5
So far the init priories were: enetc_psi0=60 < enetc_vsin=61 < emdio=70 < ethernet-phy=80 because the Ethernet PSI driver was doing global initialization for the whole NETC complex, including enabling MDIO function (due to the way the HAL works). Change to use the default init priorities: mdio=60 < phy=70 < eth=enetc_psi0=80 < enetc_vsin=81 by executing at an early stage the NETC global initialization. This also allows to match the DT hierarchy representation of NETC with the effective priorities assigned. Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
104 lines
2.9 KiB
Plaintext
104 lines
2.9 KiB
Plaintext
# Copyright 2022 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig ETH_NXP_S32_NETC
|
|
bool "NXP S32 Ethernet Switch and Controller (NETC) driver"
|
|
default y
|
|
depends on (DT_HAS_NXP_S32_NETC_PSI_ENABLED || DT_HAS_NXP_S32_NETC_VSI_ENABLED)
|
|
depends on !NET_TEST
|
|
select MBOX
|
|
select MDIO if DT_HAS_NXP_S32_NETC_PSI_ENABLED
|
|
select NOCACHE_MEMORY
|
|
help
|
|
Enable Ethernet Switch and Controller (NETC) driver for NXP S32 SoCs.
|
|
|
|
if ETH_NXP_S32_NETC
|
|
|
|
config ETH_NXP_S32_RX_THREAD_PRIO
|
|
int "RX thread priority"
|
|
default 2
|
|
help
|
|
RX thread priority. RX thread is a cooperative thread.
|
|
|
|
config ETH_NXP_S32_RX_THREAD_STACK_SIZE
|
|
int "RX thread stack size"
|
|
default 1500
|
|
help
|
|
RX thread stack size.
|
|
|
|
config ETH_NXP_S32_RX_BUDGET
|
|
int "RX thread budget"
|
|
default 128
|
|
range 1 1024
|
|
help
|
|
The budget parameter places a limit on the amount of work the driver may
|
|
do in the RX thread before yielding the processor, in case there is more
|
|
work to do. This is to prevent the RX thread to starve other threads. Each
|
|
received frame counts as one unit of work.
|
|
|
|
config ETH_NXP_S32_TX_RING_LEN
|
|
int "TX ring length"
|
|
default 64
|
|
range 8 256
|
|
help
|
|
Length of the TX ring. The value must be a multiple of 8.
|
|
|
|
config ETH_NXP_S32_TX_RING_BUF_SIZE
|
|
int "TX ring data buffer size"
|
|
default 1536
|
|
range 64 1536
|
|
help
|
|
Size, in bytes, of the TX data buffer. The size must be big enough to
|
|
store one complete Ethernet frame, and be a multiple of 8.
|
|
|
|
config ETH_NXP_S32_RX_RING_LEN
|
|
int "RX ring length"
|
|
default 64
|
|
range 8 256
|
|
help
|
|
Length of the RX ring. The value must be a multiple of 8.
|
|
|
|
config ETH_NXP_S32_RX_RING_BUF_SIZE
|
|
int "RX ring data buffer size"
|
|
default 1536
|
|
range 64 1536
|
|
help
|
|
Size, in bytes, of the RX data buffer. The size must be big enough to
|
|
store one complete Ethernet frame, and be a multiple of 8.
|
|
|
|
config ETH_NXP_S32_RX_IRQ_PACKET_THRESHOLD
|
|
int "RX interrupt coalescing packet threshold"
|
|
default 32
|
|
range 1 511
|
|
help
|
|
RX interrupt coalescing packet threshold. This values determines the
|
|
minimum number of packets received before raising an interrupt.
|
|
|
|
config ETH_NXP_S32_RX_IRQ_TIMER_THRESHOLD
|
|
int "RX interrupt coalescing timer threshold"
|
|
default 60000
|
|
range 1 4294967295
|
|
help
|
|
RX interrupt coalescing timer threshold, in units of NETC clock cycles.
|
|
This value determines the maximum amount of time allowed between a first
|
|
received packet until RX interrupt coalescing packet threshold is reached.
|
|
If the timer expires before the threshold is reached, an interrupt is
|
|
raised.
|
|
|
|
config ETH_NXP_S32_MAC_FILTER_TABLE_SIZE
|
|
int "MAC filter hash table size"
|
|
default 8
|
|
range 8 128
|
|
help
|
|
Maximum number of entries supported in the MAC filter hash table.
|
|
|
|
config ETH_NXP_S32_VSI_INIT_PRIORITY
|
|
int
|
|
default 81
|
|
help
|
|
VSI initialization priority. It must be bigger than PSI init priority
|
|
(CONFIG_ETH_INIT_PRIORITY) and lower than CONFIG_NET_INIT_PRIO, so
|
|
that it can start after the PSI but before the networking sub-system.
|
|
|
|
endif # ETH_NXP_S32_NETC
|