Let's introduce the Generic System Interconnect subsystem based on the counterpart Linux framework which is used to vote for bandwidth across multiple SoC busses. Documentation for the Linux Generic System Interconnect Subsystem can be found at [1]. Each bus endpoints are materialised as "nodes" which are linked together, and the DT will specify a pair of nodes to enable and set a bandwidth on the route between those endpoints. The hardware resources that provide those nodes and provides the way to vote for the bandwidth are called "providers". The Interconnect uclass code is heavily based on the Linux one, with some small differences: - nodes are allocated as udevices instead of Linux idr_alloc() - tag management is minimal, only normal xlate is supported - getting nodes states at probe is not implemented - providers are probed on demand while the nodes links are traversed - nodes are populated on bind - id management is simplified, static IDs and dynamics IDs can be used - identical consume API as Linux, only implementation differs Fully tested with associated DM test suite. [1] https://docs.kernel.org/driver-api/interconnect.html Link: https://patch.msgid.link/20251120-topic-interconnect-next-v5-1-e8a82720da5d@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
175 lines
2.9 KiB
Plaintext
175 lines
2.9 KiB
Plaintext
menu "Device Drivers"
|
|
|
|
source "drivers/core/Kconfig"
|
|
|
|
# types of drivers sorted in alphabetical order
|
|
|
|
source "drivers/adc/Kconfig"
|
|
|
|
source "drivers/ata/Kconfig"
|
|
|
|
source "drivers/axi/Kconfig"
|
|
|
|
source "drivers/bios_emulator/Kconfig"
|
|
|
|
source "drivers/bus/Kconfig"
|
|
|
|
source "drivers/block/Kconfig"
|
|
|
|
source "drivers/bootcount/Kconfig"
|
|
|
|
source "drivers/button/Kconfig"
|
|
|
|
source "drivers/cache/Kconfig"
|
|
|
|
source "drivers/clk/Kconfig"
|
|
|
|
source "drivers/cpu/Kconfig"
|
|
|
|
source "drivers/crypto/Kconfig"
|
|
|
|
source "drivers/ddr/Kconfig"
|
|
|
|
source "drivers/demo/Kconfig"
|
|
|
|
source "drivers/ddr/fsl/Kconfig"
|
|
|
|
source "drivers/dfu/Kconfig"
|
|
|
|
source "drivers/dma/Kconfig"
|
|
|
|
source "drivers/extcon/Kconfig"
|
|
|
|
source "drivers/fastboot/Kconfig"
|
|
|
|
source "drivers/firmware/Kconfig"
|
|
|
|
source "drivers/fuzz/Kconfig"
|
|
|
|
source "drivers/fpga/Kconfig"
|
|
|
|
source "drivers/fwu-mdata/Kconfig"
|
|
|
|
source "drivers/gpio/Kconfig"
|
|
|
|
source "drivers/hwspinlock/Kconfig"
|
|
|
|
source "drivers/i2c/Kconfig"
|
|
|
|
source "drivers/i3c/Kconfig"
|
|
|
|
source "drivers/input/Kconfig"
|
|
|
|
source "drivers/interconnect/Kconfig"
|
|
|
|
source "drivers/iommu/Kconfig"
|
|
|
|
source "drivers/led/Kconfig"
|
|
|
|
source "drivers/mailbox/Kconfig"
|
|
|
|
source "drivers/memory/Kconfig"
|
|
|
|
source "drivers/mfd/Kconfig"
|
|
|
|
source "drivers/misc/Kconfig"
|
|
|
|
source "drivers/mmc/Kconfig"
|
|
|
|
source "drivers/mtd/Kconfig"
|
|
|
|
source "drivers/mux/Kconfig"
|
|
|
|
source "drivers/net/Kconfig"
|
|
|
|
source "drivers/nvme/Kconfig"
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pci_endpoint/Kconfig"
|
|
|
|
source "drivers/pch/Kconfig"
|
|
|
|
source "drivers/phy/Kconfig"
|
|
|
|
source "drivers/phy/allwinner/Kconfig"
|
|
|
|
source "drivers/phy/marvell/Kconfig"
|
|
|
|
source "drivers/phy/socionext/Kconfig"
|
|
|
|
source "drivers/pinctrl/Kconfig"
|
|
|
|
source "drivers/power/Kconfig"
|
|
|
|
source "drivers/pwm/Kconfig"
|
|
|
|
source "drivers/qe/Kconfig"
|
|
|
|
source "drivers/ram/Kconfig"
|
|
|
|
source "drivers/reboot-mode/Kconfig"
|
|
|
|
source "drivers/remoteproc/Kconfig"
|
|
|
|
source "drivers/reset/Kconfig"
|
|
|
|
source "drivers/rng/Kconfig"
|
|
|
|
source "drivers/rtc/Kconfig"
|
|
|
|
source "drivers/scsi/Kconfig"
|
|
|
|
source "drivers/serial/Kconfig"
|
|
|
|
source "drivers/sm/Kconfig"
|
|
|
|
source "drivers/smem/Kconfig"
|
|
|
|
source "drivers/sound/Kconfig"
|
|
|
|
source "drivers/soc/Kconfig"
|
|
|
|
source "drivers/spi/Kconfig"
|
|
|
|
source "drivers/spmi/Kconfig"
|
|
|
|
source "drivers/sysinfo/Kconfig"
|
|
|
|
source "drivers/sysreset/Kconfig"
|
|
|
|
source "drivers/tee/Kconfig"
|
|
|
|
source "drivers/thermal/Kconfig"
|
|
|
|
source "drivers/timer/Kconfig"
|
|
|
|
source "drivers/tpm/Kconfig"
|
|
|
|
source "drivers/usb/Kconfig"
|
|
|
|
source "drivers/ufs/Kconfig"
|
|
|
|
source "drivers/video/Kconfig"
|
|
|
|
source "drivers/virtio/Kconfig"
|
|
|
|
source "drivers/w1/Kconfig"
|
|
|
|
source "drivers/w1-eeprom/Kconfig"
|
|
|
|
source "drivers/watchdog/Kconfig"
|
|
|
|
source "drivers/xen/Kconfig"
|
|
|
|
config PHYS_TO_BUS
|
|
bool "Custom physical to bus address mapping"
|
|
depends on !COMPILE_TEST
|
|
help
|
|
Some SoCs use a different address map for CPU physical addresses and
|
|
peripheral DMA master accesses. If yours does, select this option in
|
|
your platform's Kconfig, and implement the appropriate mapping
|
|
functions in your platform's support code.
|
|
|
|
endmenu
|