devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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")
> 

  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).