1# Copyright 2024 NXP
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig ETH_NXP_IMX_NETC
5	bool "NXP IMX Ethernet and Network Controller (NETC) driver"
6	default y
7	depends on DT_HAS_NXP_IMX_NETC_PSI_ENABLED
8	select MDIO
9	select NOCACHE_MEMORY if ARCH_HAS_NOCACHE_MEMORY_SUPPORT
10	help
11	  Enable Ethernet and Network Controller (NETC) driver for NXP IMX SoCs.
12
13if ETH_NXP_IMX_NETC
14
15config ETH_NXP_IMX_MSGINTR
16	int "Message Interrupt module select"
17	default 1
18	help
19	  Message Interrupt module select.
20
21config ETH_NXP_IMX_RX_THREAD_PRIO
22	int "RX thread priority"
23	default 2
24	help
25	  RX thread priority. RX thread is a cooperative thread.
26
27config ETH_NXP_IMX_RX_THREAD_STACK_SIZE
28	int "RX thread stack size"
29	default 1500
30	help
31	  RX thread stack size.
32
33config ETH_NXP_IMX_RX_BUDGET
34	int "RX thread budget"
35	default 128
36	range 1 1024
37	help
38	  The budget parameter places a limit on the amount of work the driver may
39	  do in the RX thread before yielding the processor, in case there is more
40	  work to do. This is to prevent the RX thread to starve other threads. Each
41	  received frame counts as one unit of work.
42
43config ETH_NXP_IMX_TX_RING_NUM
44	int "TX ring number"
45	default 1
46	range 1 1023
47	help
48	  TX ring number used. The actual maximum value may varies from platforms.
49
50config ETH_NXP_IMX_TX_RING_LEN
51	int "TX ring length"
52	default 8
53	range 8 256
54	help
55	  Length of the TX ring. The value must be a multiple of 8.
56
57config ETH_NXP_IMX_TX_RING_BUF_SIZE
58	int "TX ring data buffer size"
59	default 1000
60	range 64 1536
61	help
62	  Size, in bytes, of the TX data buffer. The size must be big enough to
63	  store one complete Ethernet frame, and be a multiple of 8.
64
65config ETH_NXP_IMX_RX_RING_NUM
66	int "RX ring number"
67	default 1
68	range 1 1023
69	help
70	  RX ring number used. The actual maximum value may varies from platforms.
71
72config ETH_NXP_IMX_RX_RING_LEN
73	int "RX ring length"
74	default 8
75	range 8 256
76	help
77	  Length of the RX ring. The value must be a multiple of 8.
78
79config ETH_NXP_IMX_RX_RING_BUF_SIZE
80	int "RX ring data buffer size"
81	default 1518
82	range 64 1536
83	help
84	  Size, in bytes, of the RX data buffer. The size must be big enough to
85	  store one complete Ethernet frame, and be a multiple of 8.
86
87endif # ETH_NXP_IMX_NETC
88