Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Wim Vervoorn: Looks good to me, but someone else must approve Angel Pons: Looks good to me, approved Benjamin Doron: Looks good to me, but someone else must approve
drivers/intel/gma/acpi: Add Kconfigs for backlight registers

Instead of adding more versions of the `*pch.asl`, unify the existing
ones and allow to override the register locations via Kconfig. The
current defaults should work for Skylake and some newer platforms.

TEST=Booted ThinkPad X201s, backlight control still works.

Change-Id: I0b21d9a0288f0f8d6cb0a4776909bffdae7576f5
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31503
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com>
---
M src/drivers/intel/gma/Kconfig
R src/drivers/intel/gma/acpi/gma.asl
D src/drivers/intel/gma/acpi/pch.asl
M src/northbridge/intel/gm45/Kconfig
M src/northbridge/intel/gm45/acpi/gm45.asl
M src/northbridge/intel/haswell/Kconfig
M src/northbridge/intel/haswell/acpi/haswell.asl
M src/northbridge/intel/ironlake/Kconfig
M src/northbridge/intel/ironlake/acpi/ironlake.asl
M src/northbridge/intel/sandybridge/Kconfig
M src/northbridge/intel/sandybridge/acpi/sandybridge.asl
M src/northbridge/intel/x4x/acpi/x4x.asl
12 files changed, 40 insertions(+), 38 deletions(-)

diff --git a/src/drivers/intel/gma/Kconfig b/src/drivers/intel/gma/Kconfig
index 68d4edc..acc25fe 100644
--- a/src/drivers/intel/gma/Kconfig
+++ b/src/drivers/intel/gma/Kconfig
@@ -29,6 +29,22 @@
bool
default n

+config INTEL_GMA_BCLV_OFFSET
+ hex
+ default 0xc8254
+
+config INTEL_GMA_BCLV_WIDTH
+ int
+ default 16
+
+config INTEL_GMA_BCLM_OFFSET
+ hex
+ default 0xc8256
+
+config INTEL_GMA_BCLM_WIDTH
+ int
+ default 16
+
config INTEL_GMA_SSC_ALTERNATE_REF
bool
default n
diff --git a/src/drivers/intel/gma/acpi/non-pch.asl b/src/drivers/intel/gma/acpi/gma.asl
similarity index 76%
rename from src/drivers/intel/gma/acpi/non-pch.asl
rename to src/drivers/intel/gma/acpi/gma.asl
index b656d48..57563933 100644
--- a/src/drivers/intel/gma/acpi/non-pch.asl
+++ b/src/drivers/intel/gma/acpi/gma.asl
@@ -19,9 +19,10 @@
OperationRegion (GFRG, SystemMemory, And (BAR0, 0xfffffffffffffff0), 0x400000)
Field (GFRG, DWordAcc, NoLock, Preserve)
{
- Offset (0x61254),
- BCLV, 16,
- BCLM, 16,
+ Offset (CONFIG_INTEL_GMA_BCLV_OFFSET),
+ BCLV, CONFIG_INTEL_GMA_BCLV_WIDTH,
+ Offset (CONFIG_INTEL_GMA_BCLM_OFFSET),
+ BCLM, CONFIG_INTEL_GMA_BCLM_WIDTH
}

#include "configure_brightness_levels.asl"
diff --git a/src/drivers/intel/gma/acpi/pch.asl b/src/drivers/intel/gma/acpi/pch.asl
deleted file mode 100644
index 942ccf4..0000000
--- a/src/drivers/intel/gma/acpi/pch.asl
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/* This file is part of the coreboot project. */
-
-Device (GFX0)
-{
- Name (_ADR, 0x00020000)
-
- OperationRegion (GFXC, PCI_Config, 0x00, 0x0100)
- Field (GFXC, DWordAcc, NoLock, Preserve)
- {
- Offset (0x10),
- BAR0, 64,
- Offset (0xe4),
- ASLE, 32,
- Offset (0xfc),
- ASLS, 32,
- }
-
- OperationRegion (GFRG, SystemMemory, And (BAR0, 0xfffffffffffffff0), 0x400000)
- Field (GFRG, DWordAcc, NoLock, Preserve)
- {
- Offset (0x48254),
- BCLV, 16,
- Offset (0xc8256),
- BCLM, 16
- }
-
-#include "configure_brightness_levels.asl"
-#include "common.asl"
-}
diff --git a/src/northbridge/intel/gm45/Kconfig b/src/northbridge/intel/gm45/Kconfig
index 752af43..8857bd4 100644
--- a/src/northbridge/intel/gm45/Kconfig
+++ b/src/northbridge/intel/gm45/Kconfig
@@ -46,4 +46,10 @@
hex
default 0x100000

+config INTEL_GMA_BCLV_OFFSET
+ default 0x61254
+
+config INTEL_GMA_BCLM_OFFSET
+ default 0x61256
+
endif
diff --git a/src/northbridge/intel/gm45/acpi/gm45.asl b/src/northbridge/intel/gm45/acpi/gm45.asl
index 3a7e464..8a30212 100644
--- a/src/northbridge/intel/gm45/acpi/gm45.asl
+++ b/src/northbridge/intel/gm45/acpi/gm45.asl
@@ -75,4 +75,4 @@
#include "peg.asl"

// Integrated graphics 0:2.0
-#include <drivers/intel/gma/acpi/non-pch.asl>
+#include <drivers/intel/gma/acpi/gma.asl>
diff --git a/src/northbridge/intel/haswell/Kconfig b/src/northbridge/intel/haswell/Kconfig
index 5e631cf..06ce371 100644
--- a/src/northbridge/intel/haswell/Kconfig
+++ b/src/northbridge/intel/haswell/Kconfig
@@ -107,4 +107,7 @@
depends on VBOOT
default "mrc.bin"

+config INTEL_GMA_BCLV_OFFSET
+ default 0x48254
+
endif
diff --git a/src/northbridge/intel/haswell/acpi/haswell.asl b/src/northbridge/intel/haswell/acpi/haswell.asl
index c0de853..900c6c3 100644
--- a/src/northbridge/intel/haswell/acpi/haswell.asl
+++ b/src/northbridge/intel/haswell/acpi/haswell.asl
@@ -48,4 +48,4 @@
}

// Integrated graphics 0:2.0
-#include <drivers/intel/gma/acpi/pch.asl>
+#include <drivers/intel/gma/acpi/gma.asl>
diff --git a/src/northbridge/intel/ironlake/Kconfig b/src/northbridge/intel/ironlake/Kconfig
index 638f295..9d93796 100644
--- a/src/northbridge/intel/ironlake/Kconfig
+++ b/src/northbridge/intel/ironlake/Kconfig
@@ -61,4 +61,7 @@
hex
default 0xe0000000

+config INTEL_GMA_BCLV_OFFSET
+ default 0x48254
+
endif
diff --git a/src/northbridge/intel/ironlake/acpi/ironlake.asl b/src/northbridge/intel/ironlake/acpi/ironlake.asl
index 52fec1e..2997dea 100644
--- a/src/northbridge/intel/ironlake/acpi/ironlake.asl
+++ b/src/northbridge/intel/ironlake/acpi/ironlake.asl
@@ -51,4 +51,4 @@
}

// Integrated graphics 0:2.0
-#include <drivers/intel/gma/acpi/pch.asl>
+#include <drivers/intel/gma/acpi/gma.asl>
diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig
index a9bbf58..29a6db7 100644
--- a/src/northbridge/intel/sandybridge/Kconfig
+++ b/src/northbridge/intel/sandybridge/Kconfig
@@ -121,4 +121,7 @@

endif # !USE_NATIVE_RAMINIT

+config INTEL_GMA_BCLV_OFFSET
+ default 0x48254
+
endif
diff --git a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
index 555058c..202671a 100644
--- a/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
+++ b/src/northbridge/intel/sandybridge/acpi/sandybridge.asl
@@ -55,4 +55,4 @@
}

// Integrated graphics 0:2.0
-#include <drivers/intel/gma/acpi/pch.asl>
+#include <drivers/intel/gma/acpi/gma.asl>
diff --git a/src/northbridge/intel/x4x/acpi/x4x.asl b/src/northbridge/intel/x4x/acpi/x4x.asl
index 5f93b3e..09849e3 100644
--- a/src/northbridge/intel/x4x/acpi/x4x.asl
+++ b/src/northbridge/intel/x4x/acpi/x4x.asl
@@ -45,4 +45,4 @@
#include "peg.asl"

// Integrated graphics 0:2.0
-#include <drivers/intel/gma/acpi/non-pch.asl>
+#include <drivers/intel/gma/acpi/gma.asl>

To view, visit change 31503. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0b21d9a0288f0f8d6cb0a4776909bffdae7576f5
Gerrit-Change-Number: 31503
Gerrit-PatchSet: 8
Gerrit-Owner: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Benjamin Doron <benjamin.doron00@gmail.com>
Gerrit-Reviewer: Damien Zammit
Gerrit-Reviewer: Matt DeVillier <matt.devillier@gmail.com>
Gerrit-Reviewer: Nico Huber <nico.h@gmx.de>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: Patrick Rudolph <siro@das-labor.org>
Gerrit-Reviewer: Thomas Heijligen <src@posteo.de>
Gerrit-Reviewer: Wim Vervoorn <wvervoorn@eltan.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-CC: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-MessageType: merged