devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Conor Dooley <conor@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Valentina.FernandezAlanis@microchip.com,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, peterlin@andestech.com,
	dminus@andestech.com, Conor.Dooley@microchip.com,
	conor+dt@kernel.org, ycliang@andestech.com,
	jassisinghbrar@gmail.com, robh@kernel.org, krzk+dt@kernel.org,
	andersson@kernel.org, mathieu.poirier@linaro.org,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-remoteproc@vger.kernel.org
Subject: Re: [PATCH v1 4/5] dt-bindings: remoteproc: add binding for Microchip IPC remoteproc
Date: Tue, 15 Oct 2024 21:22:23 +0100	[thread overview]
Message-ID: <20241015-distrust-chatty-9e723e670fef@spud> (raw)
In-Reply-To: <f0da1029-c8df-40e7-8312-a41a87b7b940@kernel.org>

[-- Attachment #1: Type: text/plain, Size: 4902 bytes --]

On Tue, Oct 15, 2024 at 03:35:46PM +0200, Krzysztof Kozlowski wrote:
> On 15/10/2024 14:09, Valentina.FernandezAlanis@microchip.com wrote:
> > On 16/09/2024 21:14, Krzysztof Kozlowski wrote:
> >> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> >>
> >> On 12/09/2024 19:00, Valentina Fernandez wrote:
> >>> Microchip family of RISC-V SoCs typically has or more clusters. These
> >>> clusters can be configured to run in Asymmetric Multi Processing (AMP)
> >>> mode
> >>
> >> A nit, subject: drop second/last, redundant "binding for". The
> >> "dt-bindings" prefix is already stating that these are bindings.
> >> See also:
> >> https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
> >>
> >>>
> >>> Add a dt-binding for the Microchip IPC Remoteproc platform driver.
> >>>
> >>
> >> Binding is for hardware, not driver. Please rephrase it to describe
> >> hardware.
> >>
> >>
> >>> Signed-off-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
> >>> ---
> >>>   .../remoteproc/microchip,ipc-remoteproc.yaml  | 84 +++++++++++++++++++
> >>>   1 file changed, 84 insertions(+)
> >>>   create mode 100644 Documentation/devicetree/bindings/remoteproc/microchip,ipc-remoteproc.yaml
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/remoteproc/microchip,ipc-remoteproc.yaml b/Documentation/devicetree/bindings/remoteproc/microchip,ipc-remoteproc.yaml
> >>> new file mode 100644
> >>> index 000000000000..1765c68d22cf
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/remoteproc/microchip,ipc-remoteproc.yaml
> >>> @@ -0,0 +1,84 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: http://devicetree.org/schemas/remoteproc/microchip,ipc-remoteproc.yaml#
> >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>> +
> >>> +title: Microchip IPC Remote Processor
> >>> +
> >>> +description:
> >>> +  Microchip family of RISC-V SoCs typically have one or more
> >>> +  clusters. These clusters can be configured to run in an Asymmetric
> >>> +  Multi Processing (AMP) mode where clusters are split in independent
> >>> +  software contexts.
> >>> +
> >>> +  This document defines the binding for the remoteproc component that
> >>> +  loads and boots firmwares on remote clusters.
> >>
> >> Don't say that binding is a binding for. Say what this hardware piece is.
> >>
> >>> +
> >>> +  This SBI interface is compatible with the Mi-V Inter-hart
> >>> +  Communication (IHC) IP.
> >>> +
> >>> +maintainers:
> >>> +  - Valentina Fernandez <valentina.fernandezalanis@microchip.com>
> >>> +
> >>> +properties:
> >>> +  compatible:
> >>> +    const: microchip,ipc-remoteproc
> >>
> >> That's quite generic. Basically this says it will handle IPC of all
> >> possible Microchip SoCs, not only RISC-V but also ARM and whatever you
> >> come up with.
> > IPC is the actual name of the hardware block described in this binding. 
> > I'll update the description of the binding in v2 to mention this.
> > 
> > Additionally, I'll rename the compatible to microchip,ipc-sbi-remoteproc 
> > to further clarify that this binding is intended for devices using the 
> > Microchip IPC hardware block and for devices with an SBI interface (RISC-V).
> 
> Well, still generic. Explain why this deserves exception from specific
> SoC compatibles.

If I understand this correctly, some degree of generic-ness is actually
intended here. The IPC/IHC (the name depends on whether or not it is RTL
for the FPGA fabric or a hardened version) isn't quite like some of the
other remoteproc things here, that are intended for programming a DSP or
similar with some firmware - it's intended for asymmetric
multiprocessing stuff, where some of the CPU cores run Linux and the
others are running something like freertos or zephyr, with an abstracted
interface provided by the firmware/SBI implementation. The mailbox side
of this is also implemented using an SBI abstraction (similar to PSCI or
SCMI, I never recall which) and also has a compatible that isn't tied to
specific soc.
Granted, the mailbox side does also have a IP core specific version, but
that is not intended to be consumed by the OS, but rather by the SBI
implementation (e.g. OpenSBI).

What this binding is supposed to be describing is the "generic" ecall
interface to a set of remote processors provided by the SBI
implementation. The platform you're running on is meant to be abstracted
away by use of ecalls etc, just as the mailbox is - which is why
Valentina went something not soc-specific here. I can see much more of
an argument for encoding the version of the protocol that is implemented
by the SBI firmware than for having a soc-specific set of compatibles
here.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

  reply	other threads:[~2024-10-15 20:22 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-12 17:00 [PATCH v1 0/5] Add Microchip IPC mailbox and remoteproc support Valentina Fernandez
2024-09-12 17:00 ` [PATCH v1 1/5] riscv: asm: vendorid_list: Add Microchip Technology to the vendor list Valentina Fernandez
2024-09-12 17:16   ` Conor Dooley
2024-09-12 17:00 ` [PATCH v1 2/5] dt-bindings: mailbox: add binding for Microchip IPC mailbox driver Valentina Fernandez
2024-09-12 17:15   ` Conor Dooley
2024-09-12 21:23   ` Samuel Holland
2024-09-16 16:31     ` Conor Dooley
2024-09-18 15:35       ` Rob Herring
2024-09-19  7:40         ` Conor Dooley
2024-09-12 17:00 ` [PATCH v1 3/5] mailbox: add Microchip IPC support Valentina Fernandez
2024-09-12 21:30   ` Samuel Holland
2024-09-16  9:25     ` Valentina.FernandezAlanis
2024-09-16 20:21   ` Krzysztof Kozlowski
2024-09-12 17:00 ` [PATCH v1 4/5] dt-bindings: remoteproc: add binding for Microchip IPC remoteproc Valentina Fernandez
2024-09-16 20:14   ` Krzysztof Kozlowski
2024-10-15 12:09     ` Valentina.FernandezAlanis
2024-10-15 13:35       ` Krzysztof Kozlowski
2024-10-15 20:22         ` Conor Dooley [this message]
2024-09-12 17:00 ` [PATCH v1 5/5] remoteproc: add support for Microchip IPC remoteproc platform driver Valentina Fernandez
2024-09-16 20:18   ` Krzysztof Kozlowski
2024-09-18 15:51     ` Valentina.FernandezAlanis
2024-09-22 20:21       ` Krzysztof Kozlowski
2024-09-13 14:44 ` [PATCH v1 0/5] Add Microchip IPC mailbox and remoteproc support Mathieu Poirier
2024-09-16 15:04 ` Mathieu Poirier
2024-09-16 22:28 ` Bo Gan
2024-09-17 10:45   ` Valentina.FernandezAlanis
2024-09-17 12:42     ` Conor Dooley

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=20241015-distrust-chatty-9e723e670fef@spud \
    --to=conor@kernel.org \
    --cc=Conor.Dooley@microchip.com \
    --cc=Valentina.FernandezAlanis@microchip.com \
    --cc=andersson@kernel.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dminus@andestech.com \
    --cc=jassisinghbrar@gmail.com \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterlin@andestech.com \
    --cc=robh@kernel.org \
    --cc=ycliang@andestech.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 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).