diff --git a/board/qca/arm/common/crashdump.c b/board/qca/arm/common/crashdump.c index 0707aabc38..027229e513 100644 --- a/board/qca/arm/common/crashdump.c +++ b/board/qca/arm/common/crashdump.c @@ -762,6 +762,14 @@ static int do_dumpqca_data(unsigned int dump_level) } for (indx = 0; indx < dump_entries; indx++) { + +#ifdef DUMP_TME_LOG + if(!strncmp(dumpinfo[indx].name, "IMEM2.BIN", 9) && + qca_scm_is_feature_available(TME_LOG_DUMP_FEATURE_ID) \ + != TME_LOG_DUMP_FEATURE_VERSION) + continue; +#endif + if (dump_level != dumpinfo[indx].dump_level) continue; diff --git a/board/qca/arm/ipq5332/ipq5332.c b/board/qca/arm/ipq5332/ipq5332.c index bc58487eee..380ea311e3 100644 --- a/board/qca/arm/ipq5332/ipq5332.c +++ b/board/qca/arm/ipq5332/ipq5332.c @@ -110,6 +110,7 @@ struct dumpinfo_t dumpinfo_n[] = { { "EBICS0.BIN", 0x40000000, CONFIG_QCA_UBOOT_OFFSET, 0, 0, 0, 0, 1 }, #endif { "IMEM.BIN", 0x08600000, 0x00001000, 0 }, + { "IMEM2.BIN", 0x860F000, 0x00001000, 0 }, { "UNAME.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP }, { "CPU_INFO.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP }, { "DMESG.BIN", 0, 0, 0, 0, 0, MINIMAL_DUMP }, diff --git a/board/qca/arm/ipq5332/ipq5332.h b/board/qca/arm/ipq5332/ipq5332.h index 1c05b9410a..393fefb0f0 100644 --- a/board/qca/arm/ipq5332/ipq5332.h +++ b/board/qca/arm/ipq5332/ipq5332.h @@ -43,6 +43,20 @@ extern const add_node_t add_fdt_node[]; #define DLOAD_DISABLED 0x40 #define DLOAD_BITS 0xFF +/* TME DUMP */ + +#ifndef DUMP_TME_LOG +#define DUMP_TME_LOG 1 +#endif + +#ifndef TME_LOG_DUMP_FEATURE_ID +#define TME_LOG_DUMP_FEATURE_ID 0x7 +#endif + +#ifndef TME_LOG_DUMP_FEATURE_VERSION +#define TME_LOG_DUMP_FEATURE_VERSION 0x401000 +#endif + /* USB Registers */ #define TCSR_USB_PCIE_SEL 0x01947540 #define TCSR_USB_PCIE_SEL_USB 0x1