Tim Wawrzynczak has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
mb/google/volteer: Implement weak function `cse_board_reset`
Since Volteer also uses the CSE Lite SKU and the cr50, it is subject to a problem where old cr50 FW will not be able to properly detect an SoC reset, so the reset on cold boots caused by the CSE Lite RO->RW jump should instead get an assist from the EC, which can perform a full cold reset.
BUG=b:162977697 TEST=Verify EC performs the cold reset
Signed-off-by: Tim Wawrzynczak twawrzynczak@chromium.org Change-Id: Ie8ae21c203da218459d5fd30a23be23520ed0598 --- M src/mainboard/google/volteer/mainboard.c 1 file changed, 8 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/36/44536/1
diff --git a/src/mainboard/google/volteer/mainboard.c b/src/mainboard/google/volteer/mainboard.c index 5317c11..a926673 100644 --- a/src/mainboard/google/volteer/mainboard.c +++ b/src/mainboard/google/volteer/mainboard.c @@ -6,10 +6,18 @@ #include <device/device.h> #include <ec/ec.h> #include <ec/google/chromeec/ec.h> +#include <halt.h> +#include <intelblocks/cse.h> #include <soc/gpio.h> #include <vendorcode/google/chromeos/chromeos.h> #include <variant/gpio.h>
+void cse_board_reset(void) +{ + if (!google_chromeec_ap_reset()) + halt(); +} + static void mainboard_init(struct device *dev) { mainboard_ec_init();
Caveh Jalali has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 1: Code-Review+2
Zhuohao Lee has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/mainboard.c:
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... PS1, Line 17: if (!google_chromeec_ap_reset()) : halt(); Do we check the Cr50 version?
Tim Wawrzynczak has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/mainboard.c:
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... PS1, Line 17: if (!google_chromeec_ap_reset()) : halt();
Do we check the Cr50 version?
We will once that change is in (CB:43741)
Zhuohao Lee has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... File src/mainboard/google/volteer/mainboard.c:
https://review.coreboot.org/c/coreboot/+/44536/1/src/mainboard/google/voltee... PS1, Line 17: if (!google_chromeec_ap_reset()) : halt();
We will once that change is in (CB:43741)
ok, thanks for the info
Karthik Ramasubramanian has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 1: Code-Review+2
Tim Wawrzynczak has submitted this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
mb/google/volteer: Implement weak function `cse_board_reset`
Since Volteer also uses the CSE Lite SKU and the cr50, it is subject to a problem where old cr50 FW will not be able to properly detect an SoC reset, so the reset on cold boots caused by the CSE Lite RO->RW jump should instead get an assist from the EC, which can perform a full cold reset.
BUG=b:162977697 TEST=Verify EC performs the cold reset
Signed-off-by: Tim Wawrzynczak twawrzynczak@chromium.org Change-Id: Ie8ae21c203da218459d5fd30a23be23520ed0598 Reviewed-on: https://review.coreboot.org/c/coreboot/+/44536 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Caveh Jalali caveh@chromium.org Reviewed-by: Karthik Ramasubramanian kramasub@google.com --- M src/mainboard/google/volteer/mainboard.c 1 file changed, 8 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Caveh Jalali: Looks good to me, approved Karthik Ramasubramanian: Looks good to me, approved
diff --git a/src/mainboard/google/volteer/mainboard.c b/src/mainboard/google/volteer/mainboard.c index 5317c11..a926673 100644 --- a/src/mainboard/google/volteer/mainboard.c +++ b/src/mainboard/google/volteer/mainboard.c @@ -6,10 +6,18 @@ #include <device/device.h> #include <ec/ec.h> #include <ec/google/chromeec/ec.h> +#include <halt.h> +#include <intelblocks/cse.h> #include <soc/gpio.h> #include <vendorcode/google/chromeos/chromeos.h> #include <variant/gpio.h>
+void cse_board_reset(void) +{ + if (!google_chromeec_ap_reset()) + halt(); +} + static void mainboard_init(struct device *dev) { mainboard_ec_init();
9elements QA has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/44536 )
Change subject: mb/google/volteer: Implement weak function `cse_board_reset` ......................................................................
Patch Set 2:
Automatic boot test returned (PASS/FAIL/TOTAL): 7/1/8 "QEMU x86 q35/ich9" using payload TianoCore : SUCCESS : https://lava.9esec.io/r/15852 "QEMU x86 q35/ich9" using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/15851 "QEMU x86 i440fx/piix4" using payload SeaBIOS : FAIL : https://lava.9esec.io/r/15850 "QEMU x86 i440fx/piix4" using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/15849 "QEMU AArch64" using payload LinuxBoot_u-root_kexec : SUCCESS : https://lava.9esec.io/r/15848 "HP Z220 SFF Workstation" using payload LinuxBoot_BusyBox_kexec : SUCCESS : https://lava.9esec.io/r/15855 "HP Compaq 8200 Elite SFF PC" using payload TianoCore : SUCCESS : https://lava.9esec.io/r/15854 "HP Compaq 8200 Elite SFF PC" using payload SeaBIOS : SUCCESS : https://lava.9esec.io/r/15853
Please note: This test is under development and might not be accurate at all!