summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhenguo Li <ot_zhenguo.li@mediatek.corp-partner.google.com>2021-10-08 17:08:30 +0800
committerFelix Held <felix-coreboot@felixheld.de>2021-10-13 13:58:01 +0000
commit6b0661d12099a6a582aee8f0f649f4bf2b382dd7 (patch)
treee066a6f5db3b5895d633c609b9db09a95144ac48
parentdacff81a66676e8816740b98266aa2257137fd81 (diff)
soc/mediatek/mt8192: add tracker dump
Tracker is a debugging tool, include AP/INFRA/PERI tracker. When bus timeout occurs, the system reboots and latches some values which could be used for debug. Signed-off-by: Zhenguo Li <ot_zhenguo.li@mediatek.corp-partner.google.com> Change-Id: I82f8e6e5f8ccb7f8246cae45a01a3ddd5f2966f2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/58244 Reviewed-by: Rex-BC Chen <rex-bc.chen@mediatek.corp-partner.google.com> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/mediatek/mt8192/Makefile.inc1
-rw-r--r--src/soc/mediatek/mt8192/include/soc/addressmap.h12
-rw-r--r--src/soc/mediatek/mt8192/soc.c2
3 files changed, 11 insertions, 4 deletions
diff --git a/src/soc/mediatek/mt8192/Makefile.inc b/src/soc/mediatek/mt8192/Makefile.inc
index 934b6888b2..d713e4d4c2 100644
--- a/src/soc/mediatek/mt8192/Makefile.inc
+++ b/src/soc/mediatek/mt8192/Makefile.inc
@@ -63,6 +63,7 @@ ramstage-y += ../common/rtc.c ../common/rtc_mt6359p.c
ramstage-y += soc.c
ramstage-y += ../common/spm.c spm.c
ramstage-y += ../common/sspm.c
+ramstage-y += ../common/tracker.c
ramstage-y += ../common/timer.c
ramstage-y += ../common/uart.c
ramstage-y += ../common/ufs.c
diff --git a/src/soc/mediatek/mt8192/include/soc/addressmap.h b/src/soc/mediatek/mt8192/include/soc/addressmap.h
index 8dd76d9df3..440f7ca3c9 100644
--- a/src/soc/mediatek/mt8192/include/soc/addressmap.h
+++ b/src/soc/mediatek/mt8192/include/soc/addressmap.h
@@ -4,10 +4,11 @@
#define __SOC_MEDIATEK_MT8192_INCLUDE_SOC_ADDRESSMAP_H__
enum {
- MCUSYS_BASE = 0x0C530000,
- MCUPM_SRAM_BASE = 0x0C540000,
- MCUPM_CFG_BASE = 0x0C560000,
- IO_PHYS = 0x10000000,
+ MCUSYS_BASE = 0x0C530000,
+ MCUPM_SRAM_BASE = 0x0C540000,
+ MCUPM_CFG_BASE = 0x0C560000,
+ BUS_TRACE_MONITOR_BASE = 0x0D040000,
+ IO_PHYS = 0x10000000,
};
enum {
@@ -35,10 +36,13 @@ enum {
DEVAPC_PERI2_AO_BASE = IO_PHYS + 0x00038000,
DEVAPC_PERI_PAR_AO_BASE = IO_PHYS + 0x0003C000,
DEVAPC_FMEM_AO_BASE = IO_PHYS + 0x00044000,
+ DBG_TRACKER_BASE = IO_PHYS + 0x00208000,
+ PERI_TRACKER_BASE = IO_PHYS + 0x00218000,
I2C_DMA_BASE = IO_PHYS + 0x00217080,
EMI_BASE = IO_PHYS + 0x00219000,
EMI_MPU_BASE = IO_PHYS + 0x00226000,
DRAMC_CHA_AO_BASE = IO_PHYS + 0x00230000,
+ INFRA_TRACKER_BASE = IO_PHYS + 0x00314000,
SSPM_SRAM_BASE = IO_PHYS + 0x00400000,
SSPM_CFG_BASE = IO_PHYS + 0x00440000,
SCP_CFG_BASE = IO_PHYS + 0x00700000,
diff --git a/src/soc/mediatek/mt8192/soc.c b/src/soc/mediatek/mt8192/soc.c
index 006a212da9..355827ac27 100644
--- a/src/soc/mediatek/mt8192/soc.c
+++ b/src/soc/mediatek/mt8192/soc.c
@@ -9,6 +9,7 @@
#include <soc/mcupm.h>
#include <soc/mmu_operations.h>
#include <soc/sspm.h>
+#include <soc/tracker_common.h>
#include <soc/ufs.h>
#include <symbols.h>
@@ -33,6 +34,7 @@ static void soc_init(struct device *dev)
if (CONFIG(MTK_DFD))
dfd_init();
ufs_disable_refclk();
+ bustracker_init();
}
static struct device_operations soc_ops = {