From 0d6243283415683dc792ea34fcba885454908836 Mon Sep 17 00:00:00 2001
From: Sven Eckelmann <sven.eckelmann@openmesh.com>
Date: Tue, 17 Apr 2018 14:31:53 +0200
Subject: ipq40xx: Remove unused reserved-memory nodes

The reserved-memory regions are mostly undocumented by QCA and are named
very unspecific in the QSDK device trees. It was tried to clean them up by
commit 71ed9f10a33e ("ipq40xx: Use detailed reserved memory for A42") and
similar changes.

The features which require these regions were mostly unknown but
Senthilkumar N L <snlakshm@qti.qualcomm.com> and Sricharan Ramabadhran
<srichara@qti.qualcomm.com> provided some more insight in some of them:

* crash dump feature
  - a couple of regions used when 'qca,scm_restart_reason' dt node has the
    value 'dload_status' not set to 1
    + apps_bl <0x87000000 0x400000>
    + sbl <0x87400000 0x100000>
    + cnss_debug <0x87400000 0x100000>
    + cpu_context_dump <0x87b00000 0x080000>
  - required driver not available in Linux
  - safe to remove
* QSEE app execution
  - region tz_apps <0x87b80000 0x280000>
  - required driver not available in Linux
  - safe to remove
* communication with TZ/QSEE
  - region smem <0x87b80000 0x280000>
  - driver changes not yet upstreamed
  - must not be removed because any access can crash kernel/program
* trustzone (QSEE) private memory
  - region tz <0x87e80000 0x180000>
  - must not be removed because any access can crash kernel/program

Removing the unnecessary regions saves some kilobyte of reserved-memory and
cleans up the device tree:

* 2560 KiB
  - 8devices Jalapeno
  - AVM FRITZ!Box 4040
  - Compex WPJ428
  - Meraki MR33 Access Point
  - OpenMesh A42
* 14336 KiB
  - GL.iNet GL-B1300
  - Qualcomm Technologies, Inc. IPQ40xx/AP-DK01.1-C1

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
---
 .../arch/arm/boot/dts/qcom-ipq4018-a42.dts         |  5 ----
 .../arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts   |  5 ----
 .../arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts    |  5 ----
 .../arch/arm/boot/dts/qcom-ipq4028-wpj428.dts      |  5 ----
 .../arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts    | 25 --------------------
 .../arch/arm/boot/dts/qcom-ipq4029-mr33.dts        |  5 ----
 ...pq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch | 27 +---------------------
 7 files changed, 1 insertion(+), 76 deletions(-)

(limited to 'target/linux')

diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
index d365a7e530..3838f884a8 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
@@ -30,11 +30,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			no-map;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts
index 4b5cbcac33..865e1fb1ce 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts
@@ -36,11 +36,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			reusable;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts
index 7e2bdcc7cd..f9ea31acb4 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts
@@ -30,11 +30,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			no-map;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
index 88ea370858..e970e769a6 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
@@ -31,11 +31,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			no-map;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
index c4b002bdd6..a34d2cd1c9 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
@@ -40,31 +40,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		apps_bl@87000000 {
-			reg = <0x87000000 0x400000>;
-			no-map;
-		};
-
-		sbl@87400000 {
-			reg = <0x87400000 0x100000>;
-			no-map;
-		};
-
-		cnss_debug@87500000 {
-			reg = <0x87500000 0x600000>;
-			no-map;
-		};
-
-		cpu_context_dump@87b00000 {
-			reg = <0x87b00000 0x080000>;
-			no-map;
-		};
-
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			no-map;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts
index a709ae96bd..c52bcf1b02 100644
--- a/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts
+++ b/target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts
@@ -39,11 +39,6 @@
 		#size-cells = <0x1>;
 		ranges;
 
-		tz_apps@87b80000 {
-			reg = <0x87b80000 0x280000>;
-			reusable;
-		};
-
 		smem@87e00000 {
 			reg = <0x87e00000 0x080000>;
 			no-map;
diff --git a/target/linux/ipq40xx/patches-4.14/864-07-dts-ipq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch b/target/linux/ipq40xx/patches-4.14/864-07-dts-ipq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch
index e9d262069f..3043d63f3e 100644
--- a/target/linux/ipq40xx/patches-4.14/864-07-dts-ipq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch
+++ b/target/linux/ipq40xx/patches-4.14/864-07-dts-ipq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch
@@ -1,6 +1,6 @@
 --- a/arch/arm/boot/dts/qcom-ipq4019-ap.dk01.1-c1.dts
 +++ b/arch/arm/boot/dts/qcom-ipq4019-ap.dk01.1-c1.dts
-@@ -19,4 +19,112 @@
+@@ -19,4 +19,87 @@
  / {
  	model = "Qualcomm Technologies, Inc. IPQ40xx/AP-DK01.1-C1";
  
@@ -14,31 +14,6 @@
 +		#size-cells = <0x1>;
 +		ranges;
 +
-+		apps_bl@87000000 {
-+			reg = <0x87000000 0x400000>;
-+			no-map;
-+		};
-+
-+		sbl@87400000 {
-+			reg = <0x87400000 0x100000>;
-+			no-map;
-+		};
-+
-+		cnss_debug@87500000 {
-+			reg = <0x87500000 0x600000>;
-+			no-map;
-+		};
-+
-+		cpu_context_dump@87b00000 {
-+			reg = <0x87b00000 0x080000>;
-+			no-map;
-+		};
-+
-+		tz_apps@87b80000 {
-+			reg = <0x87b80000 0x280000>;
-+			no-map;
-+		};
-+
 +		smem@87e00000 {
 +			reg = <0x87e00000 0x080000>;
 +			no-map;
-- 
cgit v1.2.3