ipq40xx: Remove unused reserved-memory nodes
authorSven Eckelmann <sven.eckelmann@openmesh.com>
Tue, 17 Apr 2018 12:31:53 +0000 (14:31 +0200)
committerMathias Kresin <dev@kresin.me>
Fri, 20 Apr 2018 18:58:52 +0000 (20:58 +0200)
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>
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-a42.dts
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-fritz4040.dts
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4018-jalapeno.dts
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4028-wpj428.dts
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-gl-b1300.dts
target/linux/ipq40xx/files-4.14/arch/arm/boot/dts/qcom-ipq4029-mr33.dts
target/linux/ipq40xx/patches-4.14/864-07-dts-ipq4019-ap-dk01.1-c1-add-spi-and-ram-nodes.patch

index d365a7e..3838f88 100644 (file)
                #size-cells = <0x1>;
                ranges;
 
-               tz_apps@87b80000 {
-                       reg = <0x87b80000 0x280000>;
-                       no-map;
-               };
-
                smem@87e00000 {
                        reg = <0x87e00000 0x080000>;
                        no-map;
index 4b5cbca..865e1fb 100644 (file)
                #size-cells = <0x1>;
                ranges;
 
-               tz_apps@87b80000 {
-                       reg = <0x87b80000 0x280000>;
-                       reusable;
-               };
-
                smem@87e00000 {
                        reg = <0x87e00000 0x080000>;
                        no-map;
index 7e2bdcc..f9ea31a 100644 (file)
                #size-cells = <0x1>;
                ranges;
 
-               tz_apps@87b80000 {
-                       reg = <0x87b80000 0x280000>;
-                       no-map;
-               };
-
                smem@87e00000 {
                        reg = <0x87e00000 0x080000>;
                        no-map;
index 88ea370..e970e76 100644 (file)
                #size-cells = <0x1>;
                ranges;
 
-               tz_apps@87b80000 {
-                       reg = <0x87b80000 0x280000>;
-                       no-map;
-               };
-
                smem@87e00000 {
                        reg = <0x87e00000 0x080000>;
                        no-map;
index c4b002b..a34d2cd 100644 (file)
                #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;
index a709ae9..c52bcf1 100644 (file)
                #size-cells = <0x1>;
                ranges;
 
-               tz_apps@87b80000 {
-                       reg = <0x87b80000 0x280000>;
-                       reusable;
-               };
-
                smem@87e00000 {
                        reg = <0x87e00000 0x080000>;
                        no-map;
index e9d2620..3043d63 100644 (file)
@@ -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";
  
 +              #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;