dts: arm: renesas: Add support Flash LP for Renesas RA4, RA2
Add dts node to support Flash LP for:
- RA4: RA4M1, RA4W1
- RA2: RA2A1, RA2L1
Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
diff --git a/dts/arm/renesas/ra/ra2/r7fa2a1ab3cfm.dtsi b/dts/arm/renesas/ra/ra2/r7fa2a1ab3cfm.dtsi
index 1e9500e..fc69b22 100644
--- a/dts/arm/renesas/ra/ra2/r7fa2a1ab3cfm.dtsi
+++ b/dts/arm/renesas/ra/ra2/r7fa2a1ab3cfm.dtsi
@@ -9,14 +9,24 @@
/ {
soc {
flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
flash0: flash@0 {
- compatible = "soc-nv-flash";
- reg = <0x00000000 DT_SIZE_K(256)>;
+ compatible = "renesas,ra-nv-code-flash";
+ reg = <0x0 DT_SIZE_K(256)>;
+ write-block-size = <8>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 128 2048>;
+ programming-enable;
};
flash1: flash@40100000 {
- compatible = "soc-nv-flash";
+ compatible = "renesas,ra-nv-data-flash";
reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
};
};
};
diff --git a/dts/arm/renesas/ra/ra2/r7fa2l1x9.dtsi b/dts/arm/renesas/ra/ra2/r7fa2l1x9.dtsi
index e20c050..0cec7ae 100644
--- a/dts/arm/renesas/ra/ra2/r7fa2l1x9.dtsi
+++ b/dts/arm/renesas/ra/ra2/r7fa2l1x9.dtsi
@@ -7,6 +7,28 @@
*
*/
-&flash0 {
- reg = <0x0 DT_SIZE_K(128)>;
+/ {
+ soc {
+ flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
+ flash0: flash@0 {
+ compatible = "renesas,ra-nv-code-flash";
+ reg = <0x0 DT_SIZE_K(128)>;
+ write-block-size = <4>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 64 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
+ };
+ };
+ };
};
diff --git a/dts/arm/renesas/ra/ra2/r7fa2l1xb.dtsi b/dts/arm/renesas/ra/ra2/r7fa2l1xb.dtsi
index b148a43..85af7e6 100644
--- a/dts/arm/renesas/ra/ra2/r7fa2l1xb.dtsi
+++ b/dts/arm/renesas/ra/ra2/r7fa2l1xb.dtsi
@@ -1,11 +1,34 @@
/**
* Copyright (c) 2024 MUNIC SA
+ * Copyright (c) 2025 Renesas Electronics Corporation
*
* Renesas R7FA2AL1AB MCU device tree
*
* SPDX-License-Identifier: Apache-2.0
*/
-&flash0 {
- reg = <0x0 DT_SIZE_K(256)>;
+/ {
+ soc {
+ flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
+ flash0: flash@0 {
+ compatible = "renesas,ra-nv-code-flash";
+ reg = <0x0 DT_SIZE_K(256)>;
+ write-block-size = <4>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 128 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
+ };
+ };
+ };
};
diff --git a/dts/arm/renesas/ra/ra2/ra2l1.dtsi b/dts/arm/renesas/ra/ra2/ra2l1.dtsi
index e79437c..8f642fa 100644
--- a/dts/arm/renesas/ra/ra2/ra2l1.dtsi
+++ b/dts/arm/renesas/ra/ra2/ra2l1.dtsi
@@ -56,23 +56,13 @@
status = "disabled";
};
- flcn: flash-controller@407ec000 {
- reg = <0x407ec000 0x10000>;
-
+ flash: flash-controller@407e0000 {
+ compatible = "renesas,ra-flash-lp-controller";
+ reg = <0x407e0000 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
-
- flash0: code@0 {
- compatible = "soc-nv-flash";
- /* "reg" property should be defined in the
- * chip specific .dtsi file
- */
- };
-
- flash1: data@40100000 {
- compatible = "soc-nv-flash";
- reg = <0x40100000 DT_SIZE_K(8)>;
- };
+ interrupts = <30 1>;
+ interrupt-names = "frdyi";
};
crc: crc@40074000 {
diff --git a/dts/arm/renesas/ra/ra2/ra2xx.dtsi b/dts/arm/renesas/ra/ra2/ra2xx.dtsi
index 7c16b1f..ec6917e 100644
--- a/dts/arm/renesas/ra/ra2/ra2xx.dtsi
+++ b/dts/arm/renesas/ra/ra2/ra2xx.dtsi
@@ -294,10 +294,13 @@
status = "disabled";
};
- flash-controller@407e0000 {
+ flash: flash-controller@407e0000 {
+ compatible = "renesas,ra-flash-lp-controller";
reg = <0x407e0000 0x10000>;
#address-cells = <1>;
#size-cells = <1>;
+ interrupts = <30 1>;
+ interrupt-names = "frdyi";
};
agt0: agt@40084000 {
diff --git a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfm.dtsi b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfm.dtsi
index c00d5a9..b7b9fa8 100644
--- a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfm.dtsi
+++ b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfm.dtsi
@@ -15,9 +15,24 @@
/ {
soc {
flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
flash0: flash@0 {
- compatible = "soc-nv-flash";
+ compatible = "renesas,ra-nv-code-flash";
reg = <0x0 DT_SIZE_K(256)>;
+ write-block-size = <8>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 128 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
};
};
};
diff --git a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfp.dtsi b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfp.dtsi
index 9206239..fa2ff3c 100644
--- a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfp.dtsi
+++ b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cfp.dtsi
@@ -11,9 +11,24 @@
/ {
soc {
flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
flash0: flash@0 {
- compatible = "soc-nv-flash";
+ compatible = "renesas,ra-nv-code-flash";
reg = <0x0 DT_SIZE_K(256)>;
+ write-block-size = <8>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 128 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
};
};
};
diff --git a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cne.dtsi b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cne.dtsi
index 9f379f4..9d21629 100644
--- a/dts/arm/renesas/ra/ra4/r7fa4m1ab3cne.dtsi
+++ b/dts/arm/renesas/ra/ra4/r7fa4m1ab3cne.dtsi
@@ -15,9 +15,24 @@
/ {
soc {
flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
flash0: flash@0 {
- compatible = "soc-nv-flash";
+ compatible = "renesas,ra-nv-code-flash";
reg = <0x0 DT_SIZE_K(256)>;
+ write-block-size = <8>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 128 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
};
};
};
diff --git a/dts/arm/renesas/ra/ra4/r7fa4w1ad2cng.dtsi b/dts/arm/renesas/ra/ra4/r7fa4w1ad2cng.dtsi
index 2097cec..ab77c8e 100644
--- a/dts/arm/renesas/ra/ra4/r7fa4w1ad2cng.dtsi
+++ b/dts/arm/renesas/ra/ra4/r7fa4w1ad2cng.dtsi
@@ -17,9 +17,24 @@
};
flash-controller@407e0000 {
+ flash-hardware-version = <3>;
+ #erase-block-cells = <2>;
+
flash0: flash@0 {
- compatible = "soc-nv-flash";
+ compatible = "renesas,ra-nv-code-flash";
reg = <0x0 DT_SIZE_K(512)>;
+ write-block-size = <8>;
+ erase-block-size = <2048>;
+ erase-blocks = <&flash 256 2048>;
+ programming-enable;
+ };
+
+ flash1: flash@40100000 {
+ compatible = "renesas,ra-nv-data-flash";
+ reg = <0x40100000 DT_SIZE_K(8)>;
+ write-block-size = <1>;
+ erase-block-size = <1024>;
+ programming-enable;
};
};
diff --git a/dts/arm/renesas/ra/ra4/ra4-cm4-common.dtsi b/dts/arm/renesas/ra/ra4/ra4-cm4-common.dtsi
index 44cb32f..a59b558 100644
--- a/dts/arm/renesas/ra/ra4/ra4-cm4-common.dtsi
+++ b/dts/arm/renesas/ra/ra4/ra4-cm4-common.dtsi
@@ -44,10 +44,13 @@
status = "disabled";
};
- flash-controller@407e0000 {
+ flash: flash-controller@407e0000 {
+ compatible = "renesas,ra-flash-lp-controller";
reg = <0x407e0000 0x10000>;
#address-cells = <1>;
#size-cells = <1>;
+ interrupts = <23 1>;
+ interrupt-names = "frdyi";
};
ioport0: gpio@40040000 {