mb/google/asurada: revise PMIC and RTC initialization

Move the initialization from bootblock to romstage for following reasons:
- Follow MT8183 initialization sequence.
- PMIC and RTC functions are only called after verstage.
- Reduce bootblock size.
- PMIC initialization setting is complex and may need to be changed by
  an RW firmware update.

TEST=boot to kernel successfully

Change-Id: I3e4c3f918639590ffc73076450235771d06aae91
Signed-off-by: Yidi Lin <yidi.lin@mediatek.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51409
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Xi Chen <xixi.chen@mediatek.com>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
This commit is contained in:
Yidi Lin 2021-03-11 17:31:02 +08:00 committed by Hung-Te Lin
parent 50c667de52
commit 2fcbebbbcd
7 changed files with 12 additions and 31 deletions

View File

@ -4,12 +4,16 @@
#include <console/console.h>
#include <delay.h>
#include <fmap.h>
#include <soc/clkbuf.h>
#include <soc/dramc_param.h>
#include <soc/emi.h>
#include <soc/mmu_operations.h>
#include <soc/mt6315.h>
#include <soc/mt6359p.h>
#include <soc/pll_common.h>
#include <soc/pmif.h>
#include <soc/rtc.h>
#include <soc/srclken_rc.h>
/* This must be defined in chromeos.fmd in same name and size. */
#define CALIBRATION_REGION "RW_DDR_TRAINING"
@ -56,8 +60,12 @@ static void raise_little_cpu_freq(void)
void platform_romstage_main(void)
{
mt6359p_romstage_init();
mt6315_romstage_init();
mtk_pmif_init();
mt6359p_init();
mt6315_init();
srclken_rc_init();
clk_buf_init();
rtc_boot();
raise_little_cpu_freq();
mt_mem_init(&dparam_ops);
mtk_mmu_after_dram();

View File

@ -2,7 +2,6 @@ ifeq ($(CONFIG_SOC_MEDIATEK_MT8192),y)
bootblock-y += ../common/auxadc.c
bootblock-y += bootblock.c
bootblock-y += clkbuf.c srclken_rc.c
bootblock-y += eint_event.c
bootblock-y += ../common/flash_controller.c
bootblock-y += ../common/gpio.c gpio.c
@ -13,10 +12,6 @@ bootblock-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
bootblock-y += ../common/timer.c
bootblock-y += ../common/uart.c
bootblock-y += ../common/wdt.c
bootblock-y += pmif.c pmif_clk.c pmif_spi.c pmif_spmi.c
bootblock-y += ../common/rtc.c ../common/rtc_osc_init.c rtc.c
bootblock-y += mt6315.c
bootblock-y += mt6359p.c
verstage-y += ../common/auxadc.c
verstage-y += ../common/flash_controller.c
@ -28,6 +23,7 @@ verstage-y += ../common/uart.c
romstage-y += ../common/auxadc.c
romstage-y += ../common/cbmem.c
romstage-y += clkbuf.c srclken_rc.c
romstage-y += ../common/dram_init.c
romstage-y += ../common/dramc_param.c
romstage-y += ../common/flash_controller.c
@ -40,6 +36,7 @@ romstage-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c
romstage-y += ../common/timer.c
romstage-y += ../common/uart.c
romstage-y += pmif.c pmif_clk.c pmif_spi.c pmif_spmi.c
romstage-y += ../common/rtc.c ../common/rtc_osc_init.c rtc.c
romstage-y += mt6315.c
romstage-y += mt6359p.c

View File

@ -1,15 +1,9 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#include <bootblock_common.h>
#include <soc/clkbuf.h>
#include <soc/eint_event.h>
#include <soc/mmu_operations.h>
#include <soc/mt6315.h>
#include <soc/mt6359p.h>
#include <soc/pll.h>
#include <soc/pmif.h>
#include <soc/rtc.h>
#include <soc/srclken_rc.h>
#include <soc/wdt.h>
void bootblock_soc_init(void)
@ -17,11 +11,5 @@ void bootblock_soc_init(void)
mtk_mmu_init();
mtk_wdt_init();
mt_pll_init();
mtk_pmif_init();
mt6359p_init();
mt6315_init();
srclken_rc_init();
clk_buf_init();
rtc_boot();
unmask_eint_event_mask();
}

View File

@ -35,7 +35,6 @@ enum {
};
void mt6315_init(void);
void mt6315_romstage_init(void);
void mt6315_buck_set_voltage(u32 slvid, u32 buck_id, u32 buck_uv);
u32 mt6315_buck_get_voltage(u32 slvid, u32 buck_id);
#endif /* __SOC_MEDIATEK_MT6315_H__ */

View File

@ -62,7 +62,6 @@ enum {
#define EFUSE_RG_VPA_OC_FT 78
void mt6359p_init(void);
void mt6359p_romstage_init(void);
void mt6359p_buck_set_voltage(u32 buck_id, u32 buck_uv);
u32 mt6359p_buck_get_voltage(u32 buck_id);
void mt6359p_set_vm18_voltage(u32 vm18_uv);

View File

@ -300,8 +300,3 @@ void mt6315_init(void)
mt6315_wdt_enable(MT6315_GPU);
mt6315_init_setting();
}
void mt6315_romstage_init(void)
{
init_pmif_arb();
}

View File

@ -564,8 +564,3 @@ void mt6359p_init(void)
pmic_protect_key_setting(true);
pmic_wk_vs2_voter_setting();
}
void mt6359p_romstage_init(void)
{
init_pmif_arb();
}