From c205ae0c6e414a8fe34f25f2f9e23b97182b17e6 Mon Sep 17 00:00:00 2001 From: Daisuke Nojiri Date: Fri, 26 Jan 2018 17:36:44 -0800 Subject: [PATCH] mb/google/fizz: Wait until display is ready Fizz fails to show pictures on a type-c monitor because VBIOS runs before DisplayPort link is ready. With this patch, when firmware needs to display something, Fizz calls google_chromeec_wait_for_display to make sure display is ready. The penalty is up to 2 sec per boot in dev and rec boot. Normal boot won't affected unless there is EC update. BUG=b:72387533 BRANCH=none TEST=Verify screens are displayed on Fizz as follows: 1. Put DUT in normal mode 2. Flash EC image to trigger EC sync (critical update) 3. Trigger manual recovery (insert) 4. Hit ctrl+d to switch to dev mode (to-dev) 5. Confirm to reboot (dev warning) 6. Warm reboot (dev warning) 7. Cold reboot (dev warning) 8. Flash EC image to trigger EC sync (critical update) 9. Trigger manual recovery (insert) Change-Id: I90befe94f93e13904987acda50b2598d034b0031 Signed-off-by: Daisuke Nojiri Reviewed-on: https://review.coreboot.org/23746 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/mainboard/google/fizz/ramstage.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mainboard/google/fizz/ramstage.c b/src/mainboard/google/fizz/ramstage.c index 6dafe65c97..e5215f87d8 100644 --- a/src/mainboard/google/fizz/ramstage.c +++ b/src/mainboard/google/fizz/ramstage.c @@ -13,11 +13,16 @@ * GNU General Public License for more details. */ +#include +#include #include #include "gpio.h" void mainboard_silicon_init_params(FSP_SIL_UPD *params) { + if (display_init_required()) + /* This has to be done before FSP-S runs. */ + google_chromeec_wait_for_display(); gpio_configure_pads(gpio_table, ARRAY_SIZE(gpio_table)); }