summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2018-01-28 18:42:10 -0600
committerMatt DeVillier <matt.devillier@gmail.com>2020-04-02 20:45:11 +0000
commitc72f5f74a890ddd20e7849fce7d693a1fdd6da66 (patch)
tree1f0781fc9c8516d8676a2cc6482b75b2568ddb5b /src
parenta372f8ae866be5a54f73178a5a1a87daeda378af (diff)
downloadcoreboot-c72f5f74a890ddd20e7849fce7d693a1fdd6da66.tar.xz
soc/intel/baytrail: add ACPI backlight support
Add hook to generate ACPI methods in SSDT for screen backlight control. To make use of this, individual boards will need to include default_brightness_levels.asl in their dsdt, as well as add 'register "gfx" = "GMA_STATIC_DISPLAYS(0)"' to their devicetree. Change-Id: I0b7fc45bda3aaf89306bedb579fb1e9f8ce07926 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39942 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/baytrail/chip.h3
-rw-r--r--src/soc/intel/baytrail/gfx.c8
2 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/baytrail/chip.h b/src/soc/intel/baytrail/chip.h
index 0fa7eafe87..52b1e33851 100644
--- a/src/soc/intel/baytrail/chip.h
+++ b/src/soc/intel/baytrail/chip.h
@@ -18,6 +18,7 @@
#ifndef _BAYTRAIL_CHIP_H_
#define _BAYTRAIL_CHIP_H_
+#include <drivers/intel/gma/i915.h>
#include <stdint.h>
struct soc_intel_baytrail_config {
@@ -84,6 +85,8 @@ struct soc_intel_baytrail_config {
uint16_t gpu_pipeb_power_cycle_delay;
int gpu_pipeb_pwm_freq_hz;
int disable_ddr_2x_refresh_rate;
+
+ struct i915_gpu_controller_info gfx;
};
#endif /* _BAYTRAIL_CHIP_H_ */
diff --git a/src/soc/intel/baytrail/gfx.c b/src/soc/intel/baytrail/gfx.c
index 417f36e907..e4ed6f37d5 100644
--- a/src/soc/intel/baytrail/gfx.c
+++ b/src/soc/intel/baytrail/gfx.c
@@ -397,6 +397,13 @@ static void gfx_init(struct device *dev)
intel_gma_restore_opregion();
}
+static void gma_generate_ssdt(struct device *dev)
+{
+ const struct soc_intel_baytrail_config *chip = dev->chip_info;
+
+ drivers_intel_gma_displays_ssdt_generate(&chip->gfx);
+}
+
static unsigned long
gma_write_acpi_tables(struct device *const dev,
unsigned long current,
@@ -430,6 +437,7 @@ static struct device_operations gfx_device_ops = {
.init = gfx_init,
.ops_pci = &soc_pci_ops,
.write_acpi_tables = gma_write_acpi_tables,
+ .acpi_fill_ssdt = gma_generate_ssdt,
};
static const struct pci_driver gfx_driver __pci_driver = {