From cb11ad06c205ce33477204ef56de177ef9277432 Mon Sep 17 00:00:00 2001 From: Karthikeyan Ramasubramanian Date: Wed, 30 Oct 2024 10:16:11 -0600 Subject: soc/intel/alderlake: Do lazy reset after disabling UFS If the mainboard expects upcoming reset, then skip the reset after disabling UFS. This will reduce the number of resets during firmware update. BUG=b:375444631 TEST=Build Brox BIOS image and boot to OS. Perform a firmware update and confirm that the number of reset is reduced by 2 resets. Change-Id: I4399555302ec23a76f89f406f437f311eea0ef99 Signed-off-by: Karthikeyan Ramasubramanian Reviewed-on: https://review.coreboot.org/c/coreboot/+/84935 Reviewed-by: Subrata Banik Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel --- src/soc/intel/alderlake/include/soc/romstage.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/soc/intel/alderlake/include') diff --git a/src/soc/intel/alderlake/include/soc/romstage.h b/src/soc/intel/alderlake/include/soc/romstage.h index 679d538b2d..574c9b7ae1 100644 --- a/src/soc/intel/alderlake/include/soc/romstage.h +++ b/src/soc/intel/alderlake/include/soc/romstage.h @@ -20,4 +20,15 @@ enum board_type { BOARD_TYPE_SERVER = 8 }; +/* + * Default implementation indicates that the mainboard does not expect another reset. + * Mainboards can override the default implementation to indicate whether they expect + * another reset eg. FW Sync for another component on the mainboard. Some silicon init + * code eg. disabling UFS, can use this hint to suppress any redundant resets that they + * trigger. If the mainboard does not expect another reset, then the silicon init code + * can trigger their required reset. + * + * Return: true when the mainboard expects another reset, false otherwise. + */ +bool mainboard_expects_another_reset(void); #endif /* _SOC_ROMSTAGE_H_ */ -- cgit v1.2.3