From 1724b57729795f4eed9fb401572f634aa286ab0c Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Tue, 21 Sep 2021 21:50:49 -0600 Subject: soc/intel/tigerlake: Hook up GMA ACPI brightness controls Add function needed to generate ACPI backlight control SSDT, along with Kconfig values for accessing the registers. Tested by adding gfx register on system76/gaze16 and booting Windows. Display settings has a brightness setting, and can change the brightness level. Change-Id: Id8b14c0b4a7a681dc6cb95778c12a006a7e31373 Signed-off-by: Tim Crawford Reviewed-on: https://review.coreboot.org/c/coreboot/+/57823 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/soc/intel/tigerlake/Kconfig | 12 ++++++++++++ src/soc/intel/tigerlake/Makefile.inc | 1 + src/soc/intel/tigerlake/chip.h | 4 ++++ src/soc/intel/tigerlake/graphics.c | 11 +++++++++++ 4 files changed, 28 insertions(+) create mode 100644 src/soc/intel/tigerlake/graphics.c (limited to 'src') diff --git a/src/soc/intel/tigerlake/Kconfig b/src/soc/intel/tigerlake/Kconfig index 83d2e9f64e..37391782d2 100644 --- a/src/soc/intel/tigerlake/Kconfig +++ b/src/soc/intel/tigerlake/Kconfig @@ -305,4 +305,16 @@ config PCIEXP_HOTPLUG_PREFETCH_MEM endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES +config INTEL_GMA_BCLV_OFFSET + default 0xc8258 + +config INTEL_GMA_BCLV_WIDTH + default 32 + +config INTEL_GMA_BCLM_OFFSET + default 0xc8254 + +config INTEL_GMA_BCLM_WIDTH + default 32 + endif diff --git a/src/soc/intel/tigerlake/Makefile.inc b/src/soc/intel/tigerlake/Makefile.inc index 91464b3f50..bce36538ee 100644 --- a/src/soc/intel/tigerlake/Makefile.inc +++ b/src/soc/intel/tigerlake/Makefile.inc @@ -31,6 +31,7 @@ ramstage-y += elog.c ramstage-y += espi.c ramstage-y += finalize.c ramstage-y += fsp_params.c +ramstage-y += graphics.c ramstage-y += lockdown.c ramstage-y += lpm.c ramstage-y += me.c diff --git a/src/soc/intel/tigerlake/chip.h b/src/soc/intel/tigerlake/chip.h index b63ff01fda..465dea279a 100644 --- a/src/soc/intel/tigerlake/chip.h +++ b/src/soc/intel/tigerlake/chip.h @@ -4,6 +4,7 @@ #define _SOC_CHIP_H_ #include +#include #include #include #include @@ -532,6 +533,9 @@ struct soc_intel_tigerlake_config { * */ bool external_bypass; + + /* i915 struct for GMA backlight control */ + struct i915_gpu_controller_info gfx; }; typedef struct soc_intel_tigerlake_config config_t; diff --git a/src/soc/intel/tigerlake/graphics.c b/src/soc/intel/tigerlake/graphics.c new file mode 100644 index 0000000000..1696d52053 --- /dev/null +++ b/src/soc/intel/tigerlake/graphics.c @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include +#include + +const struct i915_gpu_controller_info * +intel_igd_get_controller_info(const struct device *const dev) +{ + const struct soc_intel_tigerlake_config *const chip = dev->chip_info; + return &chip->gfx; +} -- cgit v1.2.3