diff --git a/linux-ramdump-parser-v2/boards.py b/linux-ramdump-parser-v2/boards.py
index 0bd03a564eae6a50891f32fa9dce04e00d1e2efb..50556da047e73137cd2d3789f0fd851f1f849e57 100644
--- a/linux-ramdump-parser-v2/boards.py
+++ b/linux-ramdump-parser-v2/boards.py
@@ -403,6 +403,20 @@ class Board439(Board):
         self.wdog_addr = 0x8600658
         self.imem_file_name = 'OCIMEM.BIN'
 
+class Board429(Board):
+    def __init__(self, socid):
+        super(Board429, self).__init__()
+        self.socid = socid
+        self.board_num = "sdm429"
+        self.cpu = 'CORTEXA53'
+        self.ram_start = 0x80000000
+        self.smem_addr = 0x6300000
+        self.phys_offset = 0x40000000
+        self.imem_start = 0x8600000
+        self.kaslr_addr = 0x86006d0
+        self.wdog_addr = 0x8600658
+        self.imem_file_name = 'OCIMEM.BIN'
+
 class Board8917(Board):
     def __init__(self, socid):
         super(Board8917, self).__init__()
@@ -812,7 +826,10 @@ boards.append(BoardPoorwills(socid=334))
 boards.append(BoardPoorwills(socid=335))
 
 boards.append(Board439(socid=353))
+boards.append(Board439(socid=363))
 
+boards.append(Board429(socid=354))
+boards.append(Board429(socid=364))
 
 def get_supported_boards():
     """ Called by other part of the code to get a list of boards """
diff --git a/linux-ramdump-parser-v2/cachedumplib.py b/linux-ramdump-parser-v2/cachedumplib.py
index 25f87a262c793f8a816c6c7cc4739134ff240a01..b47391dd38e3681399fbd69bdc49ad957c1ef8ba 100644
--- a/linux-ramdump-parser-v2/cachedumplib.py
+++ b/linux-ramdump-parser-v2/cachedumplib.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
+# Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License version 2 and
@@ -877,3 +877,31 @@ lookuptable[("sdm839", 0x64, 0x14)] = L1_ICache_A53()
 lookuptable[("sdm839", 0x65, 0x14)] = L1_ICache_A53()
 lookuptable[("sdm839", 0x66, 0x14)] = L1_ICache_A53()
 lookuptable[("sdm839", 0x67, 0x14)] = L1_ICache_A53()
+
+# sdm439
+lookuptable[("sdm439", 0x80, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x81, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x82, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x83, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x84, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x85, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x86, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x87, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm439", 0x60, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x61, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x62, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x63, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x64, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x65, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x66, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm439", 0x67, 0x14)] = L1_ICache_A53()
+
+# sdm429
+lookuptable[("sdm429", 0x84, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm429", 0x85, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm429", 0x86, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm429", 0x87, 0x14)] = L1_DCache_A53()
+lookuptable[("sdm429", 0x64, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm429", 0x65, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm429", 0x66, 0x14)] = L1_ICache_A53()
+lookuptable[("sdm429", 0x67, 0x14)] = L1_ICache_A53()