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