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 {