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