diff options
author | Tim Crawford <tcrawford@system76.com> | 2022-11-01 11:42:28 -0600 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2022-11-03 12:58:26 +0000 |
commit | c6529c7c0aadf200f187078244fbeea13ed5303a (patch) | |
tree | 2dd35e249f511f57d6571e7c3572c1fc0267b4de | |
parent | 8541325f38c754299664b9f9320a29ee8394bb04 (diff) |
soc/intel/alderlake: 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/lemp11. Backlight controls
work on Windows 10 and Linux 6.1.
Change-Id: I1cc33bf0121ff44aea68a7e3615c5e58e2ab6ce2
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69076
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
-rw-r--r-- | src/soc/intel/alderlake/Kconfig | 12 | ||||
-rw-r--r-- | src/soc/intel/alderlake/Makefile.inc | 1 | ||||
-rw-r--r-- | src/soc/intel/alderlake/chip.h | 4 | ||||
-rw-r--r-- | src/soc/intel/alderlake/graphics.c | 11 |
4 files changed, 28 insertions, 0 deletions
diff --git a/src/soc/intel/alderlake/Kconfig b/src/soc/intel/alderlake/Kconfig index cbc02e75e5..08d4132f61 100644 --- a/src/soc/intel/alderlake/Kconfig +++ b/src/soc/intel/alderlake/Kconfig @@ -484,4 +484,16 @@ config BUILDING_WITH_DEBUG_FSP help Set this option if debug build of FSP is used. +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/alderlake/Makefile.inc b/src/soc/intel/alderlake/Makefile.inc index a4c6336449..7f808ffa6e 100644 --- a/src/soc/intel/alderlake/Makefile.inc +++ b/src/soc/intel/alderlake/Makefile.inc @@ -32,6 +32,7 @@ ramstage-y += elog.c ramstage-y += espi.c ramstage-y += finalize.c ramstage-y += fsp_params.c +ramstage-y += graphics.c ramstage-y += hsphy.c ramstage-y += lockdown.c ramstage-y += me.c diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h index a1a8fb3922..46721b0b84 100644 --- a/src/soc/intel/alderlake/chip.h +++ b/src/soc/intel/alderlake/chip.h @@ -4,6 +4,7 @@ #define _SOC_CHIP_H_ #include <drivers/i2c/designware/dw_i2c.h> +#include <drivers/intel/gma/gma.h> #include <device/pci_ids.h> #include <intelblocks/cfg.h> #include <intelblocks/gpio.h> @@ -647,6 +648,9 @@ struct soc_intel_alderlake_config { * Default is set to 0 and set to 1 to skip the MBP HOB. */ bool skip_mbp_hob; + + /* i915 struct for GMA backlight control */ + struct i915_gpu_controller_info gfx; }; typedef struct soc_intel_alderlake_config config_t; diff --git a/src/soc/intel/alderlake/graphics.c b/src/soc/intel/alderlake/graphics.c new file mode 100644 index 0000000000..f2c792c0d8 --- /dev/null +++ b/src/soc/intel/alderlake/graphics.c @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include <intelblocks/graphics.h> +#include <soc/ramstage.h> + +const struct i915_gpu_controller_info * +intel_igd_get_controller_info(const struct device *const dev) +{ + const struct soc_intel_alderlake_config *const chip = dev->chip_info; + return &chip->gfx; +} |