From 50c11607a1afaa373d381575c5056e4185a014c4 Mon Sep 17 00:00:00 2001 From: Chris Wang Date: Mon, 5 Nov 2018 12:09:24 +0800 Subject: mb/google/kahlee: Tune eDP panel initialization time 1. Add two parameters for panel initialization timing. > lvds_poseq_varybl_to_blon > lvds_poseq_blon_to_varybl 2. The BL_PWM is controlled by APU_EDP_BKLTEN_L/APU_DP_VARY_BL/ EDP_BKLTEN_L, so move APU_EDP_BKLTEN_L to early init stage, and be enabled depends on SKU, thus we can control the delay time by config APU_DP_VARY_BL. BUG=b:118011567 TEST=emerge-grunt coreboot. Change-Id: Ib20c48813b208d697b950b2f02a70a690e483fdb Signed-off-by: Chris Wang Reviewed-on: https://review.coreboot.org/29469 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth --- src/mainboard/google/kahlee/OemCustomize.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/mainboard/google/kahlee/OemCustomize.c') diff --git a/src/mainboard/google/kahlee/OemCustomize.c b/src/mainboard/google/kahlee/OemCustomize.c index a0bd8cddbd..12e50724ec 100644 --- a/src/mainboard/google/kahlee/OemCustomize.c +++ b/src/mainboard/google/kahlee/OemCustomize.c @@ -16,6 +16,9 @@ #include #include #include +#include +#include +#include #define DIMMS_PER_CHANNEL 1 #if DIMMS_PER_CHANNEL > MAX_DIMMS_PER_CH @@ -75,5 +78,28 @@ void OemPostParams(AMD_POST_PARAMS *PostParams) void set_board_env_params(GNB_ENV_CONFIGURATION *params) { + const struct soc_amd_stoneyridge_config *cfg; + const struct device *dev = dev_find_slot(0, GNB_DEVFN); + if (!dev || !dev->chip_info) { + printk(BIOS_WARNING, "Warning: Cannot find SoC devicetree config\n"); + return; + } + cfg = dev->chip_info; + if (cfg->lvds_poseq_blon_to_varybl && cfg->lvds_poseq_varybl_to_blon) { + /* + * GPIO 133 - Backlight enable (active low) + * Pass control of the backlight to the video BIOS + */ + gpio_set(GPIO_133, 0); + printk(BIOS_INFO, "Change panel init timing\n"); + params->LvdsPowerOnSeqVaryBlToBlon = + cfg->lvds_poseq_varybl_to_blon; + params->LvdsPowerOnSeqBlonToVaryBl = + cfg->lvds_poseq_blon_to_varybl; + printk(BIOS_INFO, "LvdsPowerOnSeqVaryBlToBlon: %dms\n", + (params->LvdsPowerOnSeqVaryBlToBlon)*4); + printk(BIOS_INFO, "LvdsPowerOnSeqBlonToVaryBl: %dms\n", + (params->LvdsPowerOnSeqBlonToVaryBl)*4); + } params->EDPv1_4VSMode = EDP_VS_HIGH_VDIFF_MODE; } -- cgit v1.2.3