From 5d7f5bc973f4aac3e2833baba7e6e386c602f5b4 Mon Sep 17 00:00:00 2001 From: Julius Werner Date: Mon, 26 Nov 2018 17:16:24 -0800 Subject: cheza: Add board reset via Chrome EC This patch implements board reset on the Cheza board. The real board reset used by the operating system uses the PMIC, but unfortunately the PMIC needs to be configured right for that to work. The PMIC configuration currently happens in the Qualcomm blob (QcLib) that is run from romstage, but vboot needs to be able to reboot during verstage already. Porting all the PMIC initialization code to run in the bootblock seems excessive (and at odds with the goal of doing as little as possible before verification), so we'll just do a little hack and ask the EC to perform a cold reset instead. For vboot purposes, this should work just as well. BUG=b:118501305 TEST=Hacked vboot code to call vboot_reboot(), confirmed that board reset and came back up as expected. Change-Id: I3858d95f481884a87c243d4fa3d6369c1e8a5a2c Signed-off-by: Julius Werner Reviewed-on: https://review.coreboot.org/c/29849 Tested-by: build bot (Jenkins) --- src/mainboard/google/cheza/Makefile.inc | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/mainboard/google/cheza/Makefile.inc') diff --git a/src/mainboard/google/cheza/Makefile.inc b/src/mainboard/google/cheza/Makefile.inc index 04099e2033..ff94b76377 100644 --- a/src/mainboard/google/cheza/Makefile.inc +++ b/src/mainboard/google/cheza/Makefile.inc @@ -17,17 +17,21 @@ bootblock-y += boardid.c bootblock-y += memlayout.ld bootblock-y += chromeos.c bootblock-y += bootblock.c +bootblock-y += reset.c verstage-y += boardid.c verstage-y += memlayout.ld verstage-y += chromeos.c +verstage-y += reset.c romstage-y += boardid.c romstage-y += memlayout.ld romstage-y += chromeos.c romstage-y += romstage.c +romstage-y += reset.c ramstage-y += boardid.c ramstage-y += memlayout.ld ramstage-y += chromeos.c ramstage-y += mainboard.c +ramstage-y += reset.c -- cgit v1.2.3