From 2cf78f951bc9bc2b549f311327e61b86bd86d175 Mon Sep 17 00:00:00 2001
From: Michal Simek <michal.simek@amd.com>
Date: Thu, 3 Aug 2023 14:51:53 +0200
Subject: [PATCH] xilinx: Remove scriptaddr from config files and move it to DT

Define bootscript address in RAM via DT property and remove it from config
file. Adding default value to common DTSI. Platform DT description can
remove this property or rewrite it.

In Zynq case scriptaddr property was defined twice for no reason.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/d36ffeb00ed8f0ca4bb67d4983d1852d01ade637.1691067102.git.michal.simek@amd.com
---
 arch/arm/dts/xilinx-versal-net-virt.dts | 6 ++++++
 arch/arm/dts/xilinx-versal-virt.dts     | 6 ++++++
 arch/arm/dts/zynq-7000.dtsi             | 7 +++++++
 arch/arm/dts/zynqmp.dtsi                | 7 +++++++
 include/configs/xilinx_versal.h         | 1 -
 include/configs/xilinx_versal_net.h     | 1 -
 include/configs/xilinx_zynqmp.h         | 1 -
 include/configs/zynq-common.h           | 2 --
 8 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/arch/arm/dts/xilinx-versal-net-virt.dts b/arch/arm/dts/xilinx-versal-net-virt.dts
index c99257cb08..f5eca843b6 100644
--- a/arch/arm/dts/xilinx-versal-net-virt.dts
+++ b/arch/arm/dts/xilinx-versal-net-virt.dts
@@ -8,4 +8,10 @@
 /dts-v1/;
 
 / {
+	options {
+		u-boot {
+			compatible = "u-boot,config";
+			bootscr-address = /bits/ 64 <0x20000000>;
+		};
+	};
 };
diff --git a/arch/arm/dts/xilinx-versal-virt.dts b/arch/arm/dts/xilinx-versal-virt.dts
index 733e532f98..3ea3cb1bdd 100644
--- a/arch/arm/dts/xilinx-versal-virt.dts
+++ b/arch/arm/dts/xilinx-versal-virt.dts
@@ -8,4 +8,10 @@
 /dts-v1/;
 
 / {
+	options {
+		u-boot {
+			compatible = "u-boot,config";
+			bootscr-address = /bits/ 64 <0x20000000>;
+		};
+	};
 };
diff --git a/arch/arm/dts/zynq-7000.dtsi b/arch/arm/dts/zynq-7000.dtsi
index 8c6eafec1d..fb61fe98e3 100644
--- a/arch/arm/dts/zynq-7000.dtsi
+++ b/arch/arm/dts/zynq-7000.dtsi
@@ -11,6 +11,13 @@
 	#size-cells = <1>;
 	compatible = "xlnx,zynq-7000";
 
+	options {
+		u-boot {
+			compatible = "u-boot,config";
+			bootscr-address = /bits/ 64 <0x3000000>;
+		};
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/arch/arm/dts/zynqmp.dtsi b/arch/arm/dts/zynqmp.dtsi
index 1632be843b..355f360281 100644
--- a/arch/arm/dts/zynqmp.dtsi
+++ b/arch/arm/dts/zynqmp.dtsi
@@ -22,6 +22,13 @@
 	#address-cells = <2>;
 	#size-cells = <2>;
 
+	options {
+		u-boot {
+			compatible = "u-boot,config";
+			bootscr-address = /bits/ 64 <0x20000000>;
+		};
+	};
+
 	cpus {
 		#address-cells = <1>;
 		#size-cells = <0>;
diff --git a/include/configs/xilinx_versal.h b/include/configs/xilinx_versal.h
index a403999977..98792aba7c 100644
--- a/include/configs/xilinx_versal.h
+++ b/include/configs/xilinx_versal.h
@@ -40,7 +40,6 @@
 	"kernel_size_r=0x10000000\0" \
 	"kernel_comp_addr_r=0x30000000\0" \
 	"kernel_comp_size=0x3C00000\0" \
-	"scriptaddr=0x20000000\0" \
 	"ramdisk_addr_r=0x02100000\0" \
 	"script_size_f=0x80000\0"
 
diff --git a/include/configs/xilinx_versal_net.h b/include/configs/xilinx_versal_net.h
index 613cce46f9..e17b440935 100644
--- a/include/configs/xilinx_versal_net.h
+++ b/include/configs/xilinx_versal_net.h
@@ -54,7 +54,6 @@
 	"kernel_size_r=0x10000000\0" \
 	"kernel_comp_addr_r=0x30000000\0" \
 	"kernel_comp_size=0x3C00000\0" \
-	"scriptaddr=0x20000000\0" \
 	"ramdisk_addr_r=0x02100000\0" \
 	"script_size_f=0x80000\0"
 
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index 74264b7bee..51f0a42534 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -57,7 +57,6 @@
 	"kernel_size_r=0x10000000\0" \
 	"kernel_comp_addr_r=0x30000000\0" \
 	"kernel_comp_size=0x3C00000\0" \
-	"scriptaddr=0x20000000\0" \
 	"ramdisk_addr_r=0x02100000\0" \
 	"script_size_f=0x80000\0" \
 	"stdin=serial\0" \
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index e372e90317..553bb1b45b 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -172,12 +172,10 @@
 /* Default environment */
 #ifndef CFG_EXTRA_ENV_SETTINGS
 #define CFG_EXTRA_ENV_SETTINGS	\
-	"scriptaddr=0x20000\0"	\
 	"script_size_f=0x40000\0"	\
 	"fdt_addr_r=0x1f00000\0"        \
 	"pxefile_addr_r=0x2000000\0"    \
 	"kernel_addr_r=0x2000000\0"     \
-	"scriptaddr=0x3000000\0"        \
 	"ramdisk_addr_r=0x3100000\0"    \
 	BOOTENV
 #endif
-- 
2.39.5