devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: <Valentina.FernandezAlanis@microchip.com>
To: <conor@kernel.org>
Cc: <andersson@kernel.org>, <mathieu.poirier@linaro.org>,
	<robh@kernel.org>, <krzk+dt@kernel.org>, <conor+dt@kernel.org>,
	<linux-remoteproc@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>,
	<Valentina.FernandezAlanis@microchip.com>
Subject: Re: [PATCH v2 1/2] dt-bindings: remoteproc: add Microchip IPC remoteproc
Date: Mon, 1 Dec 2025 16:16:22 +0000	[thread overview]
Message-ID: <0aff01c1-7df9-4ae4-9a6b-045a957c3542@microchip.com> (raw)
In-Reply-To: <20251121-doormat-splashy-1343ea24888a@spud>

On 21/11/2025 18:28, Conor Dooley wrote:
> On Fri, Nov 21, 2025 at 02:21:56PM +0000, Valentina Fernandez wrote:
>> Microchip family of RISC-V SoCs typically have one or more application
>> clusters. These clusters can be configured to run in an Asymmetric
>> Multi Processing (AMP) mode.
>>
>> Add a dt-binding for these application clusters.
>>
>> Signed-off-by: Valentina Fernandez <valentina.fernandezalanis@microchip.com>
>> ---
>>   .../microchip,ipc-sbi-remoteproc.yaml         | 95 +++++++++++++++++++
>>   1 file changed, 95 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/remoteproc/microchip,ipc-sbi-remoteproc.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/remoteproc/microchip,ipc-sbi-remoteproc.yaml b/Documentation/devicetree/bindings/remoteproc/microchip,ipc-sbi-remoteproc.yaml
>> new file mode 100644
>> index 000000000000..348902f9a202
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/remoteproc/microchip,ipc-sbi-remoteproc.yaml
>> @@ -0,0 +1,95 @@
>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/remoteproc/microchip,ipc-sbi-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.
>> +
>> +maintainers:
>> +  - Valentina Fernandez <valentina.fernandezalanis@microchip.com>
>> +
>> +properties:
>> +  compatible:
>> +    const: microchip,ipc-sbi-remoteproc
>> +
>> +  mboxes:
>> +    description:
>> +      Microchip IPC mailbox specifier. To be used for communication with
>> +      a remote cluster. The specifier format is as per the bindings,
>> +      Documentation/devicetree/bindings/mailbox/microchip,sbi-ipc.yaml
>> +    maxItems: 1
>> +
>> +  memory-region:
>> +    minItems: 1
>> +    maxItems: 5
>> +    description:
>> +      List of phandles to the reserved memory regions associated wih the remoteproc
>> +      device. This is variable and describes the memories shared with the remote cluster
>> +      (e.g. firmware, resource table, rpmsg vrings, etc.)
>> +    items:
>> +      anyOf:
> Is this genuinely any of these, with no restrictions?
> Can you have rsc-table and firmware?
Yes, it is possible to include both rsc-table and firmware. This 
typically occurs
when early boot is used, followed by remoteproc start/stop to launch
additional firmware.

However, there are a few restrictions worth adding. For example, vring0 and
vring1 memory regions make no sense without a buffer region, and at least
one of rsc-table or firmware must be present. I can include these rules
in v3.

Thanks,
Valentina
>> +        - description: region used for the resource table when firmware is started by the bootloader
>> +        - description: region used for the remote cluster firmware image section
>> +        - description: virtio device (vdev) buffer
>> +        - description: virtqueue for sending messages to the remote cluster (vring0)
>> +        - description: virtqueue for receiving messages from the remote cluster (vring1)
>> +
>> +  memory-region-names:
>> +    minItems: 1
>> +    maxItems: 5
>> +    items:
>> +      anyOf:
>> +        - const: rsc-table
>> +        - const: firmware
>> +        - const: buffer
>> +        - const: vring0
>> +        - const: vring1
>> +
>> +required:
>> +  - compatible
>> +  - mboxes
>> +  - memory-region
>> +  - memory-region-names
>> +
>> +additionalProperties: false
>> +
>> +examples:
>> +  - |
>> +    // Early boot mode example - firmware started by bootloader
>> +    soc {
>> +        #address-cells = <2>;
>> +        #size-cells = <2>;
>> +
>> +        remoteproc {
>> +            compatible = "microchip,ipc-sbi-remoteproc";
>> +            mboxes= <&ihc 8>;
>> +            memory-region = <&rsctable>, <&vdev0buffer>,
>> +                            <&vdev0vring0>, <&vdev0vring1>;
>> +            memory-region-names = "rsc-table", "buffer",
>> +                                  "vring0", "vring1";
>> +        };
>> +    };
>> +
>> +  - |
>> +    // Late boot mode example - firmware started by Linux (remoteproc)
>> +    soc {
>> +        #address-cells = <2>;
>> +        #size-cells = <2>;
>> +
>> +        remoteproc {
>> +            compatible = "microchip,ipc-sbi-remoteproc";
>> +            mboxes= <&ihc 8>;
>> +            memory-region = <&cluster_firmware>, <&vdev0buffer>,
>> +                            <&vdev0vring0>, <&vdev0vring1>;
>> +            memory-region-names = "firmware", "buffer",
>> +                                  "vring0", "vring1";
>> +        };
>> +    };
>> +...
>> -- 
>> 2.34.1
>>


  reply	other threads:[~2025-12-01 16:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-21 14:21 [PATCH v2 0/2] Add Microchip IPC remoteproc support Valentina Fernandez
2025-11-21 14:21 ` [PATCH v2 1/2] dt-bindings: remoteproc: add Microchip IPC remoteproc Valentina Fernandez
2025-11-21 18:28   ` Conor Dooley
2025-12-01 16:16     ` Valentina.FernandezAlanis [this message]
2025-11-25  9:46   ` Krzysztof Kozlowski
2025-12-01 16:04     ` Valentina.FernandezAlanis
2025-12-01 16:22       ` Krzysztof Kozlowski
2025-12-13  5:42   ` Tanmay Shah
2025-11-21 14:21 ` [PATCH v2 2/2] remoteproc: add support for Microchip IPC remoteproc platform driver Valentina Fernandez
2025-12-09 17:33   ` Mathieu Poirier
2025-12-10 18:37     ` Valentina.FernandezAlanis

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=0aff01c1-7df9-4ae4-9a6b-045a957c3542@microchip.com \
    --to=valentina.fernandezalanis@microchip.com \
    --cc=andersson@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=conor@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=robh@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).