From: Andrew Davis <afd@ti.com>
To: Anshul Dalal <anshuld@ti.com>, Nishanth Menon <nm@ti.com>,
Tero Kristo <kristo@kernel.org>,
Santosh Shilimkar <ssantosh@kernel.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>
Cc: <linux-arm-kernel@lists.infradead.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Vignesh Raghavendra <vigneshr@ti.com>
Subject: Re: [PATCH v4] dt-bindings: arm: keystone: add boot_* mboxes to ti,sci
Date: Fri, 5 Dec 2025 08:58:26 -0600 [thread overview]
Message-ID: <533a5027-0942-41e3-87c6-bfef4a98ebcb@ti.com> (raw)
In-Reply-To: <20251205-k3_syscon_add_boot_mailboxes-v4-1-8e216fb88941@ti.com>
On 12/5/25 12:15 AM, Anshul Dalal wrote:
> The bootloader on K3 devices makes use of mailboxes as per the ROM spec
> which might be different than one's available to the kernel (firmware
> spec).
>
See this was the part that confused me earlier into thinking this was
for different processing elements. But really even the same processor
could need both sets of mailboxes, pre and post loading the SCI firmware.
It isn't about "boot" vs "kernel", it is "ROM" vs "Firmware".
How about instead of boot_* you call them rom_*? Or at very least update
this commit message and the "description" in the schema to not simply
say "boot stage".
> Therefore, this patch adds the missing mailbox entries to the DT binding
> if the matching compatible is ti,am654-sci to represent the mailboxes
> exposed by the hardware during boot for the purpose of loading the
> firmware.
>
> Signed-off-by: Anshul Dalal <anshuld@ti.com>
> ---
> Changes in v4:
> - Make new boot_* mboxes conditional on ti,am654-sci compatible
> - Link to v3: https://lore.kernel.org/r/20251112-k3_syscon_add_boot_mailboxes-v3-1-66155a4236dc@ti.com
>
> Changes in v3:
> - Drop [1/2] of the last patch series
> - Update existing example with boot_* mailboxes instead of adding a new one
> - Link to v2: https://lore.kernel.org/r/20251112-k3_syscon_add_boot_mailboxes-v2-0-aebc1e47b391@ti.com
>
> Changes in v2:
> - Remove maxItems entry
> - Remove RFC tag from patch (added by mistake in v1)
> - Document the new mailboxes in mboxes instead of mbox-names
> - Provide example with all the mailboxes set
> - Update commit title to have "ti,sci"
> - Split into two patches
> - Link to v1: https://lore.kernel.org/r/20251111-k3_syscon_add_boot_mailboxes-v1-1-529a27f21076@ti.com
> ---
> .../devicetree/bindings/arm/keystone/ti,sci.yaml | 50 +++++++++++++++++++---
> 1 file changed, 43 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> index 25a2b42105e5..d9eb2a81e539 100644
> --- a/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> +++ b/Documentation/devicetree/bindings/arm/keystone/ti,sci.yaml
> @@ -51,15 +51,15 @@ properties:
> minItems: 1
>
> mbox-names:
> + minItems: 2
> + maxItems: 6
This doesn't seem right, why add these here when you set the exact
items allowed down below in the if/then block?
> description: |
> Specifies the mailboxes used to communicate with TI-SCI Controller
> made available from TI-SCI controller.
> - items:
> - - const: rx
> - - const: tx
>
> mboxes:
> minItems: 2
> + maxItems: 6
>
> ti,host-id:
> $ref: /schemas/types.yaml#/definitions/uint32
> @@ -79,6 +79,42 @@ properties:
> type: object
> $ref: /schemas/reset/ti,sci-reset.yaml#
>
> +if:
> + properties:
> + compatible:
> + contains:
> + const: ti,am654-sci
> +then:
> + properties:
> + mbox-names:
> + minItems: 2
If you are listing 6 items, then the number needed is exactly 6, no
need for a minimum less than that. I also think this is enforced without
needing to set min/max if you list the items explicitly.
> + items:
> + - const: rx
> + - const: tx
> + - const: notify
> + - const: boot_rx
> + - const: boot_tx
> + - const: boot_notify
> + mboxes:
> + minItems: 2
> + items:
> + - description: RX thread
> + - description: TX thread
> + - description: Notify thread
> + - description: boot stage RX thread
> + - description: boot stage TX thread
> + - description: boot stage Notify thread
> +else:
> + properties:
> + mbox-names:
> + items:
> + - const: rx
> + - const: tx
> + mboxes:
> + items:
> + - description: RX thread
> + - description: TX thread
> +
> required:
> - compatible
> - mbox-names
> @@ -99,11 +135,11 @@ examples:
>
> - |
> dmsc: system-controller@44083000 {
> - compatible = "ti,k2g-sci";
> + compatible = "ti,am654-sci";
> ti,host-id = <12>;
> - mbox-names = "rx", "tx";
> - mboxes = <&secure_proxy_main 11>,
> - <&secure_proxy_main 13>;
> + mbox-names = "rx", "tx", "notify", "boot_rx", "boot_tx";
> + mboxes= <&secure_proxy_mcu 6>, <&secure_proxy_mcu 8>,
> + <&secure_proxy_mcu 5>, <&secure_proxy_mcu 5>, <&secure_proxy_mcu 4>;
nit, how about:
mboxes= <&secure_proxy_mcu 6>,
<&secure_proxy_mcu 8>,
<&secure_proxy_mcu 5>,
<&secure_proxy_mcu 5>,
<&secure_proxy_mcu 4>;
Much easier to parse out the mailbox numbers visually. And to notice
you only have 5 items, but you list 6 in the schema, where is boot_notify?
Andrew
> reg-names = "debug_messages";
> reg = <0x44083000 0x1000>;
>
>
> ---
> base-commit: 4427259cc7f7571a157fbc9b5011e1ef6fe0a4a8
> change-id: 20251105-k3_syscon_add_boot_mailboxes-8452bdd98962
>
> Best regards,
next prev parent reply other threads:[~2025-12-05 14:58 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-05 6:15 [PATCH v4] dt-bindings: arm: keystone: add boot_* mboxes to ti,sci Anshul Dalal
2025-12-05 13:01 ` Nishanth Menon
2025-12-05 14:58 ` Andrew Davis [this message]
2025-12-08 6:20 ` Krzysztof Kozlowski
2025-12-08 6:31 ` Anshul Dalal
2025-12-08 8:06 ` Krzysztof Kozlowski
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=533a5027-0942-41e3-87c6-bfef4a98ebcb@ti.com \
--to=afd@ti.com \
--cc=anshuld@ti.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nm@ti.com \
--cc=robh@kernel.org \
--cc=ssantosh@kernel.org \
--cc=vigneshr@ti.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