[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMEGJJ1++aeE7WWLVVesbujME+r2WicEkK+CQgigRRp2grYf=A@mail.gmail.com>
Date: Thu, 13 Feb 2025 16:27:23 +0000
From: Phil Elwell <phil@...pberrypi.com>
To: Herve Codina <herve.codina@...tlin.com>
Cc: Andrea della Porta <andrea.porta@...e.com>, andrew@...n.ch, Arnd Bergmann <arnd@...db.de>,
"maintainer:BROADCOM BCM7XXX ARM ARCHITECTURE" <bcm-kernel-feedback-list@...adcom.com>, bhelgaas@...gle.com, brgl@...ev.pl,
Catalin Marinas <catalin.marinas@....com>, Conor Dooley <conor+dt@...nel.org>, derek.kiernan@....com,
devicetree@...r.kernel.org, dragan.cvetic@....com,
Florian Fainelli <florian.fainelli@...adcom.com>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, krzk+dt@...nel.org, kw@...ux.com,
Linus Walleij <linus.walleij@...aro.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>, linux-clk@...r.kernel.org,
linux-gpio@...r.kernel.org, LKML <linux-kernel@...r.kernel.org>,
"open list:PCI NATIVE HOST BRIDGE AND ENDPOINT DRIVERS" <linux-pci@...r.kernel.org>,
"moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" <linux-rpi-kernel@...ts.infradead.org>, lpieralisi@...nel.org,
luca.ceresoli@...tlin.com, manivannan.sadhasivam@...aro.org,
masahiroy@...nel.org, Michael Turquette <mturquette@...libre.com>,
Rob Herring <robh@...nel.org>, saravanak@...gle.com, Stephen Boyd <sboyd@...nel.org>,
thomas.petazzoni@...tlin.com, Stefan Wahren <wahrenst@....net>,
Will Deacon <will@...nel.org>, Dave Stevenson <dave.stevenson@...pberrypi.com>
Subject: Re: [PATCH v6 00/10] Add support for RaspberryPi RP1 PCI device using
a DT overlay
Hi Hervé,
On Thu, 13 Feb 2025 at 16:14, Herve Codina <herve.codina@...tlin.com> wrote:
>
> Hi Phil,
>
> On Thu, 13 Feb 2025 15:18:45 +0000
> Phil Elwell <phil@...pberrypi.com> wrote:
>
> > Hi Andrea,
> >
> > The problem with this approach (loading an overlay from the RP1 PCIe
> > driver), and it's one that I have raised with you offline, is that
> > (unless anyone can prove otherwise) it becomes impossible to create a
> > Pi 5 DTS file which makes use of the RP1's resources. How do you
> > declare something as simple as a button wired to an RP1 GPIO, or fan
> > connected to a PWM output?
>
> The driver could be improved in a second step.
> For instance, it could load the dtbo from user-space using request_firmare()
> instead of loading the embedded dtbo.
>
> >
> > If this is the preferred route to upstream adoption, I would prefer it
> > if rp1.dtso could be split in two - an rp1.dtsi similar to what we
> > have downstream, and an rp1.dtso that #includes it. In this way we can
> > keep the patching and duplication to a minimum.
>
> Indeed, having a rp1.dtsi avoid duplication but how the rp1.dtso in
> the the kernel sources could include user customization (button, fan, ...)
> without being modified ?
> At least we have to '#include <my_rp1_customizations.dtsi>'.
>
> Requesting the dtbo from user-space allows to let the user to create
> its own dtso without the need to modify the one in kernel sources.
>
> Does it make sense ?
I think I understand what you are saying, but at this point the RP1
overlay would no longer be an RP1 overlay - it would be an
RP1-and-everything-connected-to-it overlay, which is inherently
board-specific. Which user-space process do you think would be
responsible for loading this alternative overlay, choosing carefully
based on the platform it is running on? Doesn't that place quite a
burden on all the OS maintainers who up to now have just needed a
kernel and a bunch of dtb files?
If it is considered essential that the upstream Pi 5 dts file does not
include RP1 and its children, then Raspberry Pi are going to have to
walk a different path until we've seen how that can work. By splitting
rp1.dtso as I suggested, and perhaps providing an alternative helper
function that only applies the built-in overlay if the device node
doesn't already exist, we get to stay as close to upstream as
possible.
Phil
Powered by blists - more mailing lists