ec/google/chromeec: move TBMC ACPI device under CREC

Tablet motion control is a function of the EC, and under Windows, the
TBMC device needs to be initialized after CREC, or driver init will
fail. The only way to ensure this happens is for TBMC to be a child
device under CREC.

TEST=build/boot Win11, Linux on google/eve, verify tablet mode drivers
loaded and orientation switching functional under both OSes.

Change-Id: I5e9eab9ae277b5a04dc2666960a727e5680bf6f4
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76792
Reviewed-by: CoolStar <coolstarorganization@gmail.com>
Reviewed-by: Caveh Jalali <caveh@chromium.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Matt DeVillier 2022-10-18 17:53:08 -05:00 committed by Felix Held
parent 6ba83484e6
commit 3f0de3d3ea
3 changed files with 8 additions and 7 deletions

View File

@ -51,6 +51,11 @@ Device (CREC)
#ifdef EC_ENABLE_PD_MCU_DEVICE
#include "pd.asl"
#endif
#ifdef EC_ENABLE_TBMC_DEVICE
#include "tbmc.asl"
#endif
Method(_STA, 0)
{
Return (0xF)

View File

@ -457,7 +457,7 @@ Device (EC0)
\_SB.DPTF.TPET()
#endif
#ifdef EC_ENABLE_TBMC_DEVICE
Notify (TBMC, 0x80)
Notify (^CREC.TBMC, 0x80)
#endif
#if CONFIG(SOC_AMD_COMMON_BLOCK_ACPI_DPTC)
If (CondRefOf (\_SB.DPTC)) {
@ -660,8 +660,4 @@ Device (EC0)
#ifdef EC_ENABLE_KEYBOARD_BACKLIGHT
#include "keyboard_backlight.asl"
#endif
#ifdef EC_ENABLE_TBMC_DEVICE
#include "tbmc.asl"
#endif
}

View File

@ -7,7 +7,7 @@ Device (TBMC)
Name (_DDN, "Tablet Motion Control")
Method (TBMC)
{
If (^^RCTM == 1) {
If (RCTM == 1) {
Return (0x1)
} Else {
Return (0x0)
@ -15,7 +15,7 @@ Device (TBMC)
}
Method(_STA, 0)
{
If (^^MTNS == 1) {
If (MTNS == 1) {
Return (0xF)
} Else {
Return (0x0)