Hi Hervé, On Thu, 13 Feb 2025 at 16:14, Herve Codina <herve.codina@xxxxxxxxxxx> wrote: > > Hi Phil, > > On Thu, 13 Feb 2025 15:18:45 +0000 > Phil Elwell <phil@xxxxxxxxxxxxxxx> 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