From: Andrea della Porta <andrea.porta@suse.com>
To: Andrea della Porta <andrea.porta@suse.com>
Cc: Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Florian Fainelli <florian.fainelli@broadcom.com>,
Broadcom internal kernel review list
<bcm-kernel-feedback-list@broadcom.com>,
Lorenzo Pieralisi <lpieralisi@kernel.org>,
Krzysztof Wilczynski <kw@linux.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>,
Bjorn Helgaas <bhelgaas@google.com>,
Linus Walleij <linus.walleij@linaro.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will@kernel.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Derek Kiernan <derek.kiernan@amd.com>,
Dragan Cvetic <dragan.cvetic@amd.com>,
Arnd Bergmann <arnd@arndb.de>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Saravana Kannan <saravanak@google.com>,
linux-clk@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org,
linux-gpio@vger.kernel.org,
Masahiro Yamada <masahiroy@kernel.org>,
Stefan Wahren <wahrenst@gmx.net>,
Herve Codina <herve.codina@bootlin.com>,
Luca Ceresoli <luca.ceresoli@bootlin.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Andrew Lunn <andrew@lunn.ch>, Phil Elwell <phil@raspberrypi.com>,
Dave Stevenson <dave.stevenson@raspberrypi.com>,
kernel-list@raspberrypi.com, Matthias Brugger <mbrugger@suse.com>
Subject: Re: [PATCH v11 0/13] Add support for RaspberryPi RP1 PCI device using a DT overlay
Date: Thu, 29 May 2025 15:39:06 +0200 [thread overview]
Message-ID: <aDhjehJxIxfNPwTr@apocalypse> (raw)
In-Reply-To: <cover.1748522349.git.andrea.porta@suse.com>
Again, this patchset for some reason has duplicated Message-Id for
patches 1 to 5, so they will result as clobbered up. Please ignore
V10 and V11, I'll send V12 which should be, hopefully, the correct one.
Sorry for that.
Andrea
On 14:43 Thu 29 May , Andrea della Porta wrote:
> *** RESENDING PATCHSET AS V11 SINCE LAST ONE HAS CLOBBERED SEQUENCE NUMBER ***
>
> RP1 is an MFD chipset that acts as a south-bridge PCIe endpoint sporting
> a pletora of subdevices (i.e. Ethernet, USB host controller, I2C, PWM,
> etc.) whose registers are all reachable starting from an offset from the
> BAR address. The main point here is that while the RP1 as an endpoint
> itself is discoverable via usual PCI enumeraiton, the devices it contains
> are not discoverable and must be declared e.g. via the devicetree.
>
> This patchset is an attempt to provide a minimum infrastructure to allow
> the RP1 chipset to be discovered and perpherals it contains to be added
> from a devictree overlay loaded during RP1 PCI endpoint enumeration. To
> ensure compatibility with downstream, a devicetree already comprising the
> RP1 node is also provided, so it's not strictly necessary to use the
> dynamically loaded overlay if the devicetree is already fully defined at
> the origin.
> To achieve this modularity, the RP1 node DT definitions are arranged by
> file inclusion as per following schema (the arrow points to the includer,
> see also [9]):
>
> rp1-pci.dtso rp1.dtso
> ^ ^
> | |
> rp1-common.dtsi ----> rp1-nexus.dtsi ----> bcm2712-rpi-5-b.dts
> ^
> |
> bcm2712-rpi-5-b-ovl-rp1.dts
>
> Followup patches should add support for the several peripherals contained
> in RP1.
>
> This work is based upon dowstream drivers code and the proposal from RH
> et al. (see [1] and [2]). A similar approach is also pursued in [3].
>
> The patches are ordered as follows:
>
> -PATCHES 1 to 3: add binding schemas for clock, gpio and RP1 peripherals.
> They are needed to support the other peripherals, e.g. the ethernet mac
> depends on a clock generated by RP1 and the phy is reset through the
> on-board gpio controller.
>
> -PATCH 4 and 5: add clock and gpio device drivers.
>
> -PATCH 6: the devicetree node describing the RP1 chipset.
>
> -PATCH 7: this is the main patch to support RP1 chipset. It can work
> either with a fully defined devicetree (i.e. one that already included
> the rp1 node since boot time) or with a runtime loaded dtb overlay
> which is linked as binary blob in the driver obj. This duality is
> useful to comply with both downstream and upstream needs (see [9]).
> The real dtso is in devicetree folder while the dtso in driver folder is
> just a placeholder to include the real dtso.
> In this way it is possible to check the dtso against dt-bindings.
> The reason why drivers/misc has been selected as containing folder
> for this driver can be seen in [6], [7] and [8].
>
> -PATCH 8: add the external clock node (used by RP1) to the main dts.
>
> -PATCH 9: the fully fledged devictree containing also the rp1 node.
> This devicetree is functionally similar to the one downstream is using.
>
> -PATCH 10 (OPTIONAL): this patch introduces a new scenario about how
> the rp1 node is specified and loaded in DT. On top of the base DT
> (without rp1 node), the fw loads this overlay and the end result is
> the same devicetree as in patch 9, which is then passed to the next
> stage (either the kernel or u-boot/bootloader).
> While this patch is not strictly necessary and can therefore be dropped
> (see [10]), it's not introducing much extra work and maybe can come
> in handy while debugging.
>
> -PATCH 11: add the relevant kernel CONFIG_ options to defconfig.
>
> -PATCH 12: enable CONFIG_OF_OVERLAY in order for 'make defconfig'
> to produce a configuration valid for the RP1 driver. Without this
> patch, the user has to explicitly enable it since the misc driver
> depends on OF_OVERLAY.
>
> -PATCH 13: collect all changes for MAINTAINERS file.
>
> This patchset is also a first attempt to be more agnostic wrt hardware
> description standards such as OF devicetree and ACPI, where 'agnostic'
> means "using DT in coexistence with ACPI", as been already promoted
> by e.g. AL (see [4]). Although there's currently no evidence it will also
> run out of the box on purely ACPI system, it is a first step towards
> that direction.
>
> Many thanks,
> Andrea della Porta
>
> Links:
> - [1]: https://lpc.events/event/17/contributions/1421/attachments/1337/2680/LPC2023%20Non-discoverable%20devices%20in%20PCI.pdf
> - [2]: https://lore.kernel.org/lkml/20230419231155.GA899497-robh@kernel.org/t/
> - [3]: https://lore.kernel.org/all/20240808154658.247873-1-herve.codina@bootlin.com/#t
> - [4]: https://lore.kernel.org/all/73e05c77-6d53-4aae-95ac-415456ff0ae4@lunn.ch/
> - [5]: https://lore.kernel.org/all/20240626104544.14233-1-svarbanov@suse.de/
> - [6]: https://lore.kernel.org/all/20240612140208.GC1504919@google.com/
> - [7]: https://lore.kernel.org/all/83f7fa09-d0e6-4f36-a27d-cee08979be2a@app.fastmail.com/
> - [8]: https://lore.kernel.org/all/2024081356-mutable-everyday-6f9d@gregkh/
> - [9]: https://lore.kernel.org/all/Z87wTfChRC5Ruwc0@apocalypse/
> - [10]: https://lore.kernel.org/all/CAMEGJJ0f4YUgdWBhxvQ_dquZHztve9KO7pvQjoDWJ3=zd3cgcg@mail.gmail.com/#t
>
> CHANGES IN V11
>
>
> PATCH RELATED -------------------------------------------------
>
> - Patch 10,11,12: Added: Reviewed-by: Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
>
> - Patches reworked to apply cleanly on broadcom/stblinux branches:
> patch 1,2,3,6,8,9,10 -> devicetree/next
> patch 11,12 -> defconfig/next
> patch 4,5,7 -> drivers/next
> patch 13 -> maintainers/next
>
> - Patch 13: new patch gathering all changes for MAINTAINERS
>
>
> RP1 CLOCK DRIVER ------------------------------------
>
> - Dropped some WARN_ONCE() lines that are basically useless
>
> - rp1_clock_set_parent() now returns EINVAL in case the parent check
> is failing. As a result, rp1_clock_set_rate_and_parent() has also
> been adapted to return rp1_clock_set_parent() retcode.
>
> - Return an ERR_PTR from rp1_register_clock() instead of just NULL
>
> - Dropped some unaesthetic blank lines
>
> - Disabled the builtin locking in regmap since we're already dealing
> with concurrency in the code
>
> - rp1_clk_probe(): dropped dev_err_probe() as redundant due to commit
> 12a0fd23e870 ("clk: Print an error when clk registration fails")
>
next prev parent reply other threads:[~2025-05-29 13:37 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-29 12:43 [PATCH v11 0/13] Add support for RaspberryPi RP1 PCI device using a DT overlay Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 06/13] arm64: dts: rp1: Add support for RaspberryPi's RP1 device Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 07/13] misc: rp1: RaspberryPi RP1 misc driver Andrea della Porta
2025-05-29 13:24 ` Matthias Brugger
2025-05-29 13:30 ` Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 08/13] arm64: dts: bcm2712: Add external clock for RP1 chipset on Rpi5 Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 09/13] arm64: dts: broadcom: Add board DTS for Rpi5 which includes RP1 node Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 10/13] arm64: dts: broadcom: Add overlay for RP1 device Andrea della Porta
2025-05-29 12:44 ` [PATCH v11 11/13] arm64: defconfig: Enable RP1 misc/clock/gpio drivers Andrea della Porta
2025-05-29 12:44 ` [PATCH v11 12/13] arm64: defconfig: Enable OF_OVERLAY option Andrea della Porta
2025-05-29 12:44 ` [PATCH v11 13/13] MAINTAINERS: add Raspberry Pi RP1 section Andrea della Porta
2025-05-29 13:39 ` Andrea della Porta [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-05-29 11:23 [PATCH v10 0/13] Add support for RaspberryPi RP1 PCI device using a DT overlay Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 06/13] arm64: dts: rp1: Add support for RaspberryPi's RP1 device Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 07/13] misc: rp1: RaspberryPi RP1 misc driver Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 08/13] arm64: dts: bcm2712: Add external clock for RP1 chipset on Rpi5 Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 09/13] arm64: dts: broadcom: Add board DTS for Rpi5 which includes RP1 node Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 10/13] arm64: dts: broadcom: Add overlay for RP1 device Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 11/13] arm64: defconfig: Enable RP1 misc/clock/gpio drivers Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 12/13] arm64: defconfig: Enable OF_OVERLAY option Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 13/13] MAINTAINERS: add Raspberry Pi RP1 section Andrea della Porta
2025-05-29 11:31 ` [PATCH v10 0/13] Add support for RaspberryPi RP1 PCI device using a DT overlay Greg Kroah-Hartman
2025-05-29 12:32 ` Andrea della Porta
2025-05-29 10:49 Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 1/5] dt-bindings: clock: Add RaspberryPi RP1 clock bindings Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 01/13] " Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 " Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 2/5] dt-bindings: pinctrl: Add RaspberryPi RP1 gpio/pinctrl/pinmux bindings Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 02/13] " Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 " Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 3/5] dt-bindings: misc: Add device specific bindings for RaspberryPi RP1 Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 03/13] " Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 " Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 4/5] clk: rp1: Add support for clocks provided by RP1 Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 04/13] " Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 " Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 5/5] pinctrl: rp1: Implement RaspberryPi RP1 gpio support Andrea della Porta
2025-05-29 11:23 ` [PATCH v10 05/13] " Andrea della Porta
2025-05-29 12:43 ` [PATCH v11 " Andrea della Porta
2025-05-29 10:49 ` [PATCH v10] arm64: dts: rp1: Add support for RaspberryPi's RP1 device Andrea della Porta
2025-05-29 10:49 ` [PATCH v10] misc: rp1: RaspberryPi RP1 misc driver Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 08/10] arm64: dts: bcm2712: Add external clock for RP1 chipset on Rpi5 Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 09/10] arm64: dts: broadcom: Add board DTS for Rpi5 which includes RP1 node Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 10/10] arm64: dts: broadcom: Add overlay for RP1 device Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 11/12] arm64: defconfig: Enable RP1 misc/clock/gpio drivers Andrea della Porta
2025-05-29 10:49 ` [PATCH v10 12/12] arm64: defconfig: Enable OF_OVERLAY option Andrea della Porta
2025-05-29 10:49 ` [PATCH v10] MAINTAINERS: add Raspberry Pi RP1 section Andrea della Porta
2025-05-29 11:22 ` [PATCH v10 0/13] Add support for RaspberryPi RP1 PCI device using a DT overlay Andrea della Porta
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aDhjehJxIxfNPwTr@apocalypse \
--to=andrea.porta@suse.com \
--cc=andrew@lunn.ch \
--cc=arnd@arndb.de \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bhelgaas@google.com \
--cc=brgl@bgdev.pl \
--cc=catalin.marinas@arm.com \
--cc=conor+dt@kernel.org \
--cc=dave.stevenson@raspberrypi.com \
--cc=derek.kiernan@amd.com \
--cc=devicetree@vger.kernel.org \
--cc=dragan.cvetic@amd.com \
--cc=florian.fainelli@broadcom.com \
--cc=gregkh@linuxfoundation.org \
--cc=herve.codina@bootlin.com \
--cc=kernel-list@raspberrypi.com \
--cc=krzk+dt@kernel.org \
--cc=kw@linux.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=luca.ceresoli@bootlin.com \
--cc=manivannan.sadhasivam@linaro.org \
--cc=masahiroy@kernel.org \
--cc=mbrugger@suse.com \
--cc=mturquette@baylibre.com \
--cc=phil@raspberrypi.com \
--cc=robh@kernel.org \
--cc=saravanak@google.com \
--cc=sboyd@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=wahrenst@gmx.net \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).