xref: /openbmc/linux/drivers/ntb/hw/idt/Kconfig (revision 799fb82aa132fa3a3886b7872997a5a84e820062)
1 # SPDX-License-Identifier: GPL-2.0-only
2 config NTB_IDT
3 	tristate "IDT PCIe-switch Non-Transparent Bridge support"
4 	depends on PCI
5 	select HWMON
6 	help
7 	 This driver supports NTB of capable IDT PCIe-switches.
8 
9 	 Some of the pre-initializations must be made before IDT PCIe-switch
10 	 exposes its NT-functions correctly. It should be done by either proper
11 	 initialization of EEPROM connected to master SMbus of the switch or
12 	 by BIOS using slave-SMBus interface changing corresponding registers
13 	 value. Evidently it must be done before PCI bus enumeration is
14 	 finished in Linux kernel.
15 
16 	 First of all partitions must be activated and properly assigned to all
17 	 the ports with NT-functions intended to be activated (see SWPARTxCTL
18 	 and SWPORTxCTL registers). Then all NT-function BARs must be enabled
19 	 with chosen valid aperture. For memory windows related BARs the
20 	 aperture settings shall determine the maximum size of memory windows
21 	 accepted by a BAR. Note that BAR0 must map PCI configuration space
22 	 registers.
23 
24 	 It's worth to note, that since a part of this driver relies on the
25 	 BAR settings of peer NT-functions, the BAR setups can't be done over
26 	 kernel PCI fixups. That's why the alternative pre-initialization
27 	 techniques like BIOS using SMBus interface or EEPROM should be
28 	 utilized.
29 
30 	 If unsure, say N.
31 
32