mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-29 11:06:29 +08:00
The Toshiba TC9564 is small and highly-specialized SoC that implements a PCIe switch as well as an Ethernet AVB/TSN bridge. In addition to these, the SoC implements other functions, including a reset and clock controller, an address translation unit, and a few other devices. PCIe BARs provide access to registers that manage these IP blocks, and the SoC is modeled using a PCI endpoint bus in devicetree. This allows the IP blocks to be bound to platform drivers that do MMIO via the PCI BARs. Create a new PCI driver under drivers/misc that binds with the embedded PCI endpoint functions within the TC9564 SoC. Because these functions will use devicetree pci-ep-bus to provide access to other IP blocks within the TC9564 chip, the main purpose of this driver is to do basic PCI initialization, then call of_platform_default_populate() to scan for the any endpoint bus children, and probe all devices defined therein. Because we're using pci-ep-bus, we need to use the PCI quirks mechanism to have of_pci_make_dev_node() be called for each endpoint device in pci_bus_add_device() (via pci_fixup_device(pci_fixup_final, dev)). Co-developed-by: Daniel Thompson <daniel@riscstar.com> Signed-off-by: Daniel Thompson <daniel@riscstar.com> Signed-off-by: Alex Elder <elder@riscstar.com> Acked-by: Bjorn Helgaas <bhelgaas@google.com> # quirks.c Link: https://patch.msgid.link/20260918152659.413268-3-elder@riscstar.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
75 lines
2.7 KiB
Makefile
75 lines
2.7 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
#
|
|
# Makefile for misc devices that really don't fit anywhere else.
|
|
#
|
|
|
|
obj-$(CONFIG_IBMVMC) += ibmvmc.o
|
|
obj-$(CONFIG_AD525X_DPOT) += ad525x_dpot.o
|
|
obj-$(CONFIG_AD525X_DPOT_I2C) += ad525x_dpot-i2c.o
|
|
obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o
|
|
obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o
|
|
obj-$(CONFIG_DUMMY_IRQ) += dummy-irq.o
|
|
obj-$(CONFIG_ICS932S401) += ics932s401.o
|
|
obj-$(CONFIG_LKDTM) += lkdtm/
|
|
obj-$(CONFIG_TI_FPC202) += ti_fpc202.o
|
|
obj-$(CONFIG_TIFM_CORE) += tifm_core.o
|
|
obj-$(CONFIG_TIFM_7XX1) += tifm_7xx1.o
|
|
obj-$(CONFIG_PHANTOM) += phantom.o
|
|
obj-$(CONFIG_RPMB) += rpmb-core.o
|
|
obj-$(CONFIG_QCOM_COINCELL) += qcom-coincell.o
|
|
obj-$(CONFIG_QCOM_FASTRPC) += fastrpc.o
|
|
obj-$(CONFIG_SENSORS_BH1770) += bh1770glc.o
|
|
obj-$(CONFIG_ENCLOSURE_SERVICES) += enclosure.o
|
|
obj-$(CONFIG_KGDB_TESTS) += kgdbts.o
|
|
obj-$(CONFIG_SMPRO_ERRMON) += smpro-errmon.o
|
|
obj-$(CONFIG_SMPRO_MISC) += smpro-misc.o
|
|
obj-$(CONFIG_CS5535_MFGPT) += cs5535-mfgpt.o
|
|
obj-$(CONFIG_GEHC_ACHC) += gehc-achc.o
|
|
obj-$(CONFIG_HP_ILO) += hpilo.o
|
|
obj-$(CONFIG_APDS9802ALS) += apds9802als.o
|
|
obj-$(CONFIG_ISL29003) += isl29003.o
|
|
obj-$(CONFIG_ISL29020) += isl29020.o
|
|
obj-$(CONFIG_SENSORS_TSL2550) += tsl2550.o
|
|
obj-$(CONFIG_DS1682) += ds1682.o
|
|
obj-$(CONFIG_C2PORT) += c2port/
|
|
obj-$(CONFIG_HMC6352) += hmc6352.o
|
|
obj-y += eeprom/
|
|
obj-y += cb710/
|
|
obj-$(CONFIG_VMWARE_BALLOON) += vmw_balloon.o
|
|
obj-$(CONFIG_PCH_PHUB) += pch_phub.o
|
|
obj-y += lis3lv02d/
|
|
obj-$(CONFIG_ALTERA_STAPL) +=altera-stapl/
|
|
obj-$(CONFIG_INTEL_MEI) += mei/
|
|
obj-$(CONFIG_VMWARE_VMCI) += vmw_vmci/
|
|
obj-$(CONFIG_LATTICE_ECP3_CONFIG) += lattice-ecp3-config.o
|
|
obj-$(CONFIG_SRAM) += sram.o
|
|
obj-$(CONFIG_SRAM_EXEC) += sram-exec.o
|
|
obj-$(CONFIG_GENWQE) += genwqe/
|
|
obj-$(CONFIG_DW_XDATA_PCIE) += dw-xdata-pcie.o
|
|
obj-$(CONFIG_PCI_ENDPOINT_TEST) += pci_endpoint_test.o
|
|
obj-$(CONFIG_OCXL) += ocxl/
|
|
obj-$(CONFIG_BCM_VK) += bcm-vk/
|
|
obj-y += cardreader/
|
|
obj-$(CONFIG_PVPANIC) += pvpanic/
|
|
obj-$(CONFIG_UACCE) += uacce/
|
|
obj-$(CONFIG_XILINX_SDFEC) += xilinx_sdfec.o
|
|
obj-$(CONFIG_NTSYNC) += ntsync.o
|
|
obj-$(CONFIG_HI6421V600_IRQ) += hi6421v600-irq.o
|
|
obj-$(CONFIG_OPEN_DICE) += open-dice.o
|
|
obj-$(CONFIG_GP_PCI1XXXX) += mchp_pci1xxxx/
|
|
obj-$(CONFIG_VCPU_STALL_DETECTOR) += vcpu_stall_detector.o
|
|
obj-$(CONFIG_TMR_MANAGER) += xilinx_tmr_manager.o
|
|
obj-$(CONFIG_TMR_INJECT) += xilinx_tmr_inject.o
|
|
obj-$(CONFIG_TPS6594_ESM) += tps6594-esm.o
|
|
obj-$(CONFIG_TPS6594_PFSM) += tps6594-pfsm.o
|
|
obj-$(CONFIG_NSM) += nsm.o
|
|
obj-$(CONFIG_MARVELL_CN10K_DPI) += mrvl_cn10k_dpi.o
|
|
lan966x-pci-objs := lan966x_pci.o
|
|
lan966x-pci-objs += lan966x_pci.dtbo.o
|
|
obj-$(CONFIG_MCHP_LAN966X_PCI) += lan966x-pci.o
|
|
obj-y += keba/
|
|
obj-y += amd-sbi/
|
|
obj-$(CONFIG_MISC_RP1) += rp1/
|
|
obj-$(CONFIG_INTEL_SSEI) += issei/
|
|
obj-$(CONFIG_TC9564_PCI) += tc9564-pci.o
|