* [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support
@ 2025-07-05 19:08 Magnus Damm
2025-07-05 19:08 ` [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str Magnus Damm
` (6 more replies)
0 siblings, 7 replies; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:08 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
Add rpc-if to RZ/A1, RZ/A2 and update/add board support
[PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str
[PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes
[PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node
[PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
[PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support
[PATCH 6/6] ARM: dts: renesas: rza2mbtc: initial board support
Add support for rpc-if to RZ/A1 and RZ/A2 SoCs and update/add a few boards
to make use of this and other devices as well.
The support level of the boards when this series is applied is as follows:
Genmai: (RZ/A1 SoC) Serial Console, SPI flash, Ethernet
GR-Peach: (RZ/A2 SoC) Serial Console, Ethernet
RZA2MBTC: (RZ/A2 SoC) Serial Console, SPI flash, Ethernet
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml | 2
arch/arm/boot/dts/renesas/Makefile | 2
arch/arm/boot/dts/renesas/r7s72100-genmai.dts | 71 +++--
arch/arm/boot/dts/renesas/r7s72100.dtsi | 22 +
arch/arm/boot/dts/renesas/r7s9210-gr-mango.dts | 87 ++++++
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts | 133 ++++++++++
arch/arm/boot/dts/renesas/r7s9210.dtsi | 12
7 files changed, 300 insertions(+), 29 deletions(-)
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
@ 2025-07-05 19:08 ` Magnus Damm
2025-07-06 7:25 ` Krzysztof Kozlowski
2025-07-05 19:08 ` [PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes Magnus Damm
` (5 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:08 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add RZ/A1 and RZ/A2 compat strings for the renesas rpc-if device.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml | 2 ++
1 file changed, 2 insertions(+)
--- 0001/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml
+++ work/Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml 2025-07-05 21:37:00.395177936 +0900
@@ -27,6 +27,8 @@ properties:
oneOf:
- items:
- enum:
+ - renesas,r7s72100-rpc-if # RZ/A1H
+ - renesas,r7s9210-rpc-if # RZ/A2M
- renesas,r8a774a1-rpc-if # RZ/G2M
- renesas,r8a774b1-rpc-if # RZ/G2N
- renesas,r8a774c0-rpc-if # RZ/G2E
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
2025-07-05 19:08 ` [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str Magnus Damm
@ 2025-07-05 19:08 ` Magnus Damm
2025-07-05 19:09 ` [PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node Magnus Damm
` (4 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:08 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add two on-chip rpc-if devices to r7s72100 (RZ/A1H). These devices tend to
interface to one or more on-board SPI / Hyper / Octo flash devices.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
arch/arm/boot/dts/renesas/r7s72100.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
--- 0001/arch/arm/boot/dts/renesas/r7s72100.dtsi
+++ work/arch/arm/boot/dts/renesas/r7s72100.dtsi 2025-07-05 21:45:58.707395239 +0900
@@ -315,6 +315,28 @@
status = "disabled";
};
+ rpc0: spi@3fefa000 {
+ compatible = "renesas,r7s72100-rpc-if";
+ reg = <0x3fefa000 0x100>, <0x18000000 0x04000000>;
+ clocks = <&mstp9_clks R7S72100_CLK_SPIBSC0>;
+ power-domains = <&cpg_clocks>;
+ num-cs = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
+ rpc1: spi@3fefb000 {
+ compatible = "renesas,r7s72100-rpc-if";
+ reg = <0x3fefb000 0x100>, <0x1c000000 0x04000000>;
+ clocks = <&mstp9_clks R7S72100_CLK_SPIBSC1>;
+ power-domains = <&cpg_clocks>;
+ num-cs = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
usbhs0: usb@e8010000 {
compatible = "renesas,usbhs-r7s72100", "renesas,rza1-usbhs";
reg = <0xe8010000 0x1a0>;
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
2025-07-05 19:08 ` [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str Magnus Damm
2025-07-05 19:08 ` [PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes Magnus Damm
@ 2025-07-05 19:09 ` Magnus Damm
2025-07-05 19:09 ` [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash Magnus Damm
` (3 subsequent siblings)
6 siblings, 0 replies; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:09 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add one on-chip rpc-if device to r7s9210 (RZ/A2M). This kind of device tends
to interface to one or more on-board SPI / Hyper / Octo flash devices.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
arch/arm/boot/dts/renesas/r7s9210.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
--- 0001/arch/arm/boot/dts/renesas/r7s9210.dtsi
+++ work/arch/arm/boot/dts/renesas/r7s9210.dtsi 2025-07-05 21:49:14.741533688 +0900
@@ -198,6 +198,18 @@
status = "disabled";
};
+ rpc0: spi@1f800000 {
+ compatible = "renesas,r7s9210-rpc-if";
+ reg = <0x1f800000 0x100>, <0x20000000 0x10000000>;
+ interrupts = <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 83>;
+ power-domains = <&cpg>;
+ num-cs = <1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "disabled";
+ };
+
ether0: ethernet@e8204000 {
compatible = "renesas,ether-r7s9210";
reg = <0xe8204000 0x200>;
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
` (2 preceding siblings ...)
2025-07-05 19:09 ` [PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node Magnus Damm
@ 2025-07-05 19:09 ` Magnus Damm
2025-07-07 12:20 ` Geert Uytterhoeven
2025-07-05 19:09 ` [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support Magnus Damm
` (2 subsequent siblings)
6 siblings, 1 reply; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:09 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add genmai board support code to make use of one of the on-chip rpc-if devices
to interface to the on-board SPI flash U6 Spansion S25FK512S-16. Without this
patch the SPI flash is accessible through a memory mapped window, however by
adding pinctrl configuration and a rpc-if device node to the DTS we can now
access the SPI flash via the the rpc-if driver instead.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
arch/arm/boot/dts/renesas/r7s72100-genmai.dts | 71 ++++++++++++++-----------
1 file changed, 42 insertions(+), 29 deletions(-)
--- 0001/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
+++ work/arch/arm/boot/dts/renesas/r7s72100-genmai.dts 2025-07-06 00:02:33.267119292 +0900
@@ -18,6 +18,7 @@
aliases {
serial0 = &scif2;
+ spi0 = &rpc0;
};
chosen {
@@ -25,35 +26,6 @@
stdout-path = "serial0:115200n8";
};
- flash@18000000 {
- compatible = "mtd-rom";
- reg = <0x18000000 0x08000000>;
- bank-width = <4>;
- device-width = <1>;
-
- clocks = <&mstp9_clks R7S72100_CLK_SPIBSC0>;
- power-domains = <&cpg_clocks>;
-
- #address-cells = <1>;
- #size-cells = <1>;
-
- partitions {
- compatible = "fixed-partitions";
- #address-cells = <1>;
- #size-cells = <1>;
-
- partition@0 {
- label = "user";
- reg = <0x00000000 0x04000000>;
- };
-
- partition@4000000 {
- label = "user1";
- reg = <0x04000000 0x04000000>;
- };
- };
- };
-
keyboard {
compatible = "gpio-keys";
@@ -98,6 +70,38 @@
};
};
+&rpc0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&rpc0_pins>;
+
+ status = "okay";
+
+ flash0: spi-flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ spi-max-frequency = <50000000>;
+ spi-tx-bus-width = <1>;
+ spi-rx-bus-width = <1>;
+ reg = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x00000000 0x00080000>;
+ };
+ partition@80000 {
+ label = "uboot-env";
+ reg = <0x00080000 0x00040000>;
+ };
+ };
+ };
+};
+
&bsc {
flash@0 {
compatible = "cfi-flash";
@@ -273,6 +277,15 @@
<RZA1_PINMUX(4, 14, 3)>, /* SD_D3_0 */
<RZA1_PINMUX(4, 15, 3)>; /* SD_D2_0 */
};
+
+ rpc0_pins: rpc0 {
+ pinmux = <RZA1_PINMUX(9, 2, 2)>, /* P9_2/SPBCLK_0 */
+ <RZA1_PINMUX(9, 3, 2)>, /* P9_3/SPBSSL_0 */
+ <RZA1_PINMUX(9, 4, 2)>, /* P9_4/SPBIO00_0 */
+ <RZA1_PINMUX(9, 5, 2)>, /* P9_5/SPBIO10_0 */
+ <RZA1_PINMUX(9, 6, 2)>, /* P9_6/SPBIO20_0 */
+ <RZA1_PINMUX(9, 7, 2)>; /* P9_7/SPBIO30_0 */
+ };
};
&rtc_x1_clk {
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
` (3 preceding siblings ...)
2025-07-05 19:09 ` [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash Magnus Damm
@ 2025-07-05 19:09 ` Magnus Damm
2025-08-18 11:57 ` Geert Uytterhoeven
2025-07-05 19:09 ` [PATCH 6/6] ARM: dts: renesas: rza2mbtc: " Magnus Damm
2025-07-07 17:55 ` [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add " Rob Herring (Arm)
6 siblings, 1 reply; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:09 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add initial support for the GR-Mango board which is based on RZ/A2M by Renesas
Electronics. Included in this patch are DTS nodes for serial console as well
as MII Ethernet.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
arch/arm/boot/dts/renesas/Makefile | 1
work/arch/arm/boot/dts/renesas/r7s9210-gr-mango.dts | 87 +++++++++++++++++++
2 files changed, 88 insertions(+)
--- 0001/arch/arm/boot/dts/renesas/Makefile
+++ work/arch/arm/boot/dts/renesas/Makefile 2025-07-05 21:57:56.886566015 +0900
@@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
r7s72100-genmai.dtb \
r7s72100-gr-peach.dtb \
r7s72100-rskrza1.dtb \
+ r7s9210-gr-mango.dtb \
r7s9210-rza2mevb.dtb \
r8a73a4-ape6evm.dtb \
r8a7740-armadillo800eva.dtb \
--- /dev/null
+++ work/arch/arm/boot/dts/renesas/r7s9210-gr-mango.dts 2025-07-05 21:56:25.214033636 +0900
@@ -0,0 +1,87 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for the GRMANGO board
+ *
+ * Based on RZA2MEVB, Copyright (C) 2018 Renesas Electronics
+ */
+
+/dts-v1/;
+#include "r7s9210.dtsi"
+#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
+
+/ {
+ model = "GRMANGO";
+ compatible = "renesas,grmango", "renesas,r7s9210";
+
+ aliases {
+ serial0 = &scif0;
+ };
+
+ chosen {
+ bootargs = "ignore_loglevel";
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&extal_clk {
+ clock-frequency = <24000000>; /* EXTAL: X2: FCXO-07(24MHz) */
+};
+
+&ostm0 {
+ status = "okay";
+};
+
+&ostm1 {
+ status = "okay";
+};
+
+ðer1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <ð1_pins>;
+ status = "okay";
+ phy-mode = "mii";
+
+ renesas,no-ether-link;
+ phy-handle = <&phy0>;
+
+ phy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-id0007.c0f0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&pinctrl {
+ scif0_pins: serial0 {
+ pinmux = <RZA2_PINMUX(PORT4, 2, 1)>, /* TxD0 */
+ <RZA2_PINMUX(PORT4, 1, 1)>; /* RxD0 */
+ };
+
+ eth1_pins: eth1 {
+ pinmux = <RZA2_PINMUX(PORT3, 3, 1)>, /* ET1_MDC */
+ <RZA2_PINMUX(PORT3, 4, 1)>, /* ET1_MDIO */
+ <RZA2_PINMUX(PORTC, 0, 3)>, /* ET1_TXCLK */
+ <RZA2_PINMUX(PORTC, 4, 3)>, /* ET1_TXER */
+ <RZA2_PINMUX(PORTK, 0, 1)>, /* ET1_TXEN */
+ <RZA2_PINMUX(PORTK, 1, 1)>, /* ET1_TXD0 */
+ <RZA2_PINMUX(PORTK, 2, 1)>, /* ET1_TXD1 */
+ <RZA2_PINMUX(PORTC, 1, 3)>, /* ET1_TXD2 */
+ <RZA2_PINMUX(PORTC, 2, 3)>, /* ET1_TXD3 */
+ <RZA2_PINMUX(PORTK, 3, 1)>, /* ET1_RXCLK */
+ <RZA2_PINMUX(PORT3, 1, 1)>, /* ET1_RXER */
+ <RZA2_PINMUX(PORTC, 5, 3)>, /* ET1_RXDV */
+ <RZA2_PINMUX(PORTK, 4, 1)>, /* ET1_RXD0 */
+ <RZA2_PINMUX(PORT3, 5, 1)>, /* ET1_RXD1 */
+ <RZA2_PINMUX(PORTC, 6, 3)>, /* ET1_RXD2 */
+ <RZA2_PINMUX(PORTC, 7, 3)>, /* ET1_RXD3 */
+ <RZA2_PINMUX(PORT3, 2, 1)>, /* ET1_CRS */
+ <RZA2_PINMUX(PORTC, 3, 3)>; /* ET1_COL */
+ };
+};
+
+&scif0 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&scif0_pins>;
+
+ status = "okay";
+};
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 6/6] ARM: dts: renesas: rza2mbtc: initial board support
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
` (4 preceding siblings ...)
2025-07-05 19:09 ` [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support Magnus Damm
@ 2025-07-05 19:09 ` Magnus Damm
2025-07-06 7:26 ` Krzysztof Kozlowski
2025-07-07 17:55 ` [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add " Rob Herring (Arm)
6 siblings, 1 reply; 15+ messages in thread
From: Magnus Damm @ 2025-07-05 19:09 UTC (permalink / raw)
To: linux-renesas-soc; +Cc: wsa+renesas, Magnus Damm, geert+renesas
From: Magnus Damm <damm@opensource.se>
Add initial support for the RZA2MBTC board which is based on the RZ/A2M by
Renesas Electronics. Included in this patch are DTS nodes for serial console,
on-board SPI flash as well as RMII Ethernet.
Signed-off-by: Magnus Damm <damm@opensource.se>
---
Applies to next-20250704
arch/arm/boot/dts/renesas/Makefile | 1
work/arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts | 133 +++++++++++++++++++
2 files changed, 134 insertions(+)
--- 0006/arch/arm/boot/dts/renesas/Makefile
+++ work/arch/arm/boot/dts/renesas/Makefile 2025-07-05 22:03:46.456578459 +0900
@@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
r7s72100-gr-peach.dtb \
r7s72100-rskrza1.dtb \
r7s9210-gr-mango.dtb \
+ r7s9210-rza2mbtc.dtb \
r7s9210-rza2mevb.dtb \
r8a73a4-ape6evm.dtb \
r8a7740-armadillo800eva.dtb \
--- /dev/null
+++ work/arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts 2025-07-05 22:03:21.996442287 +0900
@@ -0,0 +1,133 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Device Tree Source for the RZ/A2M BTC board
+ *
+ * Based on RZA2MEVB, Copyright (C) 2018 Renesas Electronics
+ */
+
+/dts-v1/;
+#include "r7s9210.dtsi"
+#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
+
+/ {
+ model = "RZA2MBTC";
+ compatible = "aprg,rza2mbtc", "renesas,r7s9210";
+
+ aliases {
+ serial0 = &scif1;
+ spi0 = &rpc0;
+ };
+
+ chosen {
+ bootargs = "ignore_loglevel";
+ stdout-path = "serial0:115200n8";
+ };
+};
+
+&extal_clk {
+ clock-frequency = <24000000>; /* EXTAL: Y2: ECS-240-8-47B-7KM-TR (24MHz) */
+};
+
+&ostm0 {
+ status = "okay";
+};
+
+&ostm1 {
+ status = "okay";
+};
+
+&rpc0 {
+ status = "okay";
+
+ flash0: spi-flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ spi-max-frequency = <50000000>;
+ spi-tx-bus-width = <1>;
+ spi-rx-bus-width = <1>;
+ reg = <0>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "mcuboot";
+ reg = <0x00000000 0x00018000>;
+ read-only;
+ };
+ partition@18000 {
+ label = "mcuboot-scratch";
+ reg = <0x00018000 0x00008000>;
+ read-only;
+ };
+ partition@20000 {
+ label = "mcuboot-primary";
+ reg = <0x00020000 0x00060000>;
+ read-only;
+ };
+ partition@80000 {
+ label = "mcuboot-secondary";
+ reg = <0x00080000 0x00060000>;
+ };
+ partition@e0000 {
+ label = "u-boot-env";
+ reg = <0x000e0000 0x00010000>;
+ };
+ partition@f0000 {
+ label = "factory-data";
+ reg = <0x000f0000 0x00010000>;
+ read-only;
+ };
+ };
+ };
+};
+
+ðer1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <ð1_pins>;
+ status = "okay";
+ phy-mode = "rmii";
+
+ renesas,no-ether-link;
+ phy-handle = <&phy0>;
+
+ phy0: ethernet-phy@0 {
+ compatible = "ethernet-phy-id0007.c0f0",
+ "ethernet-phy-ieee802.3-c22";
+ reg = <0>;
+ };
+};
+
+&pinctrl {
+ scif1_pins: serial0 {
+ pinmux = <RZA2_PINMUX(PORTJ, 2, 4)>, /* H1:1 PJ_2 (TxD1) */
+ <RZA2_PINMUX(PORTJ, 1, 4)>; /* H1:2 PJ_1 (RxD1) */
+ };
+
+ eth1_pins: eth1 {
+ pinmux = <RZA2_PINMUX(PORT3, 3, 1)>, /* ET1_MDC */
+ <RZA2_PINMUX(PORT3, 4, 1)>, /* ET1_MDIO */
+ <RZA2_PINMUX(PORTK, 3, 7)>, /* REF50CK1 */
+ <RZA2_PINMUX(PORTK, 0, 7)>, /* RMII1_TXDEN */
+ <RZA2_PINMUX(PORTK, 1, 7)>, /* RMII1_TXD0 */
+ <RZA2_PINMUX(PORTK, 2, 7)>, /* RMII1_TXD1 */
+ <RZA2_PINMUX(PORT3, 2, 7)>, /* RMII1_CRSDV */
+ <RZA2_PINMUX(PORTK, 4, 7)>, /* RMII1_RXD0 */
+ <RZA2_PINMUX(PORT3, 5, 7)>, /* RMII1_RXD1 */
+ <RZA2_PINMUX(PORT3, 1, 7)>; /* RMII1_RXER */
+ };
+};
+
+&rtc_x1_clk {
+ clock-frequency = <32768>; /* RTC_X1: Y1: ECS-.327-12.5-1210-TR (32kHz) */
+};
+
+&scif1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&scif1_pins>;
+
+ status = "okay";
+};
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str
2025-07-05 19:08 ` [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str Magnus Damm
@ 2025-07-06 7:25 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2025-07-06 7:25 UTC (permalink / raw)
To: Magnus Damm, linux-renesas-soc; +Cc: wsa+renesas, geert+renesas
On 05/07/2025 21:08, Magnus Damm wrote:
> From: Magnus Damm <damm@opensource.se>
>
> Add RZ/A1 and RZ/A2 compat strings for the renesas rpc-if device.
>
> Signed-off-by: Magnus Damm <damm@opensource.se>
You not only skipped maintainers of the subsystem, but also DT
maintainers... and you never tested it. Eh...
Please use scripts/get_maintainers.pl to get a list of necessary people
and lists to CC. It might happen, that command when run on an older
kernel, gives you outdated entries. Therefore please be sure you base
your patches on recent Linux kernel.
Tools like b4 or scripts/get_maintainer.pl provide you proper list of
people, so fix your workflow. Tools might also fail if you work on some
ancient tree (don't, instead use mainline) or work on fork of kernel
(don't, instead use mainline). Just use b4 and everything should be
fine, although remember about `b4 prep --auto-to-cc` if you added new
patches to the patchset.
You missed at least devicetree list (maybe more), so this won't be
tested by automated tooling. Performing review on untested code might be
a waste of time.
Please kindly resend and include all necessary To/Cc entries.
It does not look like you tested the bindings, at least after quick
look. Please run `make dt_binding_check` (see
Documentation/devicetree/bindings/writing-schema.rst for instructions).
Maybe you need to update your dtschema and yamllint. Don't rely on
distro packages for dtschema and be sure you are using the latest
released dtschema.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/6] ARM: dts: renesas: rza2mbtc: initial board support
2025-07-05 19:09 ` [PATCH 6/6] ARM: dts: renesas: rza2mbtc: " Magnus Damm
@ 2025-07-06 7:26 ` Krzysztof Kozlowski
0 siblings, 0 replies; 15+ messages in thread
From: Krzysztof Kozlowski @ 2025-07-06 7:26 UTC (permalink / raw)
To: Magnus Damm, linux-renesas-soc; +Cc: wsa+renesas, geert+renesas
On 05/07/2025 21:09, Magnus Damm wrote:
> From: Magnus Damm <damm@opensource.se>
>
> Add initial support for the RZA2MBTC board which is based on the RZ/A2M by
> Renesas Electronics. Included in this patch are DTS nodes for serial console,
> on-board SPI flash as well as RMII Ethernet.
>
> Signed-off-by: Magnus Damm <damm@opensource.se>
> ---
>
> Applies to next-20250704
>
> arch/arm/boot/dts/renesas/Makefile | 1
> work/arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts | 133 +++++++++++++++++++
> 2 files changed, 134 insertions(+)
>
> --- 0006/arch/arm/boot/dts/renesas/Makefile
> +++ work/arch/arm/boot/dts/renesas/Makefile 2025-07-05 22:03:46.456578459 +0900
> @@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_RENESAS) += \
> r7s72100-gr-peach.dtb \
> r7s72100-rskrza1.dtb \
> r7s9210-gr-mango.dtb \
> + r7s9210-rza2mbtc.dtb \
> r7s9210-rza2mevb.dtb \
> r8a73a4-ape6evm.dtb \
> r8a7740-armadillo800eva.dtb \
> --- /dev/null
> +++ work/arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts 2025-07-05 22:03:21.996442287 +0900
> @@ -0,0 +1,133 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for the RZ/A2M BTC board
> + *
> + * Based on RZA2MEVB, Copyright (C) 2018 Renesas Electronics
> + */
> +
> +/dts-v1/;
> +#include "r7s9210.dtsi"
> +#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
> +
> +/ {
> + model = "RZA2MBTC";
> + compatible = "aprg,rza2mbtc", "renesas,r7s9210";
> +
> + aliases {
> + serial0 = &scif1;
> + spi0 = &rpc0;
> + };
> +
> + chosen {
> + bootargs = "ignore_loglevel";
> + stdout-path = "serial0:115200n8";
> + };
> +};
> +
> +&extal_clk {
> + clock-frequency = <24000000>; /* EXTAL: Y2: ECS-240-8-47B-7KM-TR (24MHz) */
> +};
> +
> +&ostm0 {
> + status = "okay";
> +};
> +
> +&ostm1 {
> + status = "okay";
> +};
> +
> +&rpc0 {
> + status = "okay";
> +
> + flash0: spi-flash@0 {
That's just flash@0
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "jedec,spi-nor";
Follow DTS coding style - read about property order.
> + spi-max-frequency = <50000000>;
> + spi-tx-bus-width = <1>;
> + spi-rx-bus-width = <1>;
> + reg = <0>;
> +
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
2025-07-05 19:09 ` [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash Magnus Damm
@ 2025-07-07 12:20 ` Geert Uytterhoeven
2025-07-08 20:26 ` Wolfram Sang
0 siblings, 1 reply; 15+ messages in thread
From: Geert Uytterhoeven @ 2025-07-07 12:20 UTC (permalink / raw)
To: Magnus Damm; +Cc: linux-renesas-soc, wsa+renesas
Hi Magnus,
On Sat, 5 Jul 2025 at 21:09, Magnus Damm <damm@opensource.se> wrote:
> From: Magnus Damm <damm@opensource.se>
>
> Add genmai board support code to make use of one of the on-chip rpc-if devices
> to interface to the on-board SPI flash U6 Spansion S25FK512S-16. Without this
> patch the SPI flash is accessible through a memory mapped window, however by
> adding pinctrl configuration and a rpc-if device node to the DTS we can now
> access the SPI flash via the the rpc-if driver instead.
>
> Signed-off-by: Magnus Damm <damm@opensource.se>
Thanks for your patch!
> --- 0001/arch/arm/boot/dts/renesas/r7s72100-genmai.dts
> +++ work/arch/arm/boot/dts/renesas/r7s72100-genmai.dts 2025-07-06 00:02:33.267119292 +0900
> @@ -18,6 +18,7 @@
>
> aliases {
> serial0 = &scif2;
> + spi0 = &rpc0;
I don't think you need this/
> };
>
> chosen {
> @@ -25,35 +26,6 @@
> stdout-path = "serial0:115200n8";
> };
>
> - flash@18000000 {
> - compatible = "mtd-rom";
> - reg = <0x18000000 0x08000000>;
> - bank-width = <4>;
> - device-width = <1>;
> -
> - clocks = <&mstp9_clks R7S72100_CLK_SPIBSC0>;
> - power-domains = <&cpg_clocks>;
> -
> - #address-cells = <1>;
> - #size-cells = <1>;
> -
> - partitions {
> - compatible = "fixed-partitions";
> - #address-cells = <1>;
> - #size-cells = <1>;
> -
> - partition@0 {
> - label = "user";
> - reg = <0x00000000 0x04000000>;
> - };
> -
> - partition@4000000 {
> - label = "user1";
> - reg = <0x04000000 0x04000000>;
> - };
> - };
> - };
> -
Removing this breaks the direct-mapped FLASH ROM, which may affect
userspace, and prevents using XIP (but I understand no one cares about
the latter anymore).
> keyboard {
> compatible = "gpio-keys";
>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
` (5 preceding siblings ...)
2025-07-05 19:09 ` [PATCH 6/6] ARM: dts: renesas: rza2mbtc: " Magnus Damm
@ 2025-07-07 17:55 ` Rob Herring (Arm)
6 siblings, 0 replies; 15+ messages in thread
From: Rob Herring (Arm) @ 2025-07-07 17:55 UTC (permalink / raw)
To: Magnus Damm; +Cc: geert+renesas, linux-renesas-soc, wsa+renesas
On Sat, 05 Jul 2025 21:08:43 +0200, Magnus Damm wrote:
> Add rpc-if to RZ/A1, RZ/A2 and update/add board support
>
> [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str
> [PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes
> [PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node
> [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
> [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support
> [PATCH 6/6] ARM: dts: renesas: rza2mbtc: initial board support
>
> Add support for rpc-if to RZ/A1 and RZ/A2 SoCs and update/add a few boards
> to make use of this and other devices as well.
>
> The support level of the boards when this series is applied is as follows:
> Genmai: (RZ/A1 SoC) Serial Console, SPI flash, Ethernet
> GR-Peach: (RZ/A2 SoC) Serial Console, Ethernet
> RZA2MBTC: (RZ/A2 SoC) Serial Console, SPI flash, Ethernet
>
> Signed-off-by: Magnus Damm <damm@opensource.se>
> ---
>
> Applies to next-20250704
>
> Documentation/devicetree/bindings/memory-controllers/renesas,rpc-if.yaml | 2
> arch/arm/boot/dts/renesas/Makefile | 2
> arch/arm/boot/dts/renesas/r7s72100-genmai.dts | 71 +++--
> arch/arm/boot/dts/renesas/r7s72100.dtsi | 22 +
> arch/arm/boot/dts/renesas/r7s9210-gr-mango.dts | 87 ++++++
> arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dts | 133 ++++++++++
> arch/arm/boot/dts/renesas/r7s9210.dtsi | 12
> 7 files changed, 300 insertions(+), 29 deletions(-)
>
>
My bot found new DTB warnings on the .dts files added or changed in this
series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings
are fixed by another series. Ultimately, it is up to the platform
maintainer whether these warnings are acceptable or not. No need to reply
unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then
make sure dt-schema is up to date:
pip3 install dtschema --upgrade
This patch series was applied (using b4) to base:
Base: attempting to guess base-commit...
Base: failed to guess base
If this is not the correct base, please add 'base-commit' tag
(or use b4 which does this automatically)
New warnings running 'make CHECK_DTBS=y for arch/arm/boot/dts/renesas/' for 175174252387.83411.17393827352291413834.sendpatchset@1.0.0.127.in-addr.arpa:
arch/arm/boot/dts/renesas/r7s72100-genmai.dtb: spi-flash@0 (jedec,spi-nor): $nodename:0: 'spi-flash@0' does not match '^(flash|.*sram|nand)(@.*)?$'
from schema $id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
arch/arm/boot/dts/renesas/r7s72100-genmai.dtb: spi-flash@0 (jedec,spi-nor): Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'partitions' were unexpected)
from schema $id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dtb: / (aprg,rza2mbtc): compatible: 'oneOf' conditional failed, one must be fixed:
['aprg,rza2mbtc', 'renesas,r7s9210'] is too short
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dtb: / (aprg,rza2mbtc): compatible: 'oneOf' conditional failed, one must be fixed:
['aprg,rza2mbtc', 'renesas,r7s9210'] is too short
'shimafuji,kingfisher' was expected
'renesas,r7s9210' is not one of ['renesas,h3ulcb', 'renesas,m3ulcb', 'renesas,m3nulcb']
'aprg,rza2mbtc' is not one of ['renesas,kzm9d']
'aprg,rza2mbtc' is not one of ['renesas,genmai', 'renesas,gr-peach', 'renesas,rskrza1']
'aprg,rza2mbtc' is not one of ['renesas,rza2mevb']
'aprg,rza2mbtc' is not one of ['renesas,kzm9g']
'aprg,rza2mbtc' is not one of ['renesas,ape6evm']
'aprg,rza2mbtc' is not one of ['renesas,armadillo800eva']
'aprg,rza2mbtc' is not one of ['iwave,g21m']
'aprg,rza2mbtc' is not one of ['iwave,g21d']
'aprg,rza2mbtc' is not one of ['iwave,g20d']
'aprg,rza2mbtc' is not one of ['iwave,g20m', 'renesas,sk-rzg1m']
'aprg,rza2mbtc' is not one of ['iwave,g20m']
'aprg,rza2mbtc' is not one of ['iwave,g22m', 'renesas,sk-rzg1e']
'iwave,g22d' was expected
'aprg,rza2mbtc' is not one of ['iwave,g23s']
'aprg,rza2mbtc' is not one of ['hoperun,hihope-rzg2m', 'beacon,beacon-rzg2m']
'aprg,rza2mbtc' is not one of ['hoperun,hihope-rzg2-ex']
'aprg,rza2mbtc' is not one of ['hoperun,hihope-rzg2m']
'aprg,rza2mbtc' is not one of ['beacon,beacon-rzg2n', 'hoperun,hihope-rzg2n']
'aprg,rza2mbtc' is not one of ['si-linux,cat874']
'aprg,rza2mbtc' is not one of ['si-linux,cat875']
'aprg,rza2mbtc' is not one of ['beacon,beacon-rzg2h', 'hoperun,hihope-rzg2h']
'aprg,rza2mbtc' is not one of ['renesas,bockw']
'aprg,rza2mbtc' is not one of ['renesas,marzen']
'aprg,rza2mbtc' is not one of ['renesas,lager', 'renesas,stout']
'aprg,rza2mbtc' is not one of ['renesas,henninger', 'renesas,koelsch', 'renesas,porter']
'aprg,rza2mbtc' is not one of ['renesas,blanche', 'renesas,wheat']
'aprg,rza2mbtc' is not one of ['renesas,gose']
'aprg,rza2mbtc' is not one of ['renesas,alt', 'renesas,silk']
'aprg,rza2mbtc' is not one of ['renesas,h3ulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,m3ulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,m3ulcb', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,m3nulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,eagle', 'renesas,v3msk']
'aprg,rza2mbtc' is not one of ['renesas,condor', 'renesas,v3hsk']
'aprg,rza2mbtc' is not one of ['renesas,condor-i']
'aprg,rza2mbtc' is not one of ['renesas,ebisu']
'aprg,rza2mbtc' is not one of ['renesas,draak']
'aprg,rza2mbtc' is not one of ['renesas,falcon-cpu']
'aprg,rza2mbtc' is not one of ['renesas,falcon-breakout']
'aprg,rza2mbtc' is not one of ['renesas,spider-cpu']
'aprg,rza2mbtc' is not one of ['renesas,spider-breakout']
'aprg,rza2mbtc' is not one of ['renesas,s4sk']
'aprg,rza2mbtc' is not one of ['renesas,white-hawk-cpu']
'aprg,rza2mbtc' is not one of ['renesas,white-hawk-breakout']
'aprg,rza2mbtc' is not one of ['renesas,white-hawk-single']
'aprg,rza2mbtc' is not one of ['retronix,sparrow-hawk']
'aprg,rza2mbtc' is not one of ['renesas,gray-hawk-single']
'aprg,rza2mbtc' is not one of ['renesas,h3ulcb', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,m3nulcb', 'renesas,salvator-xs']
'aprg,rza2mbtc' is not one of ['renesas,rzn1d400-db']
'aprg,rza2mbtc' is not one of ['renesas,rzn1d400-eb']
'aprg,rza2mbtc' is not one of ['renesas,smarc-evk']
'aprg,rza2mbtc' is not one of ['myir,remi-pi']
'aprg,rza2mbtc' is not one of ['renesas,r9a08g045s33']
'renesas,rzg3s-smarcm' was expected
'renesas,smarc2-evk' was expected
'aprg,rza2mbtc' is not one of ['renesas,rzv2mevk2']
'aprg,rza2mbtc' is not one of ['renesas,smarc2-evk']
'aprg,rza2mbtc' is not one of ['renesas,rzv2n-evk']
'aprg,rza2mbtc' is not one of ['renesas,rzv2h-evk']
'yuridenki,kakip' was expected
'aprg,rza2mbtc' is not one of ['renesas,rzt2h-evk']
'aprg,rza2mbtc' is not one of ['renesas,rzn2h-evk']
'renesas,emev2' was expected
'renesas,r7s72100' was expected
'renesas,sh73a0' was expected
'renesas,r8a73a4' was expected
'renesas,r8a7740' was expected
'renesas,r8a7742' was expected
'iwave,g21m' was expected
'iwave,g20m' was expected
'renesas,r8a7743' was expected
'renesas,r8a7744' was expected
'renesas,r8a7745' was expected
'iwave,g22m' was expected
'renesas,r8a77470' was expected
'renesas,r8a774a1' was expected
'hoperun,hihope-rzg2m' was expected
'renesas,r8a774a3' was expected
'renesas,r8a774b1' was expected
'hoperun,hihope-rzg2n' was expected
'renesas,r8a774c0' was expected
'si-linux,cat874' was expected
'renesas,r8a774e1' was expected
'hoperun,hihope-rzg2h' was expected
'renesas,r8a7778' was expected
'renesas,r8a7779' was expected
'renesas,r8a7790' was expected
'renesas,r8a7791' was expected
'renesas,r8a7792' was expected
'renesas,r8a7793' was expected
'renesas,r8a7794' was expected
'renesas,r8a7795' was expected
'renesas,r8a7796' was expected
'renesas,r8a77961' was expected
'renesas,r8a77965' was expected
'renesas,r8a77970' was expected
'renesas,r8a77980' was expected
'renesas,r8a77980a' was expected
'renesas,r8a77990' was expected
'renesas,r8a77995' was expected
'renesas,r8a779a0' was expected
'renesas,falcon-cpu' was expected
'renesas,r8a779f0' was expected
'renesas,spider-cpu' was expected
'renesas,r8a779f4' was expected
'renesas,r8a779g0' was expected
'renesas,white-hawk-cpu' was expected
'renesas,r7s9210' is not one of ['renesas,r8a779g2', 'renesas,r8a779g3']
'renesas,r8a779g3' was expected
'renesas,r8a779h0' was expected
'renesas,r8a779h2' was expected
'renesas,r8a779m0' was expected
'renesas,r8a779m1' was expected
'renesas,r8a779m2' was expected
'renesas,r8a779m3' was expected
'renesas,r8a779m4' was expected
'renesas,r8a779m5' was expected
'renesas,r8a779m6' was expected
'renesas,r8a779m7' was expected
'renesas,r8a779m8' was expected
'renesas,r8a779mb' was expected
'renesas,r9a06g032' was expected
'renesas,rzn1d400-db' was expected
'renesas,r7s9210' is not one of ['renesas,r9a07g043f01', 'renesas,r9a07g043u11', 'renesas,r9a07g043u12']
'renesas,r7s9210' is not one of ['renesas,r9a07g044c1', 'renesas,r9a07g044c2', 'renesas,r9a07g044l1', 'renesas,r9a07g044l2']
'renesas,r9a07g044l2' was expected
'renesas,r7s9210' is not one of ['renesas,r9a07g054l1', 'renesas,r9a07g054l2']
'renesas,r9a08g045' was expected
'renesas,r9a08g045s33' was expected
'renesas,r9a09g011' was expected
'renesas,r7s9210' is not one of ['renesas,rzg3e-smarcm']
'renesas,r7s9210' is not one of ['renesas,r9a09g056n41', 'renesas,r9a09g056n42', 'renesas,r9a09g056n43', 'renesas,r9a09g056n44', 'renesas,r9a09g056n45', 'renesas,r9a09g056n46', 'renesas,r9a09g056n47', 'renesas,r9a09g056n48']
'renesas,r7s9210' is not one of ['renesas,r9a09g057h41', 'renesas,r9a09g057h42', 'renesas,r9a09g057h44', 'renesas,r9a09g057h45', 'renesas,r9a09g057h46', 'renesas,r9a09g057h48']
'renesas,r9a09g057h48' was expected
'renesas,r7s9210' is not one of ['renesas,r9a09g077m04', 'renesas,r9a09g077m24', 'renesas,r9a09g077m44']
'renesas,r7s9210' is not one of ['renesas,r9a09g087m04', 'renesas,r9a09g087m24', 'renesas,r9a09g087m44']
from schema $id: http://devicetree.org/schemas/soc/renesas/renesas.yaml#
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dtb: /: failed to match any schema with compatible: ['aprg,rza2mbtc', 'renesas,r7s9210']
arch/arm/boot/dts/renesas/r7s9210-gr-mango.dtb: / (renesas,grmango): compatible: 'oneOf' conditional failed, one must be fixed:
['renesas,grmango', 'renesas,r7s9210'] is too short
arch/arm/boot/dts/renesas/r7s9210-gr-mango.dtb: / (renesas,grmango): compatible: 'oneOf' conditional failed, one must be fixed:
['renesas,grmango', 'renesas,r7s9210'] is too short
'shimafuji,kingfisher' was expected
'renesas,r7s9210' is not one of ['renesas,h3ulcb', 'renesas,m3ulcb', 'renesas,m3nulcb']
'renesas,grmango' is not one of ['renesas,kzm9d']
'renesas,grmango' is not one of ['renesas,genmai', 'renesas,gr-peach', 'renesas,rskrza1']
'renesas,grmango' is not one of ['renesas,rza2mevb']
'renesas,grmango' is not one of ['renesas,kzm9g']
'renesas,grmango' is not one of ['renesas,ape6evm']
'renesas,grmango' is not one of ['renesas,armadillo800eva']
'renesas,grmango' is not one of ['iwave,g21m']
'renesas,grmango' is not one of ['iwave,g21d']
'renesas,grmango' is not one of ['iwave,g20d']
'renesas,grmango' is not one of ['iwave,g20m', 'renesas,sk-rzg1m']
'renesas,grmango' is not one of ['iwave,g20m']
'renesas,grmango' is not one of ['iwave,g22m', 'renesas,sk-rzg1e']
'iwave,g22d' was expected
'renesas,grmango' is not one of ['iwave,g23s']
'renesas,grmango' is not one of ['hoperun,hihope-rzg2m', 'beacon,beacon-rzg2m']
'renesas,grmango' is not one of ['hoperun,hihope-rzg2-ex']
'renesas,grmango' is not one of ['hoperun,hihope-rzg2m']
'renesas,grmango' is not one of ['beacon,beacon-rzg2n', 'hoperun,hihope-rzg2n']
'renesas,grmango' is not one of ['si-linux,cat874']
'renesas,grmango' is not one of ['si-linux,cat875']
'renesas,grmango' is not one of ['beacon,beacon-rzg2h', 'hoperun,hihope-rzg2h']
'renesas,grmango' is not one of ['renesas,bockw']
'renesas,grmango' is not one of ['renesas,marzen']
'renesas,grmango' is not one of ['renesas,lager', 'renesas,stout']
'renesas,grmango' is not one of ['renesas,henninger', 'renesas,koelsch', 'renesas,porter']
'renesas,grmango' is not one of ['renesas,blanche', 'renesas,wheat']
'renesas,grmango' is not one of ['renesas,gose']
'renesas,grmango' is not one of ['renesas,alt', 'renesas,silk']
'renesas,grmango' is not one of ['renesas,h3ulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,m3ulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,m3ulcb', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,m3nulcb', 'renesas,salvator-x', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,eagle', 'renesas,v3msk']
'renesas,grmango' is not one of ['renesas,condor', 'renesas,v3hsk']
'renesas,grmango' is not one of ['renesas,condor-i']
'renesas,grmango' is not one of ['renesas,ebisu']
'renesas,grmango' is not one of ['renesas,draak']
'renesas,grmango' is not one of ['renesas,falcon-cpu']
'renesas,grmango' is not one of ['renesas,falcon-breakout']
'renesas,grmango' is not one of ['renesas,spider-cpu']
'renesas,grmango' is not one of ['renesas,spider-breakout']
'renesas,grmango' is not one of ['renesas,s4sk']
'renesas,grmango' is not one of ['renesas,white-hawk-cpu']
'renesas,grmango' is not one of ['renesas,white-hawk-breakout']
'renesas,grmango' is not one of ['renesas,white-hawk-single']
'renesas,grmango' is not one of ['retronix,sparrow-hawk']
'renesas,grmango' is not one of ['renesas,gray-hawk-single']
'renesas,grmango' is not one of ['renesas,h3ulcb', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,m3nulcb', 'renesas,salvator-xs']
'renesas,grmango' is not one of ['renesas,rzn1d400-db']
'renesas,grmango' is not one of ['renesas,rzn1d400-eb']
'renesas,grmango' is not one of ['renesas,smarc-evk']
'renesas,grmango' is not one of ['myir,remi-pi']
'renesas,grmango' is not one of ['renesas,r9a08g045s33']
'renesas,rzg3s-smarcm' was expected
'renesas,smarc2-evk' was expected
'renesas,grmango' is not one of ['renesas,rzv2mevk2']
'renesas,grmango' is not one of ['renesas,smarc2-evk']
'renesas,grmango' is not one of ['renesas,rzv2n-evk']
'renesas,grmango' is not one of ['renesas,rzv2h-evk']
'yuridenki,kakip' was expected
'renesas,grmango' is not one of ['renesas,rzt2h-evk']
'renesas,grmango' is not one of ['renesas,rzn2h-evk']
'renesas,emev2' was expected
'renesas,r7s72100' was expected
'renesas,sh73a0' was expected
'renesas,r8a73a4' was expected
'renesas,r8a7740' was expected
'renesas,r8a7742' was expected
'iwave,g21m' was expected
'iwave,g20m' was expected
'renesas,r8a7743' was expected
'renesas,r8a7744' was expected
'renesas,r8a7745' was expected
'iwave,g22m' was expected
'renesas,r8a77470' was expected
'renesas,r8a774a1' was expected
'hoperun,hihope-rzg2m' was expected
'renesas,r8a774a3' was expected
'renesas,r8a774b1' was expected
'hoperun,hihope-rzg2n' was expected
'renesas,r8a774c0' was expected
'si-linux,cat874' was expected
'renesas,r8a774e1' was expected
'hoperun,hihope-rzg2h' was expected
'renesas,r8a7778' was expected
'renesas,r8a7779' was expected
'renesas,r8a7790' was expected
'renesas,r8a7791' was expected
'renesas,r8a7792' was expected
'renesas,r8a7793' was expected
'renesas,r8a7794' was expected
'renesas,r8a7795' was expected
'renesas,r8a7796' was expected
'renesas,r8a77961' was expected
'renesas,r8a77965' was expected
'renesas,r8a77970' was expected
'renesas,r8a77980' was expected
'renesas,r8a77980a' was expected
'renesas,r8a77990' was expected
'renesas,r8a77995' was expected
'renesas,r8a779a0' was expected
'renesas,falcon-cpu' was expected
'renesas,r8a779f0' was expected
'renesas,spider-cpu' was expected
'renesas,r8a779f4' was expected
'renesas,r8a779g0' was expected
'renesas,white-hawk-cpu' was expected
'renesas,r7s9210' is not one of ['renesas,r8a779g2', 'renesas,r8a779g3']
'renesas,r8a779g3' was expected
'renesas,r8a779h0' was expected
'renesas,r8a779h2' was expected
'renesas,r8a779m0' was expected
'renesas,r8a779m1' was expected
'renesas,r8a779m2' was expected
'renesas,r8a779m3' was expected
'renesas,r8a779m4' was expected
'renesas,r8a779m5' was expected
'renesas,r8a779m6' was expected
'renesas,r8a779m7' was expected
'renesas,r8a779m8' was expected
'renesas,r8a779mb' was expected
'renesas,r9a06g032' was expected
'renesas,rzn1d400-db' was expected
'renesas,r7s9210' is not one of ['renesas,r9a07g043f01', 'renesas,r9a07g043u11', 'renesas,r9a07g043u12']
'renesas,r7s9210' is not one of ['renesas,r9a07g044c1', 'renesas,r9a07g044c2', 'renesas,r9a07g044l1', 'renesas,r9a07g044l2']
'renesas,r9a07g044l2' was expected
'renesas,r7s9210' is not one of ['renesas,r9a07g054l1', 'renesas,r9a07g054l2']
'renesas,r9a08g045' was expected
'renesas,r9a08g045s33' was expected
'renesas,r9a09g011' was expected
'renesas,r7s9210' is not one of ['renesas,rzg3e-smarcm']
'renesas,r7s9210' is not one of ['renesas,r9a09g056n41', 'renesas,r9a09g056n42', 'renesas,r9a09g056n43', 'renesas,r9a09g056n44', 'renesas,r9a09g056n45', 'renesas,r9a09g056n46', 'renesas,r9a09g056n47', 'renesas,r9a09g056n48']
'renesas,r7s9210' is not one of ['renesas,r9a09g057h41', 'renesas,r9a09g057h42', 'renesas,r9a09g057h44', 'renesas,r9a09g057h45', 'renesas,r9a09g057h46', 'renesas,r9a09g057h48']
'renesas,r9a09g057h48' was expected
'renesas,r7s9210' is not one of ['renesas,r9a09g077m04', 'renesas,r9a09g077m24', 'renesas,r9a09g077m44']
'renesas,r7s9210' is not one of ['renesas,r9a09g087m04', 'renesas,r9a09g087m24', 'renesas,r9a09g087m44']
from schema $id: http://devicetree.org/schemas/soc/renesas/renesas.yaml#
arch/arm/boot/dts/renesas/r7s9210-gr-mango.dtb: /: failed to match any schema with compatible: ['renesas,grmango', 'renesas,r7s9210']
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dtb: spi-flash@0 (jedec,spi-nor): $nodename:0: 'spi-flash@0' does not match '^(flash|.*sram|nand)(@.*)?$'
from schema $id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
arch/arm/boot/dts/renesas/r7s9210-rza2mbtc.dtb: spi-flash@0 (jedec,spi-nor): Unevaluated properties are not allowed ('#address-cells', '#size-cells', 'partitions' were unexpected)
from schema $id: http://devicetree.org/schemas/mtd/jedec,spi-nor.yaml#
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
2025-07-07 12:20 ` Geert Uytterhoeven
@ 2025-07-08 20:26 ` Wolfram Sang
2025-07-10 18:08 ` Magnus Damm
0 siblings, 1 reply; 15+ messages in thread
From: Wolfram Sang @ 2025-07-08 20:26 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Magnus Damm, linux-renesas-soc
[-- Attachment #1: Type: text/plain, Size: 220 bytes --]
> Removing this breaks the direct-mapped FLASH ROM, which may affect
> userspace, and prevents using XIP (but I understand no one cares about
> the latter anymore).
What is the gain of using rpc-if vs. memory-mapped?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
2025-07-08 20:26 ` Wolfram Sang
@ 2025-07-10 18:08 ` Magnus Damm
2025-07-30 13:17 ` Geert Uytterhoeven
0 siblings, 1 reply; 15+ messages in thread
From: Magnus Damm @ 2025-07-10 18:08 UTC (permalink / raw)
To: Wolfram Sang; +Cc: Geert Uytterhoeven, linux-renesas-soc
Hi Wolfram and Geert,
On Tue, Jul 8, 2025 at 10:27 PM Wolfram Sang
<wsa+renesas@sang-engineering.com> wrote:
>
>
> > Removing this breaks the direct-mapped FLASH ROM, which may affect
> > userspace, and prevents using XIP (but I understand no one cares about
> > the latter anymore).
>
> What is the gain of using rpc-if vs. memory-mapped?
Correct me if I'm wrong, but I believe the "SPI Multi I/O Bus
Controller" on RZ/A1 is an on-chip device used to interface to the
on-board SPI flash memories, like Spansion S25FK512S-16 on the Genmai
board. Depending on the board design and the SoC variant there could
be a single or two SPI memories in parallel and they may be used in
QSPI mode as well. There is also HyperFlash support in some newer
SoCs. This device may by the way often be used to boot the SoC using
some Mask ROM code.
The on-chip hardware device (driven by rpc-if under Linux) lets the
device driver programmer access the external memory either by setting
up SPI master transfers to read or write the memory, or setting up the
so-called memory mapped mode. In the memory mapped mode the SPI master
may be programmed with information such as which flash command
sequence that should be performed for read accesses. The memory mapped
mode also has a single physical memory window that automatically
translates read accesses by the CPU to statically initialized SPI
master read requests.
What Geert refers to as direct-mapped FLASH ROM is probably Linux
performing read-only access to the memory window that is part of the
"SPI Multi I/O Bus Controller". The configuration has either been set
up by the Mask ROM (which happens in case the device boots from the
serial flash) or perhaps the boot loader.
While the memory mapped read-only mode is kind of cool, for my use
case the rpc-if driver (either in the kernel or in U-Boot) is used to
access the flash in various ways. Using MTD under Linux seems like a
pretty good standard way of for instance programming the flash memory.
Also the memory-mapped region is fed into the rpc-if device driver as
part of the device resources but I don't know exactly how it is being
utilized. And exactly how the "mtd-rom" device node works with XIP is
beyond me, but I would be happy to learn if someone could explain.
Cheers
Magnus
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash
2025-07-10 18:08 ` Magnus Damm
@ 2025-07-30 13:17 ` Geert Uytterhoeven
0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2025-07-30 13:17 UTC (permalink / raw)
To: Magnus Damm; +Cc: Wolfram Sang, linux-renesas-soc
Hi Magnus,
On Thu, 10 Jul 2025 at 20:09, Magnus Damm <magnus.damm@gmail.com> wrote:
> On Tue, Jul 8, 2025 at 10:27 PM Wolfram Sang
> <wsa+renesas@sang-engineering.com> wrote:
> > > Removing this breaks the direct-mapped FLASH ROM, which may affect
> > > userspace, and prevents using XIP (but I understand no one cares about
> > > the latter anymore).
> >
> > What is the gain of using rpc-if vs. memory-mapped?
>
> Correct me if I'm wrong, but I believe the "SPI Multi I/O Bus
> Controller" on RZ/A1 is an on-chip device used to interface to the
> on-board SPI flash memories, like Spansion S25FK512S-16 on the Genmai
> board. Depending on the board design and the SoC variant there could
> be a single or two SPI memories in parallel and they may be used in
> QSPI mode as well. There is also HyperFlash support in some newer
> SoCs. This device may by the way often be used to boot the SoC using
> some Mask ROM code.
Indeed.
> The on-chip hardware device (driven by rpc-if under Linux) lets the
> device driver programmer access the external memory either by setting
> up SPI master transfers to read or write the memory, or setting up the
> so-called memory mapped mode. In the memory mapped mode the SPI master
> may be programmed with information such as which flash command
> sequence that should be performed for read accesses. The memory mapped
> mode also has a single physical memory window that automatically
> translates read accesses by the CPU to statically initialized SPI
> master read requests.
True.
> What Geert refers to as direct-mapped FLASH ROM is probably Linux
> performing read-only access to the memory window that is part of the
> "SPI Multi I/O Bus Controller". The configuration has either been set
> up by the Mask ROM (which happens in case the device boots from the
> serial flash) or perhaps the boot loader.
Also correct.
> While the memory mapped read-only mode is kind of cool, for my use
> case the rpc-if driver (either in the kernel or in U-Boot) is used to
> access the flash in various ways. Using MTD under Linux seems like a
> pretty good standard way of for instance programming the flash memory.
MTD is indeed the standard way to access FLASH via a file system...
But to run kernel code from FLASH, it must be direct-mapped.
With traditional NOR FLASH, this is easy.
With FLASH behind an SPI bus, you need hardware support that translates
address bus reads to SPI read commands, which is what the RPC-IF can
do transparently, once configured.
> Also the memory-mapped region is fed into the rpc-if device driver as
> part of the device resources but I don't know exactly how it is being
You mean the "dirmap" register block? That is indeed used for reading
from FLASH by the Linux rpc-if driver. Note that it is limited in
size, so on large FLASHes it serves as a small window to the full FLASH
memory, and must be moved explicitly when needed.
Obviously the window must be fixed for XIP mode.
> utilized. And exactly how the "mtd-rom" device node works with XIP is
> beyond me, but I would be happy to learn if someone could explain.
"mtd-rom" is just simple glue for a direct-mapped memory device.
If you want to combine XIP mode and MTD writing, the driver needs
to be aware of that.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support
2025-07-05 19:09 ` [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support Magnus Damm
@ 2025-08-18 11:57 ` Geert Uytterhoeven
0 siblings, 0 replies; 15+ messages in thread
From: Geert Uytterhoeven @ 2025-08-18 11:57 UTC (permalink / raw)
To: Magnus Damm; +Cc: linux-renesas-soc, wsa+renesas, geert+renesas
Hi Magnus,
Thanks for your patch!
On Sat, 5 Jul 2025 at 21:09, Magnus Damm <damm@opensource.se> wrote:
> From: Magnus Damm <damm@opensource.se>
>
> Add initial support for the GR-Mango board which is based on RZ/A2M by Renesas
Is this the same as the GR-Mango2 board, which is the board
I found schematics for?
https://www.renesas.com/en/design-resources/boards-kits/gr-mango
> Electronics. Included in this patch are DTS nodes for serial console as well
> as MII Ethernet.
>
> Signed-off-by: Magnus Damm <damm@opensource.se>
> --- /dev/null
> +++ work/arch/arm/boot/dts/renesas/r7s9210-gr-mango.dts 2025-07-05 21:56:25.214033636 +0900
> @@ -0,0 +1,87 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Device Tree Source for the GRMANGO board
GR-MANGO...
> + *
> + * Based on RZA2MEVB, Copyright (C) 2018 Renesas Electronics
> + */
> +
> +/dts-v1/;
> +#include "r7s9210.dtsi"
> +#include <dt-bindings/pinctrl/r7s9210-pinctrl.h>
> +
> +/ {
> + model = "GRMANGO";
GR-MANGO...
> + compatible = "renesas,grmango", "renesas,r7s9210";
According to the GR-MANGO2 schematics, this is not a Renesas board, but
a Core Corporation board? So this needs a different vendor prefix, also
to be added to Documentation/devicetree/bindings/vendor-prefixes.yaml.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-08-18 11:57 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-05 19:08 [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add board support Magnus Damm
2025-07-05 19:08 ` [PATCH 1/6] dt-bindings: memory-controllers: renesas,rpc-if: Add RZ compat str Magnus Damm
2025-07-06 7:25 ` Krzysztof Kozlowski
2025-07-05 19:08 ` [PATCH 2/6] ARM: dts: renesas: r7s72100: add rpc-if nodes Magnus Damm
2025-07-05 19:09 ` [PATCH 3/6] ARM: dts: renesas: r7s9210: add rpc-if node Magnus Damm
2025-07-05 19:09 ` [PATCH 4/6] ARM: dts: renesas: genmai: add rpc-if SPI NOR flash Magnus Damm
2025-07-07 12:20 ` Geert Uytterhoeven
2025-07-08 20:26 ` Wolfram Sang
2025-07-10 18:08 ` Magnus Damm
2025-07-30 13:17 ` Geert Uytterhoeven
2025-07-05 19:09 ` [PATCH 5/6] ARM: dts: renesas: gr-mango: initial board support Magnus Damm
2025-08-18 11:57 ` Geert Uytterhoeven
2025-07-05 19:09 ` [PATCH 6/6] ARM: dts: renesas: rza2mbtc: " Magnus Damm
2025-07-06 7:26 ` Krzysztof Kozlowski
2025-07-07 17:55 ` [PATCH 0/6] Add rpc-if to RZ/A1, RZ/A2 and update/add " Rob Herring (Arm)
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).