From 686218b85c81c7f91d28967108b4aeb2e2f3b51c Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Mon, 22 May 2023 08:42:40 -0600 Subject: [PATCH] {ec,mb}/system76: Replace color keyboard logic The EC now detects if the keyboard is white or RGB backlit via `RGBKB-DET#`. Remove the Kconfig for the selection and update the ACPI methods for the new functionality. Change-Id: I263ede51a4184769659082a2c60d9556b5328670 Signed-off-by: Tim Crawford --- src/ec/system76/ec/Kconfig | 5 -- src/ec/system76/ec/acpi/s76.asl | 70 +++++++++++++++------------ src/mainboard/system76/addw1/Kconfig | 1 - src/mainboard/system76/adl/Kconfig | 5 -- src/mainboard/system76/bonw14/Kconfig | 1 - src/mainboard/system76/cml-u/Kconfig | 1 - src/mainboard/system76/gaze15/Kconfig | 1 - src/mainboard/system76/oryp5/Kconfig | 1 - src/mainboard/system76/oryp6/Kconfig | 1 - src/mainboard/system76/rpl/Kconfig | 6 --- src/mainboard/system76/tgl-h/Kconfig | 1 - src/mainboard/system76/tgl-u/Kconfig | 1 - src/mainboard/system76/whl-u/Kconfig | 1 - 13 files changed, 39 insertions(+), 56 deletions(-) diff --git a/src/ec/system76/ec/Kconfig b/src/ec/system76/ec/Kconfig index 9b05d798e8..efcb1dfb33 100644 --- a/src/ec/system76/ec/Kconfig +++ b/src/ec/system76/ec/Kconfig @@ -8,11 +8,6 @@ config EC_SYSTEM76_EC_BAT_THRESHOLDS bool default y -config EC_SYSTEM76_EC_COLOR_KEYBOARD - depends on EC_SYSTEM76_EC - bool - default n - config EC_SYSTEM76_EC_DGPU depends on EC_SYSTEM76_EC bool diff --git a/src/ec/system76/ec/acpi/s76.asl b/src/ec/system76/ec/acpi/s76.asl index cf9889ee94..329c5d3246 100644 --- a/src/ec/system76/ec/acpi/s76.asl +++ b/src/ec/system76/ec/acpi/s76.asl @@ -16,10 +16,8 @@ Device (S76D) { Method (RSET, 0, Serialized) { Printf ("S76D: RSET") SAPL(0) - SKBL(0) -#if CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD) - SKBC(0xFFFFFF) -#endif // CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD) + SKBB(0) + SKBC(0xFFFFFF) } Method (INIT, 0, Serialized) { @@ -67,53 +65,63 @@ Device (S76D) { } } -#if CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD) - // Set KB LED Brightness - Method (SKBL, 1, Serialized) { + // Get Keyboard Backlight Kind + // 0 - No backlight + // 1 - White backlight + // 2 - RGB backlight + Method (GKBK, 0, Serialized) { + Local0 = 0 If (^^PCI0.LPCB.EC0.ECOK) { - ^^PCI0.LPCB.EC0.FDAT = 6 - ^^PCI0.LPCB.EC0.FBUF = Arg0 - ^^PCI0.LPCB.EC0.FBF1 = 0 - ^^PCI0.LPCB.EC0.FBF2 = Arg0 + ^^PCI0.LPCB.EC0.FDAT = 2 ^^PCI0.LPCB.EC0.FCMD = 0xCA + Local0 = ^^PCI0.LPCB.EC0.FBUF } + Return (Local0) } - // Set Keyboard Color - Method (SKBC, 1, Serialized) { - If (^^PCI0.LPCB.EC0.ECOK) { - ^^PCI0.LPCB.EC0.FDAT = 0x3 - ^^PCI0.LPCB.EC0.FBUF = (Arg0 & 0xFF) - ^^PCI0.LPCB.EC0.FBF1 = ((Arg0 >> 16) & 0xFF) - ^^PCI0.LPCB.EC0.FBF2 = ((Arg0 >> 8) & 0xFF) - ^^PCI0.LPCB.EC0.FCMD = 0xCA - Return (Arg0) - } Else { - Return (0) - } - } -#else // CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD) - // Get KB LED - Method (GKBL, 0, Serialized) { + // Get Keyboard Brightness + Method (GKBB, 0, Serialized) { Local0 = 0 If (^^PCI0.LPCB.EC0.ECOK) { ^^PCI0.LPCB.EC0.FDAT = 1 ^^PCI0.LPCB.EC0.FCMD = 0xCA Local0 = ^^PCI0.LPCB.EC0.FBUF - ^^PCI0.LPCB.EC0.FCMD = 0 } Return (Local0) } - // Set KB Led - Method (SKBL, 1, Serialized) { + // Set Keyboard Brightness + Method (SKBB, 1, Serialized) { If (^^PCI0.LPCB.EC0.ECOK) { ^^PCI0.LPCB.EC0.FDAT = 0 ^^PCI0.LPCB.EC0.FBUF = Arg0 ^^PCI0.LPCB.EC0.FCMD = 0xCA } } -#endif // CONFIG(EC_SYSTEM76_EC_COLOR_KEYBOARD) + + // Get Keyboard Color + Method (GKBC, 0, Serialized) { + Local0 = 0 + If (^^PCI0.LPCB.EC0.ECOK) { + ^^PCI0.LPCB.EC0.FDAT = 4 + ^^PCI0.LPCB.EC0.FCMD = 0xCA + Local0 = ^^PCI0.LPCB.EC0.FBUF + Local0 |= (^^PCI0.LPCB.EC0.FBF1) << 16 + Local0 |= (^^PCI0.LPCB.EC0.FBF2) << 8 + } + Return (Local0) + } + + // Set Keyboard Color + Method (SKBC, 1, Serialized) { + If (^^PCI0.LPCB.EC0.ECOK) { + ^^PCI0.LPCB.EC0.FDAT = 3 + ^^PCI0.LPCB.EC0.FBUF = (Arg0 & 0xFF) + ^^PCI0.LPCB.EC0.FBF1 = ((Arg0 >> 16) & 0xFF) + ^^PCI0.LPCB.EC0.FBF2 = ((Arg0 >> 8) & 0xFF) + ^^PCI0.LPCB.EC0.FCMD = 0xCA + } + } // Fan names Method (NFAN, 0, Serialized) { diff --git a/src/mainboard/system76/addw1/Kconfig b/src/mainboard/system76/addw1/Kconfig index af11828d2c..9338596fa8 100644 --- a/src/mainboard/system76/addw1/Kconfig +++ b/src/mainboard/system76/addw1/Kconfig @@ -7,7 +7,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select EC_SYSTEM76_EC_OLED select HAVE_ACPI_RESUME diff --git a/src/mainboard/system76/adl/Kconfig b/src/mainboard/system76/adl/Kconfig index 42f6fc7c8c..9b3d39bc2a 100644 --- a/src/mainboard/system76/adl/Kconfig +++ b/src/mainboard/system76/adl/Kconfig @@ -25,7 +25,6 @@ config BOARD_SYSTEM76_ADL_COMMON config BOARD_SYSTEM76_DARP8 select BOARD_SYSTEM76_ADL_COMMON - select EC_SYSTEM76_EC_COLOR_KEYBOARD config BOARD_SYSTEM76_GALP6 select BOARD_SYSTEM76_ADL_COMMON @@ -33,7 +32,6 @@ config BOARD_SYSTEM76_GALP6 config BOARD_SYSTEM76_GAZE17_3050 select BOARD_SYSTEM76_ADL_COMMON select DRIVERS_GFX_NVIDIA - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select PCIEXP_HOTPLUG select PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G @@ -42,7 +40,6 @@ config BOARD_SYSTEM76_GAZE17_3050 config BOARD_SYSTEM76_GAZE17_3060_B select BOARD_SYSTEM76_ADL_COMMON select DRIVERS_GFX_NVIDIA - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select MAINBOARD_USES_IFD_GBE_REGION select PCIEXP_HOTPLUG @@ -57,13 +54,11 @@ config BOARD_SYSTEM76_ORYP9 select BOARD_SYSTEM76_ADL_COMMON select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_TAS5825M - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU config BOARD_SYSTEM76_ORYP10 select BOARD_SYSTEM76_ADL_COMMON select DRIVERS_GFX_NVIDIA - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU if BOARD_SYSTEM76_ADL_COMMON diff --git a/src/mainboard/system76/bonw14/Kconfig b/src/mainboard/system76/bonw14/Kconfig index 0fb782ae1e..32ece8c14c 100644 --- a/src/mainboard/system76/bonw14/Kconfig +++ b/src/mainboard/system76/bonw14/Kconfig @@ -6,7 +6,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/system76/cml-u/Kconfig b/src/mainboard/system76/cml-u/Kconfig index fa6c9bf6bd..c19736b3ef 100644 --- a/src/mainboard/system76/cml-u/Kconfig +++ b/src/mainboard/system76/cml-u/Kconfig @@ -5,7 +5,6 @@ config BOARD_SPECIFIC_OPTIONS select BOARD_ROMSIZE_KB_16384 select DRIVERS_I2C_HID select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD if BOARD_SYSTEM76_DARP6 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES select HAVE_CMOS_DEFAULT diff --git a/src/mainboard/system76/gaze15/Kconfig b/src/mainboard/system76/gaze15/Kconfig index 8568562ead..0420d48dd1 100644 --- a/src/mainboard/system76/gaze15/Kconfig +++ b/src/mainboard/system76/gaze15/Kconfig @@ -6,7 +6,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/system76/oryp5/Kconfig b/src/mainboard/system76/oryp5/Kconfig index 0f93089bf5..0517142d6c 100644 --- a/src/mainboard/system76/oryp5/Kconfig +++ b/src/mainboard/system76/oryp5/Kconfig @@ -7,7 +7,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/system76/oryp6/Kconfig b/src/mainboard/system76/oryp6/Kconfig index 7e89733c85..ce69b62822 100644 --- a/src/mainboard/system76/oryp6/Kconfig +++ b/src/mainboard/system76/oryp6/Kconfig @@ -7,7 +7,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/system76/rpl/Kconfig b/src/mainboard/system76/rpl/Kconfig index 029e1d9e09..86defcf42e 100644 --- a/src/mainboard/system76/rpl/Kconfig +++ b/src/mainboard/system76/rpl/Kconfig @@ -26,7 +26,6 @@ config BOARD_SYSTEM76_ADDW3 select DRIVERS_GFX_NVIDIA select DRIVERS_GFX_NVIDIA_DYNAMIC_BOOST select DRIVERS_INTEL_DTBT - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select MAINBOARD_USES_IFD_GBE_REGION select PCIEXP_HOTPLUG @@ -37,14 +36,12 @@ config BOARD_SYSTEM76_BONW15 select DRIVERS_GFX_NVIDIA select DRIVERS_GFX_NVIDIA_DYNAMIC_BOOST select DRIVERS_INTEL_DTBT - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select PCIEXP_HOTPLUG select SOC_INTEL_ALDERLAKE_PCH_S config BOARD_SYSTEM76_DARP9 select BOARD_SYSTEM76_RPL_COMMON - select EC_SYSTEM76_EC_COLOR_KEYBOARD select PCIEXP_HOTPLUG select SOC_INTEL_ALDERLAKE_PCH_P @@ -57,7 +54,6 @@ config BOARD_SYSTEM76_GAZE18 select BOARD_SYSTEM76_RPL_COMMON select DRIVERS_GFX_NVIDIA select DRIVERS_GFX_NVIDIA_DYNAMIC_BOOST - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select SOC_INTEL_ALDERLAKE_PCH_P select TPM_RDRESP_NEED_DELAY @@ -73,7 +69,6 @@ config BOARD_SYSTEM76_ORYP11 select BOARD_SYSTEM76_RPL_COMMON select DRIVERS_GFX_NVIDIA select DRIVERS_GFX_NVIDIA_DYNAMIC_BOOST - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select SOC_INTEL_ALDERLAKE_PCH_P select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES @@ -83,7 +78,6 @@ config BOARD_SYSTEM76_SERW13 select DRIVERS_GFX_NVIDIA select DRIVERS_GFX_NVIDIA_DYNAMIC_BOOST select DRIVERS_INTEL_DTBT - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select PCIEXP_HOTPLUG select SOC_INTEL_ALDERLAKE_PCH_S diff --git a/src/mainboard/system76/tgl-h/Kconfig b/src/mainboard/system76/tgl-h/Kconfig index 7147c1c063..8ce6d422cd 100644 --- a/src/mainboard/system76/tgl-h/Kconfig +++ b/src/mainboard/system76/tgl-h/Kconfig @@ -7,7 +7,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M if BOARD_SYSTEM76_ORYP8 select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD select EC_SYSTEM76_EC_DGPU select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_RESUME diff --git a/src/mainboard/system76/tgl-u/Kconfig b/src/mainboard/system76/tgl-u/Kconfig index 81300f604e..04072aa2b8 100644 --- a/src/mainboard/system76/tgl-u/Kconfig +++ b/src/mainboard/system76/tgl-u/Kconfig @@ -8,7 +8,6 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_INTEL_PMC select DRIVERS_INTEL_USB4_RETIMER select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD if BOARD_SYSTEM76_DARP7 select EC_SYSTEM76_EC_DGPU if BOARD_SYSTEM76_GALP5 select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_TABLES diff --git a/src/mainboard/system76/whl-u/Kconfig b/src/mainboard/system76/whl-u/Kconfig index f6bebe63c2..03472b42d2 100644 --- a/src/mainboard/system76/whl-u/Kconfig +++ b/src/mainboard/system76/whl-u/Kconfig @@ -5,7 +5,6 @@ config BOARD_SPECIFIC_OPTIONS select BOARD_ROMSIZE_KB_16384 select DRIVERS_I2C_HID select EC_SYSTEM76_EC - select EC_SYSTEM76_EC_COLOR_KEYBOARD if BOARD_SYSTEM76_DARP5 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES select HAVE_CMOS_DEFAULT