From a3ae7bffd081486417c997cd1098057037023480 Mon Sep 17 00:00:00 2001
From: Kaushal Kumar <kaushalk@codeaurora.org>
Date: Tue, 24 Oct 2017 17:15:24 +0530
Subject: [PATCH] linux-ramdump-parser-v2: Add support for QCS605

Add support for detecting QCS605 target and parsing the ramdumps.

Change-Id: I36197059621926f18a2649ea13e2537f5fe2081a
---
 linux-ramdump-parser-v2/boards.py       | 16 ++++++++++++++++
 linux-ramdump-parser-v2/cachedumplib.py | 22 +++++++++++++++++++++-
 linux-ramdump-parser-v2/tlbdumplib.py   | 10 ++++++++++
 3 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/linux-ramdump-parser-v2/boards.py b/linux-ramdump-parser-v2/boards.py
index a5b4467..82e6999 100644
--- a/linux-ramdump-parser-v2/boards.py
+++ b/linux-ramdump-parser-v2/boards.py
@@ -455,6 +455,20 @@ class BoardSDM670(Board):
         self.wdog_addr = 0x146BF658
         self.imem_file_name = 'OCIMEM.BIN'
 
+class BoardQCS605(Board):
+    def __init__(self, socid):
+        super(BoardQCS605, self).__init__()
+        self.socid = socid
+        self.board_num = "qcs605"
+        self.cpu = 'CORTEXA53'
+        self.ram_start = 0x80000000
+        self.smem_addr = 0x6000000
+        self.phys_offset = 0x80000000
+        self.imem_start = 0x14680000
+        self.kaslr_addr = 0x146bf6d0
+        self.wdog_addr = 0x146BF658
+        self.imem_file_name = 'OCIMEM.BIN'
+
 class Board8998(Board):
     def __init__(self, socid):
         super(Board8998, self).__init__()
@@ -727,6 +741,8 @@ boards.append(BoardSDX20(socid=333))
 boards.append(BoardSDM670(socid=336))
 boards.append(BoardSDM670(socid=337))
 
+boards.append(BoardQCS605(socid=347))
+
 def get_supported_boards():
     """ Called by other part of the code to get a list of boards """
     return boards
diff --git a/linux-ramdump-parser-v2/cachedumplib.py b/linux-ramdump-parser-v2/cachedumplib.py
index 9990c18..0919553 100644
--- a/linux-ramdump-parser-v2/cachedumplib.py
+++ b/linux-ramdump-parser-v2/cachedumplib.py
@@ -664,7 +664,6 @@ lookuptable[("sdm670", 0x85, 0x14)] = L1_DCache_KRYO3XX_SILVER()
 lookuptable[("sdm670", 0x86, 0x14)] = L1_DCache_KRYO3XX_GOLD()
 lookuptable[("sdm670", 0x87, 0x14)] = L1_DCache_KRYO3XX_GOLD()
 
-
 lookuptable[("sdm670", 0x60, 0x14)] = L1_ICache_KRYO3XX_SILVER()
 lookuptable[("sdm670", 0x61, 0x14)] = L1_ICache_KRYO3XX_SILVER()
 lookuptable[("sdm670", 0x62, 0x14)] = L1_ICache_KRYO3XX_SILVER()
@@ -677,6 +676,27 @@ lookuptable[("sdm670", 0x67, 0x14)] = L1_ICache_KRYO3XX_GOLD()
 lookuptable[("sdm670", 0x140, 0x14)] = LLC_SYSTEM_CACHE_KRYO3XX()
 lookuptable[("sdm670", 0x141, 0x14)] = LLC_SYSTEM_CACHE_KRYO3XX()
 
+# "qcs605"
+lookuptable[("qcs605", 0x80, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x81, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x82, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x83, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x84, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x85, 0x14)] = L1_DCache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x86, 0x14)] = L1_DCache_KRYO3XX_GOLD()
+lookuptable[("qcs605", 0x87, 0x14)] = L1_DCache_KRYO3XX_GOLD()
+
+lookuptable[("qcs605", 0x60, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x61, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x62, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x63, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x64, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x65, 0x14)] = L1_ICache_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x66, 0x14)] = L1_ICache_KRYO3XX_GOLD()
+lookuptable[("qcs605", 0x67, 0x14)] = L1_ICache_KRYO3XX_GOLD()
+
+lookuptable[("qcs605", 0x140, 0x14)] = LLC_SYSTEM_CACHE_KRYO3XX()
+lookuptable[("qcs605", 0x141, 0x14)] = LLC_SYSTEM_CACHE_KRYO3XX()
 
 # "sdm660"
 lookuptable[("660", 0x80, 0x14)] = L1_DCache_KRYO2XX_SILVER()
diff --git a/linux-ramdump-parser-v2/tlbdumplib.py b/linux-ramdump-parser-v2/tlbdumplib.py
index 935a0dc..2a4d8c6 100644
--- a/linux-ramdump-parser-v2/tlbdumplib.py
+++ b/linux-ramdump-parser-v2/tlbdumplib.py
@@ -386,6 +386,16 @@ lookuptable[("sdm670", 0x25, 0x14)] = L1_TLB_KRYO3XX_SILVER()
 lookuptable[("sdm670", 0x26, 0x14)] = L1_TLB_KRYO3XX_GOLD()
 lookuptable[("sdm670", 0x27, 0x14)] = L1_TLB_KRYO3XX_GOLD()
 
+# "qcs605"
+lookuptable[("qcs605", 0x20, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x21, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x22, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x23, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x24, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x25, 0x14)] = L1_TLB_KRYO3XX_SILVER()
+lookuptable[("qcs605", 0x26, 0x14)] = L1_TLB_KRYO3XX_GOLD()
+lookuptable[("qcs605", 0x27, 0x14)] = L1_TLB_KRYO3XX_GOLD()
+
 # "msm8998"
 lookuptable[("8998", 0x20, 0x14)] = L1_TLB_A53()
 lookuptable[("8998", 0x21, 0x14)] = L1_TLB_A53()
-- 
GitLab