soc/intel/apollolake: Hook up GMA ACPI brightness controls
Add struct i915_gpu_controller_info for boards to supply info needed to generate ACPI backlight control SSDT. Hook into soc/common framework by implementing intel_igd_get_controller_info(). Add Kconfig entries to set the correct register offsets for backlight frequency and duty cycle. Change-Id: Ia62a88b58e7efd90f550000fc5b2cef0cb5fade7 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/40593 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-by: Nico Huber <nico.h@gmx.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
95a181e432
commit
d7ef450d88
|
@ -413,4 +413,22 @@ config RO_REGION_ONLY
|
||||||
string
|
string
|
||||||
default "pdpt pt"
|
default "pdpt pt"
|
||||||
|
|
||||||
|
config INTEL_GMA_PANEL_2
|
||||||
|
bool
|
||||||
|
default n
|
||||||
|
|
||||||
|
config INTEL_GMA_BCLV_OFFSET
|
||||||
|
default 0xc8358 if INTEL_GMA_PANEL_2
|
||||||
|
default 0xc8258
|
||||||
|
|
||||||
|
config INTEL_GMA_BCLV_WIDTH
|
||||||
|
default 32
|
||||||
|
|
||||||
|
config INTEL_GMA_BCLM_OFFSET
|
||||||
|
default 0xc8354 if INTEL_GMA_PANEL_2
|
||||||
|
default 0xc8254
|
||||||
|
|
||||||
|
config INTEL_GMA_BCLM_WIDTH
|
||||||
|
default 32
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -41,6 +41,9 @@ struct soc_intel_apollolake_config {
|
||||||
*/
|
*/
|
||||||
struct i915_gpu_panel_config panel_cfg[2];
|
struct i915_gpu_panel_config panel_cfg[2];
|
||||||
|
|
||||||
|
/* i915 struct for GMA backlight control */
|
||||||
|
struct i915_gpu_controller_info gfx;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mapping from PCIe root port to CLKREQ input on the SOC. The SOC has
|
* Mapping from PCIe root port to CLKREQ input on the SOC. The SOC has
|
||||||
* four CLKREQ inputs, but six root ports. Root ports without an
|
* four CLKREQ inputs, but six root ports. Root ports without an
|
||||||
|
|
|
@ -74,3 +74,10 @@ void graphics_soc_panel_init(struct device *const dev)
|
||||||
for (i = 0; i < ARRAY_SIZE(conf->panel_cfg); ++i)
|
for (i = 0; i < ARRAY_SIZE(conf->panel_cfg); ++i)
|
||||||
graphics_configure_backlight(&conf->panel_cfg[i], mmio, i);
|
graphics_configure_backlight(&conf->panel_cfg[i], mmio, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const struct i915_gpu_controller_info *
|
||||||
|
intel_igd_get_controller_info(const struct device *device)
|
||||||
|
{
|
||||||
|
struct soc_intel_apollolake_config *chip = device->chip_info;
|
||||||
|
return &chip->gfx;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue