Matt DeVillier has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
purism/librem_skl: add libgfxinit support
Panel settings taken from KBL FSP sample vbt.bin
Test: build/boot librem13v2/15v3 with libgfxinit init, verify both LFB and text modes functional
Change-Id: I9582065603417e53704244e95dde51a59f709664 Signed-off-by: Matt DeVillier matt.devillier@gmail.com --- M src/mainboard/purism/librem_skl/Kconfig M src/mainboard/purism/librem_skl/Makefile.inc A src/mainboard/purism/librem_skl/gma-mainboard.ads M src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb M src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb 5 files changed, 47 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/23/36123/1
diff --git a/src/mainboard/purism/librem_skl/Kconfig b/src/mainboard/purism/librem_skl/Kconfig index cc0e98a..5a5982b 100644 --- a/src/mainboard/purism/librem_skl/Kconfig +++ b/src/mainboard/purism/librem_skl/Kconfig @@ -9,6 +9,7 @@ select SOC_INTEL_SKYLAKE select MAINBOARD_USES_FSP2_0 select SPD_READ_BY_WORD + select MAINBOARD_HAS_LIBGFXINIT select MAINBOARD_HAS_LPC_TPM
if BOARD_PURISM_BASEBOARD_LIBREM_SKL diff --git a/src/mainboard/purism/librem_skl/Makefile.inc b/src/mainboard/purism/librem_skl/Makefile.inc index 35f0f6c..ad4fd52 100644 --- a/src/mainboard/purism/librem_skl/Makefile.inc +++ b/src/mainboard/purism/librem_skl/Makefile.inc @@ -15,3 +15,5 @@
ramstage-y += ramstage.c ramstage-y += hda_verb.c + +ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads diff --git a/src/mainboard/purism/librem_skl/gma-mainboard.ads b/src/mainboard/purism/librem_skl/gma-mainboard.ads new file mode 100644 index 0000000..1aba615 --- /dev/null +++ b/src/mainboard/purism/librem_skl/gma-mainboard.ads @@ -0,0 +1,28 @@ +-- +-- This file is part of the coreboot project. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- + +with HW.GFX.GMA; +with HW.GFX.GMA.Display_Probing; + +use HW.GFX.GMA; +use HW.GFX.GMA.Display_Probing; + +private package GMA.Mainboard is + + ports : constant Port_List := + (Internal, + HDMI1, + others => Disabled); + +end GMA.Mainboard; diff --git a/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb b/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb index 944a2dd..deac410 100644 --- a/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb +++ b/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb @@ -1,5 +1,13 @@ chip soc/intel/skylake
+ register "gpu_pp_up_delay_ms" = "200" + register "gpu_pp_down_delay_ms" = " 50" + register "gpu_pp_cycle_delay_ms" = "500" + register "gpu_pp_backlight_on_delay_ms" = " 1" + register "gpu_pp_backlight_off_delay_ms" = "200" + + register "gpu_pch_backlight_pwm_hz" = "200" + # Enable deep Sx states register "deep_s3_enable_ac" = "0" register "deep_s3_enable_dc" = "0" diff --git a/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb b/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb index 4ac0610..fd301cd 100644 --- a/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb +++ b/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb @@ -1,5 +1,13 @@ chip soc/intel/skylake
+ register "gpu_pp_up_delay_ms" = "200" + register "gpu_pp_down_delay_ms" = " 50" + register "gpu_pp_cycle_delay_ms" = "500" + register "gpu_pp_backlight_on_delay_ms" = " 1" + register "gpu_pp_backlight_off_delay_ms" = "200" + + register "gpu_pch_backlight_pwm_hz" = "200" + # Enable deep Sx states register "deep_s3_enable_ac" = "0" register "deep_s3_enable_dc" = "0"
Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... File src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... PS1, Line 7: register "gpu_pp_backlight_off_delay_ms" = "200" Linux and libgfxinit use more conservative defaults. Did you test if this makes a difference in Linux' drm.debug=0xe log?
You can also try to figure out the actual values for the used panels: https://doc.coreboot.org/gfx/display-panel.html
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... File src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... PS1, Line 7: register "gpu_pp_backlight_off_delay_ms" = "200"
Linux and libgfxinit use more conservative defaults. Did you test […]
I'll dump from a few different devices and adjust using the most conservative values
Matt DeVillier has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
Patch Set 1:
(1 comment)
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... File src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb:
https://review.coreboot.org/c/coreboot/+/36123/1/src/mainboard/purism/librem... PS1, Line 7: register "gpu_pp_backlight_off_delay_ms" = "200"
I'll dump from a few different devices and adjust using the most conservative values
these values match those from both the KabyLake FSP sample VBT, and the VBT files extracted from the Librem's AMI/UEFI firmware. I'm good with using them as-is.
Arthur Heymans has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
Patch Set 1: Code-Review+2
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
Patch Set 1: Code-Review+2
Nico Huber has submitted this change. ( https://review.coreboot.org/c/coreboot/+/36123 )
Change subject: purism/librem_skl: add libgfxinit support ......................................................................
purism/librem_skl: add libgfxinit support
Panel settings taken from KBL FSP sample vbt.bin
Test: build/boot librem13v2/15v3 with libgfxinit init, verify both LFB and text modes functional
Change-Id: I9582065603417e53704244e95dde51a59f709664 Signed-off-by: Matt DeVillier matt.devillier@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/36123 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Arthur Heymans arthur@aheymans.xyz Reviewed-by: Angel Pons th3fanbus@gmail.com --- M src/mainboard/purism/librem_skl/Kconfig M src/mainboard/purism/librem_skl/Makefile.inc A src/mainboard/purism/librem_skl/gma-mainboard.ads M src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb M src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb 5 files changed, 47 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Arthur Heymans: Looks good to me, approved Angel Pons: Looks good to me, approved
diff --git a/src/mainboard/purism/librem_skl/Kconfig b/src/mainboard/purism/librem_skl/Kconfig index a998a93..a58ca0b 100644 --- a/src/mainboard/purism/librem_skl/Kconfig +++ b/src/mainboard/purism/librem_skl/Kconfig @@ -8,6 +8,7 @@ select SOC_INTEL_COMMON_BLOCK_HDA_VERB select SOC_INTEL_SKYLAKE select SPD_READ_BY_WORD + select MAINBOARD_HAS_LIBGFXINIT select MAINBOARD_HAS_LPC_TPM
if BOARD_PURISM_BASEBOARD_LIBREM_SKL diff --git a/src/mainboard/purism/librem_skl/Makefile.inc b/src/mainboard/purism/librem_skl/Makefile.inc index 35f0f6c..ad4fd52 100644 --- a/src/mainboard/purism/librem_skl/Makefile.inc +++ b/src/mainboard/purism/librem_skl/Makefile.inc @@ -15,3 +15,5 @@
ramstage-y += ramstage.c ramstage-y += hda_verb.c + +ramstage-$(CONFIG_MAINBOARD_USE_LIBGFXINIT) += gma-mainboard.ads diff --git a/src/mainboard/purism/librem_skl/gma-mainboard.ads b/src/mainboard/purism/librem_skl/gma-mainboard.ads new file mode 100644 index 0000000..1aba615 --- /dev/null +++ b/src/mainboard/purism/librem_skl/gma-mainboard.ads @@ -0,0 +1,28 @@ +-- +-- This file is part of the coreboot project. +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- + +with HW.GFX.GMA; +with HW.GFX.GMA.Display_Probing; + +use HW.GFX.GMA; +use HW.GFX.GMA.Display_Probing; + +private package GMA.Mainboard is + + ports : constant Port_List := + (Internal, + HDMI1, + others => Disabled); + +end GMA.Mainboard; diff --git a/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb b/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb index 944a2dd..deac410 100644 --- a/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb +++ b/src/mainboard/purism/librem_skl/variants/librem13v2/devicetree.cb @@ -1,5 +1,13 @@ chip soc/intel/skylake
+ register "gpu_pp_up_delay_ms" = "200" + register "gpu_pp_down_delay_ms" = " 50" + register "gpu_pp_cycle_delay_ms" = "500" + register "gpu_pp_backlight_on_delay_ms" = " 1" + register "gpu_pp_backlight_off_delay_ms" = "200" + + register "gpu_pch_backlight_pwm_hz" = "200" + # Enable deep Sx states register "deep_s3_enable_ac" = "0" register "deep_s3_enable_dc" = "0" diff --git a/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb b/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb index 4ac0610..fd301cd 100644 --- a/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb +++ b/src/mainboard/purism/librem_skl/variants/librem15v3/devicetree.cb @@ -1,5 +1,13 @@ chip soc/intel/skylake
+ register "gpu_pp_up_delay_ms" = "200" + register "gpu_pp_down_delay_ms" = " 50" + register "gpu_pp_cycle_delay_ms" = "500" + register "gpu_pp_backlight_on_delay_ms" = " 1" + register "gpu_pp_backlight_off_delay_ms" = "200" + + register "gpu_pch_backlight_pwm_hz" = "200" + # Enable deep Sx states register "deep_s3_enable_ac" = "0" register "deep_s3_enable_dc" = "0"