From: Tim Michals <tcmichals@gmail.com>
To: linux-sunxi@lists.linux.dev
Cc: wens@kernel.org, jernej.skrabec@gmail.com, samuel@sholland.org,
Tim Michals <tcmichals@gmail.com>,
Bjorn Andersson <andersson@kernel.org>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
linux-remoteproc@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH 4/7] dt-bindings: remoteproc: add allwinner sun55i rproc binding
Date: Mon, 21 Sep 2026 22:47:08 -0500 [thread overview]
Message-ID: <20260922034711.190253-5-tcmichals@gmail.com> (raw)
In-Reply-To: <20260922034711.190253-1-tcmichals@gmail.com>
Add Device Tree binding schema for the Allwinner XuanTie E906/E907
RISC-V remote processor found on A523, A527, and T527 SoCs.
The remoteproc node manages the co-processor lifecycle (clocks, resets,
boot vector) and IPC (hardware mailbox). Memory regions are expressed
via reg entries named "cfg", "r_sram", "r_sram1", and "remap".
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
Cc: Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Samuel Holland <samuel@sholland.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: linux-remoteproc@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-sunxi@lists.linux.dev
Signed-off-by: Tim Michals <tcmichals@gmail.com>
---
.../remoteproc/allwinner,sun55i-rproc.yaml | 152 ++++++++++++++++++
1 file changed, 152 insertions(+)
create mode 100644 Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-rproc.yaml
diff --git a/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-rproc.yaml
new file mode 100644
index 000000000000..5d8b929f60b6
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/allwinner,sun55i-rproc.yaml
@@ -0,0 +1,152 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/allwinner,sun55i-rproc.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Allwinner XuanTie E906/E907 RISC-V Remoteproc
+
+maintainers:
+ - Jernej Skrabec <jernej.skrabec@gmail.com>
+ - Samuel Holland <samuel@sholland.org>
+ - Tim Michals <tcmichals@gmail.com>
+
+description: |
+ The Allwinner T527, A527, and A523 (sun55i) SoCs integrate a T-Head
+ (XuanTie) E906 or E907 RISC-V co-processor alongside the ARM Cortex-A55
+ cluster. The co-processor runs bare-metal firmware loaded and lifecycle-
+ managed by the Linux remoteproc framework.
+
+ The driver controls CCU-integrated clocks (bus, core) and resets
+ (cfg, core), programs the hardware boot-vector register, maps
+ internal SRAM (SRAM_A3) windows, and connects to the Allwinner
+ hardware mailbox (CPUX_MSGBOX) for VirtIO RPMsg IPC.
+
+properties:
+ compatible:
+ enum:
+ - allwinner,sun55i-a523-rproc
+ - allwinner,sun55i-a527-rproc
+ - allwinner,sun55i-t527-rproc
+
+ reg:
+ minItems: 1
+ maxItems: 4
+ description: |
+ Memory-mapped register regions. The following named regions are
+ supported (all optional except at least one of r_sram or r_sram1):
+ "cfg" - RISC-V core control and boot-vector registers (0x07130000)
+ "r_sram" - Dedicated MCU SRAM Space 0 (0x07280000 / 0x07200000; 256-512 KB)
+ "r_sram1"- Switchable MCU SRAM Space 1 / SRAMA3_2 (0x072c0000 / 0x07280000; 256-512 KB)
+ "remap" - Hardware Remap Control Register (offset 0x364)
+
+ reg-names:
+ minItems: 1
+ maxItems: 4
+ items:
+ enum: [cfg, r_sram, r_sram1, remap]
+
+ clocks:
+ minItems: 1
+ maxItems: 5
+ description: |
+ CCU clocks required for co-processor operation. Typical clocks are
+ "parent" (PLL source), "bus" (interconnect gate), "core" (CPU gate),
+ "sram" (SRAM interconnect gate), and "msgbox" (mailbox interconnect gate).
+
+ clock-names:
+ minItems: 1
+ maxItems: 5
+ items:
+ enum: [parent, bus, core, sram, msgbox]
+
+ resets:
+ minItems: 1
+ maxItems: 4
+ description: |
+ CCU reset lines. Typical resets are "cfg" (configuration block),
+ "core" (CPU core), "sram" (SRAM interconnect), and "msgbox" (mailbox interconnect).
+
+ reset-names:
+ minItems: 1
+ maxItems: 4
+ items:
+ enum: [cfg, core, sram, msgbox]
+
+ mboxes:
+ minItems: 2
+ maxItems: 2
+ description:
+ Exactly two mailbox channels from the Allwinner CPUX_MSGBOX controller —
+ one receive channel (RISC-V-to-ARM) and one transmit channel
+ (ARM-to-RISC-V) — used for VirtIO RPMsg kick notifications.
+
+ mbox-names:
+ items:
+ - const: rx
+ - const: tx
+
+ firmware-name:
+ $ref: /schemas/types.yaml#/definitions/string
+ description:
+ Name of the ELF firmware image to load from /lib/firmware/.
+ Defaults to "riscv-firmware.elf" if not specified.
+
+ memory-region:
+ description:
+ Optional phandle list of reserved memory regions for VirtIO vring
+ buffers or DDR carveouts. Region names "vram" and "dram" are
+ recognized; "trace" selects the RemoteProc trace buffer carveout.
+
+ memory-region-names:
+ description:
+ Names corresponding to the memory-region phandle list entries.
+ Recognized values are "vram", "dram", and "trace".
+
+ interrupts:
+ maxItems: 1
+ description:
+ Optional hardware crash-notification interrupt. When present the
+ driver calls rproc_report_crash() on assertion.
+
+ interrupt-names:
+ items:
+ - const: crash
+
+ status: true
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - clocks
+ - clock-names
+ - resets
+ - reset-names
+ - mboxes
+ - mbox-names
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/clock/sun55i-a523-ccu.h>
+ #include <dt-bindings/reset/sun55i-a523-ccu.h>
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+ remoteproc@7130000 {
+ compatible = "allwinner,sun55i-a523-rproc";
+ reg = <0x07130000 0x1000>,
+ <0x07280000 0x40000>,
+ <0x072c0000 0x40000>,
+ <0x07010364 0x4>;
+ reg-names = "cfg", "r_sram", "r_sram1", "remap";
+ clocks = <&mcu_ccu CLK_BUS_MCU_RISCV_CFG>,
+ <&mcu_ccu CLK_MCU_RISCV>;
+ clock-names = "bus", "core";
+ resets = <&mcu_ccu RST_BUS_MCU_RISCV_CFG>,
+ <&mcu_ccu RST_BUS_MCU_RISCV_CORE>;
+ reset-names = "cfg", "core";
+ mboxes = <&msgbox 0>, <&msgbox 1>;
+ mbox-names = "rx", "tx";
+ firmware-name = "testBasic.elf";
--
2.53.0
next prev parent reply other threads:[~2026-09-22 3:47 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-22 3:47 [PATCH 0/7] remoteproc/mailbox: add Allwinner A523/A527/T527 E907 RISC-V support Tim Michals
2026-09-22 3:47 ` [PATCH 1/7] dt-bindings: mailbox: add Allwinner sun55i msgbox schema Tim Michals
2026-09-22 3:54 ` sashiko-bot
2026-09-22 8:54 ` Krzysztof Kozlowski
2026-09-22 3:47 ` [PATCH 2/7] mailbox: sun55i: add Allwinner sun55i/sun60i 4-port Message Box driver Tim Michals
2026-09-22 4:00 ` sashiko-bot
2026-09-22 3:47 ` [PATCH 3/7] mailbox: sun55i: add KUnit tests for routing and registers Tim Michals
2026-09-22 3:54 ` sashiko-bot
2026-09-22 3:47 ` Tim Michals [this message]
2026-09-22 3:56 ` [PATCH 4/7] dt-bindings: remoteproc: add allwinner sun55i rproc binding sashiko-bot
2026-09-22 8:58 ` Krzysztof Kozlowski
2026-09-22 12:46 ` Rob Herring (Arm)
2026-09-22 3:47 ` [PATCH 5/7] remoteproc: sunxi: add allwinner riscv remoteproc driver Tim Michals
2026-09-22 3:59 ` sashiko-bot
2026-09-22 3:47 ` [PATCH 6/7] remoteproc: sunxi: add KUnit tests for da_to_va address translation Tim Michals
2026-09-22 3:54 ` sashiko-bot
2026-09-22 3:47 ` [PATCH 7/7] arm64: dts: allwinner: add a523 msgbox and remoteproc nodes Tim Michals
2026-09-22 3:59 ` sashiko-bot
2026-09-22 6:34 ` [PATCH 0/7] remoteproc/mailbox: add Allwinner A523/A527/T527 E907 RISC-V support Chen-Yu Tsai
2026-09-27 0:20 ` [PATCH v2 0/7] remoteproc: sunxi: Add Allwinner XuanTie E907 RemoteProc and Message Box support Tim Michals
2026-09-27 0:20 ` [PATCH v2 1/7] dt-bindings: mailbox: add Allwinner sun55i msgbox schema Tim Michals
2026-09-27 0:30 ` sashiko-bot
2026-10-01 6:16 ` Krzysztof Kozlowski
2026-09-27 0:20 ` [PATCH v2 2/7] mailbox: sun55i: add Allwinner sun55i/sun60i 4-port Message Box driver Tim Michals
2026-09-27 0:33 ` sashiko-bot
2026-09-27 0:20 ` [PATCH v2 3/7] mailbox: sun55i: add KUnit test suite for sun55i msgbox driver Tim Michals
2026-09-27 0:31 ` sashiko-bot
2026-09-27 0:20 ` [PATCH v2 4/7] dt-bindings: remoteproc: add Allwinner sun55i-rproc schema Tim Michals
2026-09-27 0:27 ` sashiko-bot
2026-10-01 6:17 ` Krzysztof Kozlowski
2026-09-27 0:20 ` [PATCH v2 5/7] remoteproc: sunxi: add Allwinner XuanTie RISC-V remoteproc driver Tim Michals
2026-09-27 0:33 ` sashiko-bot
2026-09-27 0:20 ` [PATCH v2 6/7] remoteproc: sunxi: add KUnit test suite for sunxi " Tim Michals
2026-09-27 0:32 ` sashiko-bot
2026-09-27 0:20 ` [PATCH v2 7/7] arm64: dts: allwinner: add a523 msgbox and remoteproc nodes 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=20260922034711.190253-5-tcmichals@gmail.com \
--to=tcmichals@gmail.com \
--cc=andersson@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jernej.skrabec@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.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@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 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.