Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

# SPDX-License-Identifier: GPL-2.0-only
config CONFIG_NTB_IDT
	tristate "IDT PCIe-switch Non-Transparent Bridge support"
	depends on CONFIG_PCI
	select CONFIG_HWMON
	help
	 This driver supports CONFIG_NTB of capable IDT PCIe-switches.

	 Some of the pre-initializations must be made before IDT PCIe-switch
	 exposes its NT-functions correctly. It should be done by either proper
	 initialization of EEPROM connected to master SMbus of the switch or
	 by BIOS using slave-SMBus interface changing corresponding registers
	 value. Evidently it must be done before CONFIG_PCI bus enumeration is
	 finished in Linux kernel.

	 First of all partitions must be activated and properly assigned to all
	 the ports with NT-functions intended to be activated (see SWPARTxCTL
	 and SWPORTxCTL registers). Then all NT-function BARs must be enabled
	 with chosen valid aperture. For memory windows related BARs the
	 aperture settings shall determine the maximum size of memory windows
	 accepted by a BAR. Note that BAR0 must map CONFIG_PCI configuration space
	 registers.

	 It's worth to note, that since a part of this driver relies on the
	 BAR settings of peer NT-functions, the BAR setups can't be done over
	 kernel CONFIG_PCI fixups. That's why the alternative pre-initialization
	 techniques like BIOS using SMBus interface or EEPROM should be
	 utilized.

	 If unsure, say N.