[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMEGJJ2m+Qjk4L5xFJZk+X7XSiop_63BH9gsrykLwz3+VMAQfA@mail.gmail.com>
Date: Tue, 18 Feb 2025 11:41:43 +0000
From: Phil Elwell <phil@...pberrypi.com>
To: Herve Codina <herve.codina@...tlin.com>
Cc: Andrew Lunn <andrew@...n.ch>, Andrea della Porta <andrea.porta@...e.com>, 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
On Mon, 17 Feb 2025 at 17:56, Herve Codina <herve.codina@...tlin.com> wrote:
>
> On Mon, 17 Feb 2025 17:03:34 +0000
> Phil Elwell <phil@...pberrypi.com> wrote:
>
<snip>
> > The job of the nexus node would be to translate a generic request for
> > a numbered resource to a specific request for an RP1 resource with
> > arbitrary properties. The arbitrary properties could be GPIO offsets,
> > which are board specific, while the node supplying the resource is
> > provided by the overlay. This means that an entry in the table,
> > described by a single property, could have contributions from the base
> > DT and the overlay, which is not possible since overlays overwrite
> > whole properties.
>
> Hum, I am a bit lost.
> Some DT example (base and overlay) could help me to understand.
I could, but I think it is becoming a distraction.
<snip>
> > I think I can see how that could be made to work for GPIOs. It looks
> > as though the GPIO subsystem is the only one making use of
> > of_parse_phandle_with_args_map. Interrupts seem to have an open-coded
> > equivalent, and iommus. What about I2C and PWM?
>
> Support for PWM has been recently accepted.
> https://lore.kernel.org/all/ufl4kwrjyp4zid4muvghefevqc6hk3zyvxnsu72fxd4f46fzg6@hufkci2dzjid/
>
> For i2c, nexus node is not suitable.
>
> Nexus node works well when resources are indexed (gpio line in a gpio chip
> for instance). For bus controller there is no index.
> I mean we never refer a i2c bus controller using <&i2c-ctrl 12>.
>
> For i2c, I proposed i2c bus extension:
> https://lore.kernel.org/all/20250205173918.600037-1-herve.codina@bootlin.com/
I don't see in principle why an address-cells of 0 should cause a
problem - it's a degenerate case, but it's still conceptually valid.
However, we seem to be having to invent a lot of new infrastructure -
some of it already supported by the kernel, some of it not - because
we have made the mistake of using a discoverable bus for a
point-to-point link on a PCB. I don't see how this is fundamentally
different to the USB-attached Ethernet controller on e.g. the Pi 3B.
Despite the fact that the Ethernet interface is discoverable, it has a
Device Tree declaration (see
arch/arm/boot/dts/broadcom/bcm283x-rpi-smsc9514.dtsi) in order that
the firmware can supply a MAC address. Yes, the RP1 DT declaration is
significantly larger, but size shouldn't matter for what seems to be
objections based on tenets.
Phil
Powered by blists - more mailing lists