From: Tim Michals <tcmichals@gmail.com>
To: Jassi Brar <jassisinghbrar@gmail.com>,
Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Chen-Yu Tsai <wens@csie.org>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Samuel Holland <samuel@sholland.org>
Cc: linux-sunxi@lists.linux.dev, linux-remoteproc@vger.kernel.org,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Tim Michals <tcmichals@gmail.com>
Subject: [PATCH v3 3/7] dt-bindings: remoteproc: Add Allwinner A523 RISC-V remote processor
Date: Sun, 1 Nov 2026 12:57:31 -0600 [thread overview]
Message-ID: <20261101185735.762559-4-tcmichals@gmail.com> (raw)
In-Reply-To: <20261101185735.762559-1-tcmichals@gmail.com>
The Allwinner A523, A527 and T527 (sun55i) contain a T-Head XuanTie E906
RISC-V core. It runs from a dedicated 256 KiB SRAM and can use a second
256 KiB SRAM and DRAM; a bit in a PRCM remap register shares a further
512 KiB SRAM (SRAM A3_2) with its subsystem. Its reset vector is set in
its configuration block.
Describe the configuration block, both SRAMs and the remap register,
the bus, core and SRAM clocks, the configuration, core, SRAM and debug
resets, the RISC-V and SRAM power domains, one message box channel, the
reserved memory regions (a pool for virtio, DRAM for firmware, a trace
buffer) and an optional crash interrupt.
Signed-off-by: Tim Michals <tcmichals@gmail.com>
---
Changes in v3:
- File renamed to allwinner,sun55i-a523-rproc.yaml to match the
compatible
- reg and reg-names are a fixed list of four (cfg, sram-a3-0,
sram-a3-1, remap), all required (Krzysztof); the SRAMs are named as
in the T527 manual (SRAMA3_0, SRAMA3_1); the description says the
remap bit shares SRAM A3_2, not SRAM space 1
- clocks and resets are fixed lists, no minItems (Krzysztof); add the
debug reset. The msgbox and parent clocks and the msgbox reset are
dropped: they belong to the message box node
- Add the RISC-V and SRAM power domains
- One message box channel; mbox-names dropped. mboxes is optional: a
user can drive the message box from userspace (UIO) instead
- The crash interrupt description says the A523 has no dedicated line
for it; it is the only interrupt, so no interrupt-names
- memory-region[0] is a shared-dma-pool; the example has the memory
regions
- "schema" dropped from the subject (Krzysztof)
- Jernej Skrabec and Samuel Holland dropped from the maintainers; the
MAINTAINERS entry moves to the driver patch
---
.../allwinner,sun55i-a523-rproc.yaml | 146 ++++++++++++++++++
1 file changed, 146 insertions(+)
create mode 100644 Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-a523-rproc.yaml
diff --git a/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-a523-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-a523-rproc.yaml
new file mode 100644
index 000000000000..b119acaa2df6
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-a523-rproc.yaml
@@ -0,0 +1,146 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/allwinner,sun55i-a523-rproc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner A523 XuanTie E906 RISC-V Remote Processor
+
+maintainers:
+ - Tim Michals <tcmichals@gmail.com>
+
+description:
+ The Allwinner A523, A527 and T527 (sun55i) SoCs contain a T-Head XuanTie
+ E906 RISC-V core next to the Cortex-A55 cluster. The core runs from a
+ dedicated 256 KiB SRAM, can also use a second 256 KiB SRAM and DRAM,
+ and a remap register shared with the HiFi4 DSP shares a further 512 KiB
+ SRAM (SRAM A3_2) with the core's subsystem. Its reset vector is set in a
+ register of its configuration block, and it exchanges notifications with
+ the Cortex-A55 host through the message box.
+
+properties:
+ compatible:
+ const: allwinner,sun55i-a523-rproc
+
+ reg:
+ items:
+ - description: Configuration block, including the boot address register
+ - description: SRAM A3_0, the core's dedicated SRAM space 0
+ - description: SRAM A3_1, the core's SRAM space 1
+ - description: SRAM remap control register
+
+ reg-names:
+ items:
+ - const: cfg
+ - const: sram-a3-0
+ - const: sram-a3-1
+ - const: remap
+
+ clocks:
+ items:
+ - description: Configuration block bus clock
+ - description: RISC-V core clock
+ - description: MCU public SRAM bus clock
+
+ clock-names:
+ items:
+ - const: bus
+ - const: core
+ - const: sram
+
+ resets:
+ items:
+ - description: Configuration block reset
+ - description: RISC-V core reset
+ - description: MCU public SRAM reset
+ - description: RISC-V debug module reset
+
+ reset-names:
+ items:
+ - const: cfg
+ - const: core
+ - const: sram
+ - const: debug
+
+ mboxes:
+ description:
+ Message box channel to the RISC-V core. Each channel has a FIFO in
+ each direction, so it carries notifications both ways.
+ maxItems: 1
+
+ firmware-name:
+ maxItems: 1
+
+ memory-region:
+ minItems: 1
+ items:
+ - description: Virtio vring and buffer pool, a shared-dma-pool
+ - description: Firmware code and data in DRAM
+ - description: Trace buffer
+
+ memory-region-names:
+ minItems: 1
+ items:
+ - const: vram
+ - const: dram
+ - const: trace
+
+ interrupts:
+ maxItems: 1
+ description:
+ Interrupt the RISC-V core raises on a fatal error. The A523 has no
+ dedicated line for this, so it is present only where the system
+ integration provides one.
+
+ power-domains:
+ items:
+ - description: RISC-V core power domain
+ - description: SRAM power domain
+
+ power-domain-names:
+ items:
+ - const: riscv
+ - const: sram
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - power-domains
+ - power-domain-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/sun55i-a523-mcu-ccu.h>
+ #include <dt-bindings/power/allwinner,sun55i-a523-ppu.h>
+ #include <dt-bindings/reset/sun55i-a523-mcu-ccu.h>
+
+ remoteproc@7130000 {
+ compatible = "allwinner,sun55i-a523-rproc";
+ reg = <0x07130000 0x1000>,
+ <0x07280000 0x40000>,
+ <0x072c0000 0x40000>,
+ <0x07010364 0x4>;
+ reg-names = "cfg", "sram-a3-0", "sram-a3-1", "remap";
+ clocks = <&mcu_ccu CLK_BUS_MCU_RISCV_CFG>,
+ <&mcu_ccu CLK_MCU_RISCV>,
+ <&mcu_ccu CLK_BUS_MCU_PUBSRAM>;
+ clock-names = "bus", "core", "sram";
+ resets = <&mcu_ccu RST_BUS_MCU_RISCV_CFG>,
+ <&mcu_ccu RST_BUS_MCU_RISCV_CORE>,
+ <&mcu_ccu RST_BUS_MCU_PUBSRAM>,
+ <&mcu_ccu RST_BUS_MCU_RISCV_DEBUG>;
+ reset-names = "cfg", "core", "sram", "debug";
+ power-domains = <&ppu PD_RISCV>, <&ppu PD_SRAM>;
+ power-domain-names = "riscv", "sram";
+ mboxes = <&msgbox 9>;
+ memory-region = <&riscv_vram>, <&riscv_dram>;
+ memory-region-names = "vram", "dram";
+ firmware-name = "riscv-firmware.elf";
+ };
--
2.53.0
next prev parent reply other threads:[~2026-11-01 18:57 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-01 18:57 [PATCH v3 0/7] Add Allwinner A523 message box and XuanTie E906 remoteproc support Tim Michals
2026-11-01 18:57 ` [PATCH v3 1/7] dt-bindings: mailbox: Add Allwinner A523 message box Tim Michals
2026-11-01 18:57 ` [PATCH v3 2/7] mailbox: sun55i: Add Allwinner A523 message box driver Tim Michals
2026-11-01 18:57 ` Tim Michals [this message]
2026-11-01 18:57 ` [PATCH v3 4/7] remoteproc: sunxi: Add Allwinner A523 XuanTie E906 driver Tim Michals
2026-11-01 18:57 ` [PATCH v3 5/7] arm64: dts: allwinner: a523: Add message box and remoteproc nodes Tim Michals
2026-11-01 18:57 ` [PATCH v3 6/7] mailbox: sun55i: Add KUnit tests Tim Michals
2026-11-01 18:57 ` [PATCH v3 7/7] remoteproc: sunxi: " Tim Michals
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=20261101185735.762559-4-tcmichals@gmail.com \
--to=tcmichals@gmail.com \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jassisinghbrar@gmail.com \
--cc=jernej.skrabec@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=mathieu.poirier@linaro.org \
--cc=robh@kernel.org \
--cc=samuel@sholland.org \
--cc=wens@csie.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
all inboxes | Powered by JetHome®