From: Rob Herring <robh@kernel.org>
To: Herve Codina <herve.codina@bootlin.com>
Cc: Simon Horman <horms@kernel.org>,
Sai Krishna Gajula <saikrishnag@marvell.com>,
Thomas Gleixner <tglx@linutronix.de>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Lee Jones <lee@kernel.org>, Arnd Bergmann <arnd@arndb.de>,
Horatiu Vultur <horatiu.vultur@microchip.com>,
UNGLinuxDriver@microchip.com, Andrew Lunn <andrew@lunn.ch>,
Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
Saravana Kannan <saravanak@google.com>,
Bjorn Helgaas <bhelgaas@google.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Lars Povlsen <lars.povlsen@microchip.com>,
Steen Hegelund <Steen.Hegelund@microchip.com>,
Daniel Machon <daniel.machon@microchip.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
netdev@vger.kernel.org, linux-pci@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
Allan Nielsen <allan.nielsen@microchip.com>,
Luca Ceresoli <luca.ceresoli@bootlin.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Subject: Re: [PATCH v2 00/19] Add support for the LAN966x PCI device using a DT overlay
Date: Tue, 11 Jun 2024 13:33:51 -0600 [thread overview]
Message-ID: <20240611193351.GA2953067-robh@kernel.org> (raw)
In-Reply-To: <20240527161450.326615-1-herve.codina@bootlin.com>
On Mon, May 27, 2024 at 06:14:27PM +0200, Herve Codina wrote:
> Hi,
>
> This series adds support for the LAN966x chip when used as a PCI
> device.
>
> For reference, the LAN996x chip is a System-on-chip that integrates an
> Ethernet switch and a number of other traditional hardware blocks such
> as a GPIO controller, I2C controllers, SPI controllers, etc. The
> LAN996x can be used in two different modes:
>
> - With Linux running on its Linux built-in ARM cores.
> This mode is already supported by the upstream Linux kernel, with the
> LAN996x described as a standard ARM Device Tree in
> arch/arm/boot/dts/microchip/lan966x.dtsi. Thanks to this support,
> all hardware blocks in the LAN996x already have drivers in the
> upstream Linux kernel.
>
> - As a PCI device, thanks to its built-in PCI endpoint controller.
> In this case, the LAN996x ARM cores are not used, but all peripherals
> of the LAN996x can be accessed by the PCI host using memory-mapped
> I/O through the PCI BARs.
>
> This series aims at supporting this second use-case. As all peripherals
> of the LAN996x already have drivers in the Linux kernel, our goal is to
> re-use them as-is to support this second use-case.
>
> Therefore, this patch series introduces a PCI driver that binds on the
> LAN996x PCI VID/PID, and when probed, instantiates all devices that are
> accessible through the PCI BAR. As the list and characteristics of such
> devices are non-discoverable, this PCI driver loads a Device Tree
> overlay that allows to teach the kernel about which devices are
> available, and allows to probe the relevant drivers in kernel, re-using
> all existing drivers with no change.
>
> This patch series for now adds a Device Tree overlay that describes an
> initial subset of the devices available over PCI in the LAN996x, and
> follow-up patch series will add support for more once this initial
> support has landed.
>
> In order to add this PCI driver, a number of preparation changes are
> needed:
>
> - Patches 1 to 5 allow the reset driver used for the LAN996x to be
> built as a module. Indeed, in the case where Linux runs on the ARM
> cores, it is common to have the reset driver built-in. However, when
> the LAN996x is used as a PCI device, it makes sense that all its
> drivers can be loaded as modules.
>
> - Patches 6 and 7 improve the MDIO controller driver to properly
> handle its reset signal.
>
> - Patches 8 to 12 introduce the internal interrupt controller used in
> the LAN996x. It is one of the few peripherals in the LAN996x that
> are only relevant when the LAN996x is used as a PCI device, which is
> why this interrupt controller did not have a driver so far.
>
> - Patches 13 to 16 make some small additions to the OF core and
> PCI/OF core to consider the PCI device as an interrupt controller.
> This topic was previously mentioned in [1] to avoid the need of
> phandle interrupt parents which are not available at some points.
>
> - Patches 17 and 18 introduce the LAN996x PCI driver itself, together
> with its DT bindings.
>
> We believe all items from the above list can be merged separately, with
> no build dependencies. We expect:
>
> - Patches 1 to 5 to be taken by reset maintainers
>
> - Patches 6 and 7 to be taken by network driver maintainers
>
> - Patches 8 to 12 to be taken by irqchip maintainers
>
> - Patch 13 to 17 to be taken by DT/PCI maintainers
I've applied patches 13-17.
Rob
prev parent reply other threads:[~2024-06-11 19:33 UTC|newest]
Thread overview: 96+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-27 16:14 [PATCH v2 00/19] Add support for the LAN966x PCI device using a DT overlay Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 01/19] mfd: syscon: Add reference counting and device managed support Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-18 14:53 ` Arnd Bergmann
2024-06-18 15:55 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 02/19] reset: mchp: sparx5: Remove dependencies and allow building as a module Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 03/19] reset: mchp: sparx5: Release syscon when not use anymore Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 04/19] reset: core: add get_device()/put_device on rcdev Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 05/19] reset: mchp: sparx5: set the dev member of the reset controller Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 06/19] dt-bindings: net: mscc-miim: Add resets property Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 19:14 ` Andrew Lunn
2024-05-27 19:14 ` Andrew Lunn
2024-05-28 6:44 ` Krzysztof Kozlowski
2024-05-28 6:44 ` Krzysztof Kozlowski
2024-05-27 16:14 ` [PATCH v2 07/19] net: mdio: mscc-miim: Handle the switch reset Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 19:16 ` Andrew Lunn
2024-05-27 19:16 ` Andrew Lunn
2024-05-27 16:14 ` [PATCH v2 08/19] dt-bindings: interrupt-controller: Add support for Microchip LAN966x OIC Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 09/19] irqdomain: Add missing parameter descriptions in docs Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-04 19:02 ` Thomas Gleixner
2024-06-04 19:02 ` Thomas Gleixner
2024-06-05 15:44 ` [tip: irq/core] irqdomain: Add missing parameter descriptions in kernel-doc comments tip-bot2 for Herve Codina
2024-06-05 20:02 ` [PATCH v2 09/19] irqdomain: Add missing parameter descriptions in docs Andy Shevchenko
2024-06-05 20:02 ` Andy Shevchenko
2024-06-06 7:14 ` Herve Codina
2024-06-06 7:14 ` Herve Codina
2024-06-06 8:46 ` Andy Shevchenko
2024-06-06 8:46 ` Andy Shevchenko
2024-06-06 10:16 ` Herve Codina
2024-06-06 10:16 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 10/19] irqdomain: Introduce irq_domain_alloc() and irq_domain_publish() Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-04 19:59 ` Thomas Gleixner
2024-06-04 19:59 ` Thomas Gleixner
2024-06-05 13:02 ` Thomas Gleixner
2024-06-05 13:02 ` Thomas Gleixner
2024-06-06 15:52 ` Herve Codina
2024-06-06 15:52 ` Herve Codina
2024-06-06 18:11 ` Thomas Gleixner
2024-06-06 18:11 ` Thomas Gleixner
2024-06-07 8:06 ` Herve Codina
2024-06-07 8:06 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 11/19] irqchip: Add support for LAN966x OIC Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-05 14:17 ` Thomas Gleixner
2024-06-05 14:17 ` Thomas Gleixner
2024-06-05 20:14 ` Andy Shevchenko
2024-06-05 20:14 ` Andy Shevchenko
2024-06-06 15:53 ` Herve Codina
2024-06-06 15:53 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 12/19] MAINTAINERS: Add the Microchip LAN966x OIC driver entry Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 13/19] of: dynamic: Constify parameter in of_changeset_add_prop_string_array() Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 14/19] of: unittest: Add tests for changeset properties adding Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 15/19] of: dynamic: Introduce of_changeset_add_prop_bool() Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 16/19] of: unittest: Add a test case for of_changeset_add_prop_bool() Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-27 16:14 ` [PATCH v2 17/19] PCI: of_property: Add interrupt-controller property in PCI device nodes Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-06 19:26 ` Bjorn Helgaas
2024-06-06 19:26 ` Bjorn Helgaas
2024-06-10 21:37 ` Rob Herring
2024-06-10 21:37 ` Rob Herring
2024-06-11 17:13 ` Bjorn Helgaas
2024-05-27 16:14 ` [PATCH v2 18/19] mfd: Add support for LAN966x PCI device Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-06-05 20:24 ` Andy Shevchenko
2024-06-05 20:24 ` Andy Shevchenko
[not found] ` <20240620175646.24455efb@bootlin.com>
2024-06-20 16:43 ` Herve Codina
[not found] ` <CAHp75VdDkv-dxWa60=OLfXAQ8T5CkFiKALbDHaVVKQOK3gJehA@mail.gmail.com>
2024-06-20 16:43 ` Herve Codina
2024-06-20 17:19 ` Herve Codina
2024-06-21 15:45 ` Andy Shevchenko
2024-06-21 18:49 ` Bjorn Helgaas
2024-06-24 11:46 ` Steen Hegelund
2024-06-26 6:52 ` Herve Codina
2024-06-26 7:17 ` Steen Hegelund
2024-06-24 8:20 ` Herve Codina
2024-06-05 21:34 ` Bjorn Helgaas
2024-06-05 21:34 ` Bjorn Helgaas
2024-05-27 16:14 ` [PATCH v2 19/19] MAINTAINERS: Add the Microchip LAN966x PCI driver entry Herve Codina
2024-05-27 16:14 ` Herve Codina
2024-05-30 0:08 ` [PATCH v2 00/19] Add support for the LAN966x PCI device using a DT overlay Jakub Kicinski
2024-05-30 0:08 ` Jakub Kicinski
2024-06-11 19:33 ` Rob Herring [this message]
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=20240611193351.GA2953067-robh@kernel.org \
--to=robh@kernel.org \
--cc=Steen.Hegelund@microchip.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=allan.nielsen@microchip.com \
--cc=andrew@lunn.ch \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=conor+dt@kernel.org \
--cc=daniel.machon@microchip.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=herve.codina@bootlin.com \
--cc=hkallweit1@gmail.com \
--cc=horatiu.vultur@microchip.com \
--cc=horms@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=lars.povlsen@microchip.com \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=luca.ceresoli@bootlin.com \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=saikrishnag@marvell.com \
--cc=saravanak@google.com \
--cc=tglx@linutronix.de \
--cc=thomas.petazzoni@bootlin.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.