misc: Add support for LAN966x PCI device
authorHerve Codina <herve.codina@bootlin.com>
Mon, 14 Oct 2024 12:46:30 +0000 (14:46 +0200)
committerPhilipp Zabel <p.zabel@pengutronix.de>
Thu, 24 Oct 2024 10:09:33 +0000 (12:09 +0200)
commit185686beb464996bc587e8ae1eee61f01bee080e
treea99e639076a7064bdf5011798649227448fd4a66
parentc0260e2b0ed824a36e99c6a9ec143a336eb37e59
misc: Add support for LAN966x PCI device

Add a PCI driver that handles the LAN966x PCI device using a device-tree
overlay. This overlay is applied to the PCI device DT node and allows to
describe components that are present in the device.

The memory from the device-tree is remapped to the BAR memory thanks to
"ranges" properties computed at runtime by the PCI core during the PCI
enumeration.

The PCI device itself acts as an interrupt controller and is used as the
parent of the internal LAN966x interrupt controller to route the
interrupts to the assigned PCI INTx interrupt.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Bjorn Helgaas <bhelgaas@google.com> # quirks.c
Link: https://lore.kernel.org/r/20241014124636.24221-2-herve.codina@bootlin.com
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
drivers/misc/Kconfig
drivers/misc/Makefile
drivers/misc/lan966x_pci.c [new file with mode: 0644]
drivers/misc/lan966x_pci.dtso [new file with mode: 0644]
drivers/pci/quirks.c