Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
bf2a952d SS |
2 | config NTB_IDT |
3 | tristate "IDT PCIe-switch Non-Transparent Bridge support" | |
4 | depends on PCI | |
aed1b7b3 | 5 | select HWMON |
bf2a952d SS |
6 | help |
7 | This driver supports NTB of cappable IDT PCIe-switches. | |
8 | ||
9 | Some of the pre-initializations must be made before IDT PCIe-switch | |
10 | exposes it NT-functions correctly. It should be done by either proper | |
11 | initialisation 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 | |
a662315d | 28 | utilized. |
bf2a952d SS |
29 | |
30 | If unsure, say N. | |
31 |