mb/google/herobrine: Enable early eMMC init in coreboot

Move eMMC init from depthcharge into coreboot to remove it from the
critical boot path.  Doing so saves us almost 35ms on villager:
before change:
    finished storage device initialization            50,783
after change:
    finished storage device initialization            16,255

BUG=b:254092907,b:218406702
BRANCH=None
TEST=flash new FW onto villager and make sure can boot from eMMC

Change-Id: I1af1ec162029120332e7f531f75c3780266d322b
Signed-off-by: Shelley Chen <shchen@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71830
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Shelley Chen 2023-01-11 16:14:25 -08:00
parent d8353e7143
commit d8a85e3d99
1 changed files with 3 additions and 0 deletions

View File

@ -17,6 +17,7 @@
#include <soc/qupv3_config_common.h> #include <soc/qupv3_config_common.h>
#include <soc/qup_se_handlers_common.h> #include <soc/qup_se_handlers_common.h>
#include <soc/qcom_qup_se.h> #include <soc/qcom_qup_se.h>
#include <soc/sdhci.h>
#include <soc/usb/usb_common.h> #include <soc/usb/usb_common.h>
#include <soc/usb/snps_usb_phy.h> #include <soc/usb/snps_usb_phy.h>
@ -109,6 +110,8 @@ static void mainboard_init(struct device *dev)
{ {
/* Configure clock for eMMC */ /* Configure clock for eMMC */
clock_configure_sdcc1(384 * MHz); clock_configure_sdcc1(384 * MHz);
qc_emmc_early_init();
/* Configure clock for SD card */ /* Configure clock for SD card */
clock_configure_sdcc2(50 * MHz); clock_configure_sdcc2(50 * MHz);
configure_sdhci(); configure_sdhci();