1# Copyright 2024
2# SPDX-License-Identifier: Apache-2.0
3
4menuconfig ETH_NXP_ENET_QOS
5	bool "NXP ENET QOS Ethernet Module Driver"
6	default y
7	depends on DT_HAS_NXP_ENET_QOS_ENABLED
8	select PINCTRL
9	select MDIO if DT_HAS_NXP_ENET_QOS_MDIO_ENABLED
10	help
11	  Enable NXP ENET Ethernet Module Driver. This driver
12	  handles IP module level tasks.
13
14if ETH_NXP_ENET_QOS
15
16config ETH_NXP_ENET_QOS_MAC
17	bool "NXP ENET QOS Ethernet MAC Driver"
18	default y
19	depends on DT_HAS_NXP_ENET_QOS_MAC_ENABLED
20	depends on NET_BUF_FIXED_DATA_SIZE
21	help
22	  Enable NXP ENET QOS Ethernet MAC Driver.
23
24if ETH_NXP_ENET_QOS_MAC
25
26DT_PROP_NXP_ENET_QOS_MAC_UNIQUE_MAC := nxp,unique-mac
27
28config ETH_NXP_ENET_QOS_MAC_UNIQUE_MAC_ADDRESS
29	bool "Unique MAC address support"
30	default y if $(dt_compat_any_has_prop,$(DT_COMPAT_NXP_ENET_QOS_MAC),$(DT_PROP_NXP_ENET_QOS_MAC_UNIQUE_MAC),True)
31	select HWINFO
32	select CRC
33	help
34	  Enable Unique MAC address support based on device UUID.
35
36
37config ETH_NXP_ENET_QOS_TX_BUFFER_DESCRIPTORS
38	int "Number of tx buffer descriptors"
39	default 4
40	range 4 1024
41	help
42	  Number of TX buffer descriptors.
43
44config ETH_NXP_ENET_QOS_RX_BUFFER_DESCRIPTORS
45	int "Number of rx buffer descriptors"
46	default 4
47	range 4 1024
48	help
49	  Number of RX buffer descriptors.
50
51config ETH_NXP_ENET_QOS_DMA_RESET_WAIT_TIME
52	int "Time in microseconds to wait for software reset"
53	default 10
54	range 0 1000
55	help
56	  Time in us microseconds allow for software reset.
57	  Value of 0 will allow the driver to wait unlimited time.
58
59config ETH_NXP_ENET_QOS_RX_THREAD_STACK_SIZE
60	int "Size of ENET QOS RX thread stack"
61	default 1024
62	help
63	  Size in bytes of the ENET QOS RX thread stack.
64
65config ETH_NXP_ENET_QOS_RX_THREAD_PRIORITY
66	int "Cooperative priority of the ENET QOS RX thread"
67	default 3
68	help
69	  Cooperative priority of the ENET QOS RX thread
70
71endif # ETH_NXP_ENET_QOS_MAC
72endif # ETH_NXP_ENET_QOS
73