xref: /linux/drivers/net/ethernet/mellanox/mlxsw/Kconfig (revision ebf68996de0ab250c5d520eb2291ab65643e9a1e)
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Mellanox switch drivers configuration
4#
5
6config MLXSW_CORE
7	tristate "Mellanox Technologies Switch ASICs support"
8	select NET_DEVLINK
9	---help---
10	  This driver supports Mellanox Technologies Switch ASICs family.
11
12	  To compile this driver as a module, choose M here: the
13	  module will be called mlxsw_core.
14
15config MLXSW_CORE_HWMON
16	bool "HWMON support for Mellanox Technologies Switch ASICs"
17	depends on MLXSW_CORE && HWMON
18	depends on !(MLXSW_CORE=y && HWMON=m)
19	default y
20	---help---
21	  Say Y here if you want to expose HWMON interface on mlxsw devices.
22
23config MLXSW_CORE_THERMAL
24	bool "Thermal zone support for Mellanox Technologies Switch ASICs"
25	depends on MLXSW_CORE && THERMAL
26	default y
27	---help---
28	 Say Y here if you want to automatically control fans speed according
29	 ambient temperature reported by ASIC.
30
31config MLXSW_PCI
32	tristate "PCI bus implementation for Mellanox Technologies Switch ASICs"
33	depends on PCI && HAS_IOMEM && MLXSW_CORE
34	default m
35	---help---
36	  This is PCI bus implementation for Mellanox Technologies Switch ASICs.
37
38	  To compile this driver as a module, choose M here: the
39	  module will be called mlxsw_pci.
40
41config MLXSW_I2C
42	tristate "I2C bus implementation for Mellanox Technologies Switch ASICs"
43	depends on I2C && MLXSW_CORE
44	default m
45	---help---
46	  This is I2C bus implementation for Mellanox Technologies Switch ASICs.
47
48	  To compile this driver as a module, choose M here: the
49	  module will be called mlxsw_i2c.
50
51config MLXSW_SWITCHIB
52	tristate "Mellanox Technologies SwitchIB and SwitchIB-2 support"
53	depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV
54	default m
55	---help---
56	  This driver supports Mellanox Technologies SwitchIB and SwitchIB-2
57	  Infiniband Switch ASICs.
58
59	  To compile this driver as a module, choose M here: the
60	  module will be called mlxsw_switchib.
61
62config MLXSW_SWITCHX2
63	tristate "Mellanox Technologies SwitchX-2 support"
64	depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV
65	default m
66	---help---
67	  This driver supports Mellanox Technologies SwitchX-2 Ethernet
68	  Switch ASICs.
69
70	  To compile this driver as a module, choose M here: the
71	  module will be called mlxsw_switchx2.
72
73config MLXSW_SPECTRUM
74	tristate "Mellanox Technologies Spectrum support"
75	depends on MLXSW_CORE && MLXSW_PCI && NET_SWITCHDEV && VLAN_8021Q
76	depends on PSAMPLE || PSAMPLE=n
77	depends on BRIDGE || BRIDGE=n
78	depends on IPV6 || IPV6=n
79	depends on NET_IPGRE || NET_IPGRE=n
80	depends on IPV6_GRE || IPV6_GRE=n
81	depends on VXLAN || VXLAN=n
82	select GENERIC_ALLOCATOR
83	select PARMAN
84	select OBJAGG
85	select MLXFW
86	default m
87	---help---
88	  This driver supports Mellanox Technologies Spectrum Ethernet
89	  Switch ASICs.
90
91	  To compile this driver as a module, choose M here: the
92	  module will be called mlxsw_spectrum.
93
94config MLXSW_SPECTRUM_DCB
95	bool "Data Center Bridging (DCB) support"
96	depends on MLXSW_SPECTRUM && DCB
97	default y
98	---help---
99	  Say Y here if you want to use Data Center Bridging (DCB) in the
100	  driver.
101
102config MLXSW_MINIMAL
103	tristate "Mellanox Technologies minimal I2C support"
104	depends on MLXSW_CORE && MLXSW_I2C
105	default m
106	---help---
107	  This driver supports I2C access for Mellanox Technologies Switch
108	  ASICs.
109
110	  To compile this driver as a module, choose M here: the
111	  module will be called mlxsw_minimal.
112