From 43bde969ed1ac911ef8d04b3da4cf302d853aae7 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Thu, 9 Jun 2022 21:51:31 +0530 Subject: [PATCH 1/5] ARM: dts: msm: Add download-mode node to SDMSHRIKE Add download-mode node for dump support on SDMSHRIKE. Add TCSR_BOOT_MISC register address in scm node, it is used by SMC call enabling download mode. Change-Id: Ibb561ec69361716ebdb91acc7beee3445035b28f --- qcom/sdmshrike.dtsi | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index 0e64125e..702ba7c9 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -617,6 +617,28 @@ qcom,rtb-size = <0x100000>; }; + qcom,msm-imem@146bf000 { + compatible = "qcom,msm-imem"; + reg = <0x146bf000 0x1000>; + ranges = <0x0 0x146bf000 0x1000>; + #address-cells = <1>; + #size-cells = <1>; + + dload_type@1c { + compatible = "qcom,msm-imem-dload-type"; + reg = <0x1c 0x4>; + }; + }; + + dload_mode { + compatible = "qcom,dload-mode"; + }; + + tcsr: syscon@1fc0000 { + compatible = "syscon"; + reg = <0x1fc0000 0x30000>; + }; + qcom,mpm2-sleep-counter@c221000 { compatible = "qcom,mpm2-sleep-counter"; reg = <0xc221000 0x1000>; @@ -1352,6 +1374,7 @@ &firmware { qcom_scm { compatible = "qcom,scm"; + qcom,dload-mode = <&tcsr 0x13000>; }; }; From be1cc186bbd480353139d83f78785c7f89175095 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Fri, 24 Jun 2022 11:20:40 +0530 Subject: [PATCH 2/5] ARM: dts: msm: Add cpu vendor_hooks support for SDMSHRIKE Enable cpu vendor hooks driver for SDMSHRIKE, add kalsr offset node as well so that driver writes kaslr offset to the spcified imem offset during its probe. Change-Id: I38ca5af0ee4c7054e2d583f0867affd4281d6208 --- qcom/sdmshrike.dtsi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index 702ba7c9..c04344eb 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -628,6 +628,11 @@ compatible = "qcom,msm-imem-dload-type"; reg = <0x1c 0x4>; }; + + kaslr_offset@6d0 { + compatible = "qcom,msm-imem-kaslr_offset"; + reg = <0x6d0 0xc>; + }; }; dload_mode { @@ -645,6 +650,10 @@ clock-frequency = <32768>; }; + vendor_hooks: qcom,cpu-vendor-hooks { + compatible = "qcom,cpu-vendor-hooks"; + }; + apps_rsc: rsc@18200000 { label = "apps_rsc"; compatible = "qcom,rpmh-rsc"; From 9c571fb7d9295b1fce0c5278e543a179288bb366 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Fri, 24 Jun 2022 11:23:06 +0530 Subject: [PATCH 3/5] ARM: dts: msm: Add memory dump table entry for SDMSHRIKE Add IMEM entry for emmory dump table to list the various regions to be captured during a ramdump. Change-Id: I6329546be086e6cb2f6a70be50ee4bb97b2523f2 --- qcom/sdmshrike.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index c04344eb..44b367e7 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -624,6 +624,11 @@ #address-cells = <1>; #size-cells = <1>; + mem_dump_table@10 { + compatible = "qcom,msm-imem-mem_dump_table"; + reg = <0x10 0x8>; + }; + dload_type@1c { compatible = "qcom,msm-imem-dload-type"; reg = <0x1c 0x4>; From bdf43e65057d60ea42b4b8a74f641d114fa8a448 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Fri, 24 Jun 2022 11:25:32 +0530 Subject: [PATCH 4/5] ARM: dts: msm: Add memory dump nodes for SDMSHRIKE Add memory dump nodes to capture the necessary information upon system crash. Change-Id: I23a095c0500f44d79135e5875366395681da71e6 --- qcom/sdmshrike-debug.dtsi | 290 ++++++++++++++++++++++++++++++++++++++ qcom/sdmshrike.dtsi | 1 + 2 files changed, 291 insertions(+) create mode 100644 qcom/sdmshrike-debug.dtsi diff --git a/qcom/sdmshrike-debug.dtsi b/qcom/sdmshrike-debug.dtsi new file mode 100644 index 00000000..254d4f90 --- /dev/null +++ b/qcom/sdmshrike-debug.dtsi @@ -0,0 +1,290 @@ + +&reserved_memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + dump_mem: mem_dump_region { + compatible = "shared-dma-pool"; + alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>; + reusable; + size = <0 0x2400000>; + }; +}; + +&soc { + mem_dump { + compatible = "qcom,mem-dump"; + memory-region = <&dump_mem>; + + c0_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x0>; + }; + + c100_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x1>; + }; + + c200_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x2>; + }; + + c300_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x3>; + }; + + c400_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x4>; + }; + + c500_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x5>; + }; + + c600_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x6>; + }; + + c700_context { + qcom,dump-size = <0x800>; + qcom,dump-id = <0x7>; + }; + + rpmh { + qcom,dump-size = <0x2000000>; + qcom,dump-id = <0xec>; + }; + + rpm_sw { + qcom,dump-size = <0x28000>; + qcom,dump-id = <0xea>; + }; + + pmic { + qcom,dump-size = <0x80000>; + qcom,dump-id = <0xe4>; + }; + + fcm { + qcom,dump-size = <0x8400>; + qcom,dump-id = <0xee>; + }; + + tmc_etf { + qcom,dump-size = <0x10000>; + qcom,dump-id = <0xf0>; + }; + + etf_swao { + qcom,dump-size = <0x8400>; + qcom,dump-id = <0xf1>; + }; + + etr_reg { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x100>; + }; + + etf_reg { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x101>; + }; + + etfswao_reg { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0x102>; + }; + + misc_data { + qcom,dump-size = <0x1000>; + qcom,dump-id = <0xe8>; + }; + + l1_icache0 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x60>; + }; + + l1_icache100 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x61>; + }; + + l1_icache200 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x62>; + }; + + l1_icache300 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x63>; + }; + + l1_icache400 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x64>; + }; + + l1_icache500 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x65>; + }; + + l1_icache600 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x66>; + }; + + l1_icache700 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x67>; + }; + + l1_dcache0 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x80>; + }; + + l1_dcache100 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x81>; + }; + + l1_dcache200 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x82>; + }; + + l1_dcache300 { + qcom,dump-size = <0xa000>; + qcom,dump-id = <0x83>; + }; + + l1_dcache400 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x84>; + }; + + l1_dcache500 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x85>; + }; + + l1_dcache600 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x86>; + }; + + l1_dcache700 { + qcom,dump-size = <0x14000>; + qcom,dump-id = <0x87>; + }; + + l1_itlb400 { + qcom,dump-size = <0x400>; + qcom,dump-id = <0x24>; + }; + + l1_itlb500 { + qcom,dump-size = <0x400>; + qcom,dump-id = <0x25>; + }; + + l1_itlb600 { + qcom,dump-size = <0x400>; + qcom,dump-id = <0x26>; + }; + + l1_itlb700 { + qcom,dump-size = <0x400>; + qcom,dump-id = <0x27>; + }; + + l1_dtlb400 { + qcom,dump-size = <0x580>; + qcom,dump-id = <0x44>; + }; + + l1_dtlb500 { + qcom,dump-size = <0x580>; + qcom,dump-id = <0x45>; + }; + + l1_dtlb600 { + qcom,dump-size = <0x580>; + qcom,dump-id = <0x46>; + }; + + l1_dtlb700 { + qcom,dump-size = <0x580>; + qcom,dump-id = <0x47>; + }; + + l2_cache400 { + qcom,dump-size = <0x48100>; + qcom,dump-id = <0xc4>; + }; + + l2_cache500 { + qcom,dump-size = <0x48100>; + qcom,dump-id = <0xc5>; + }; + + l2_cache600 { + qcom,dump-size = <0x48100>; + qcom,dump-id = <0xc6>; + }; + + l2_cache700 { + qcom,dump-size = <0x90100>; + qcom,dump-id = <0xc7>; + }; + + l2_tlb0 { + qcom,dump-size = <0x5B00>; + qcom,dump-id = <0x120>; + }; + + l2_tlb100 { + qcom,dump-size = <0x5B00>; + qcom,dump-id = <0x121>; + }; + + l2_tlb200 { + qcom,dump-size = <0x5B00>; + qcom,dump-id = <0x122>; + }; + + l2_tlb300 { + qcom,dump-size = <0x5B00>; + qcom,dump-id = <0x123>; + }; + + l2_tlb400 { + qcom,dump-size = <0x7900>; + qcom,dump-id = <0x124>; + }; + + l2_tlb500 { + qcom,dump-size = <0x7900>; + qcom,dump-id = <0x125>; + }; + + l2_tlb600 { + qcom,dump-size = <0x7900>; + qcom,dump-id = <0x126>; + }; + + l2_tlb700 { + qcom,dump-size = <0x7900>; + qcom,dump-id = <0x127>; + }; + }; +}; diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index 44b367e7..d99b7da7 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -1397,6 +1397,7 @@ #include "sm8150-slpi-pinctrl.dtsi" #include "sa8195-gdsc.dtsi" #include "msm-arm-smmu-sdmshrike.dtsi" +#include "sdmshrike-debug.dtsi" &emac_gdsc { status = "ok"; From 82c4c714c155cd8375e8d378bbd57d7a1074a410 Mon Sep 17 00:00:00 2001 From: Shreyas K K Date: Fri, 24 Jun 2022 11:26:41 +0530 Subject: [PATCH 5/5] ARM: dts: msm: Add minidump device node for SDMSHRIKE Add minidump device node to enable support for minidump feature of SDMSHRIKE target. Change-Id: I7f7bede006ed15283ea40ccb8b1b80c9d3d3456f --- qcom/sdmshrike.dtsi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/qcom/sdmshrike.dtsi b/qcom/sdmshrike.dtsi index d99b7da7..697b7b95 100644 --- a/qcom/sdmshrike.dtsi +++ b/qcom/sdmshrike.dtsi @@ -659,6 +659,11 @@ compatible = "qcom,cpu-vendor-hooks"; }; + mini_dump_mode { + compatible = "qcom,minidump"; + status = "ok"; + }; + apps_rsc: rsc@18200000 { label = "apps_rsc"; compatible = "qcom,rpmh-rsc";