soc/mediatek/mt8186: add tracker dump

Tracker is a debugging tool, and MT8186 only supports AP tracker.
When bus timeout occurs, the system reboots and latches some values
which could be used for debugging.

This function will be triggered only when it encounters the bug
hanging issue.

BUG=b:202871018
TEST=range of registers are dumped as expected.

Signed-off-by: Rex-BC Chen <rex-bc.chen@mediatek.com>
Change-Id: Ie023de2a6f7421a16b2516baa0bf0bf6fff589e2
Reviewed-on: https://review.coreboot.org/c/coreboot/+/59990
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
This commit is contained in:
Rex-BC Chen 2021-12-02 19:57:46 +08:00 committed by Felix Held
parent da83d2c97f
commit ac6070a79f
5 changed files with 17 additions and 0 deletions

View File

@ -6,6 +6,11 @@
#include <soc/tracker.h>
#include <soc/tracker_common.h>
__weak void tracker_setup(void)
{
/* do nothing. */
}
static void tracker_dump_data(void)
{
int i, j, k;

View File

@ -11,6 +11,7 @@ bootblock-y += ../common/mmu_operations.c
bootblock-y += ../common/pll.c pll.c
bootblock-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
bootblock-y += ../common/timer.c timer.c
bootblock-y += ../common/tracker.c ../common/tracker_v1.c
bootblock-y += ../common/uart.c
bootblock-y += ../common/wdt.c wdt.c

View File

@ -5,11 +5,13 @@
#include <soc/gic.h>
#include <soc/mmu_operations.h>
#include <soc/pll.h>
#include <soc/tracker_common.h>
#include <soc/wdt.h>
void bootblock_soc_init(void)
{
mtk_mmu_init();
bustracker_init();
mtk_wdt_init();
mt_pll_init();
unmask_eint_event_mask();

View File

@ -42,6 +42,7 @@ enum {
I2C8_DMA_BASE = IO_PHYS + 0x00200A80,
I2C9_DMA_BASE = IO_PHYS + 0x00200C00,
DEVAPC_BASE = IO_PHYS + 0x00207000,
DBG_TRACKER_BASE = IO_PHYS + 0x00208000,
EMI0_BASE = IO_PHYS + 0x00219000,
EMI0_MPU_BASE = IO_PHYS + 0x0021B000,
DRAMC_CHA_AO_BASE = IO_PHYS + 0x00220000,

View File

@ -0,0 +1,8 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef SOC_MEDIATEK_MT8186_TRACKER_H
#define SOC_MEDIATEK_MT8186_TRACKER_H
#include <soc/tracker_v1.h>
#endif