Hi Matthias, On 15:24 Thu 29 May , Matthias Brugger wrote: > > > On 29/05/2025 14:43, Andrea della Porta wrote: > > The RaspberryPi RP1 is a PCI multi function device containing > > peripherals ranging from Ethernet to USB controller, I2C, SPI > > and others. > > > > Implement a bare minimum driver to operate the RP1, leveraging > > actual OF based driver implementations for the on-board peripherals > > by loading a devicetree overlay during driver probe if the RP1 > > node is not already present in the DT. > > > > The peripherals are accessed by mapping MMIO registers starting > > from PCI BAR1 region. > > > > With the overlay approach we can achieve more generic and agnostic > > approach to managing this chipset, being that it is a PCI endpoint > > and could possibly be reused in other hw implementations. The > > presented approach is also used by Bootlin's Microchip LAN966x > > patchset (see link) as well, for a similar chipset. > > In this case, the inclusion tree for the DT overlay is as follow > > (the arrow points to the includer): > > > > rp1-pci.dtso <---- rp1-common.dtsi > > > > On the other hand, to ensure compatibility with downstream, this > > driver can also work with a DT already comprising the RP1 node, so > > the dynamically loaded overlay will not be used if the DT is already > > fully defined. > > > > The reason why this driver is contained in drivers/misc has > > been paved by Bootlin's LAN966X driver, which first used the > > overlay approach to implement non discoverable peripherals behind a > > PCI bus. For RP1, the same arguments apply: it's not used as an SoC > > since the driver code is not running on-chip and is not like an MFD > > since it does not really need all the MFD infrastructure (shared regs, > > etc.). So, for this particular use, misc has been proposed and deemed > > as a good choice. For further details about that please check the links. > > > > This driver is heavily based on downstream code from RaspberryPi > > Foundation, and the original author is Phil Elwell. > > > > Link: https://datasheets.raspberrypi.com/rp1/rp1-peripherals.pdf > > Link: https://lore.kernel.org/all/20240612140208.GC1504919@xxxxxxxxxx/ > > Link: https://lore.kernel.org/all/83f7fa09-d0e6-4f36-a27d-cee08979be2a@xxxxxxxxxxxxxxxx/ > > Link: https://lore.kernel.org/all/2024081356-mutable-everyday-6f9d@gregkh/ > > Link: https://lore.kernel.org/all/20240808154658.247873-1-herve.codina@xxxxxxxxxxx/ > > > > Signed-off-by: Andrea della Porta <andrea.porta@xxxxxxxx> > > Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> # quirks.c, pci_ids.h > > What changed in this patch so that you didn't include the Acked-by from Greg > [1], or is this an oversight? Nothing really, just an oversight. Thanks for spotting that out. I will resend V12 with it as I also notice that are some inconsistencies with mail Message-id, as a result of subseqeunt invokation of git-format-patch from different branch. Thanks, Andrea > > Regards, > Matthias > > [1] https://lore.kernel.org/linux-arm-kernel/2025042551-agency-boozy-dc3b@gregkh/ >