diff options
Diffstat (limited to 'src/ec/lenovo/h8/acpi')
-rw-r--r-- | src/ec/lenovo/h8/acpi/ec.asl | 3 | ||||
-rw-r--r-- | src/ec/lenovo/h8/acpi/thinkpad.asl | 32 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl index 17afba2dec..8a1b9c4343 100644 --- a/src/ec/lenovo/h8/acpi/ec.asl +++ b/src/ec/lenovo/h8/acpi/ec.asl @@ -46,6 +46,9 @@ Device(EC) Offset (0x30), , 6, ALMT, 1, /* Audio Mute + LED */ + Offset (0x31), + , 2, + UWBE, 1, /* Ultra Wideband enable */ Offset (0x3a), AMUT, 1, /* Audio Mute (internal use) */ , 3, diff --git a/src/ec/lenovo/h8/acpi/thinkpad.asl b/src/ec/lenovo/h8/acpi/thinkpad.asl index a0812e5d48..e67bc8f65f 100644 --- a/src/ec/lenovo/h8/acpi/thinkpad.asl +++ b/src/ec/lenovo/h8/acpi/thinkpad.asl @@ -20,6 +20,7 @@ Device (HKEY) External (\HBDC, IntObj) External (\HWAN, IntObj) External (\HKBL, IntObj) + External (\HUWB, IntObj) Name (_HID, EisaId ("IBM0068")) @@ -259,4 +260,35 @@ Device (HKEY) Store (And(Arg0, 1), \_SB.PCI0.LPCB.EC.WWEB) } } + + /* + * Returns the current state: + * Bit 0: UWB HW present + * Bit 1: UWB radio enabled + */ + Method (GUWB, 0) + { + If (HUWB) { + Store (One, Local0) + If(\_SB.PCI0.LPCB.EC.UWBE) + { + Or(Local0, 2, Local0) + } + Return (Local0) + } Else { + Return (0) + } + } + + /* + * Set the current state: + * Bit 1: UWB radio enabled + */ + Method (SUWB, 1) + { + If (HUWB) { + ShiftRight (And(Arg0, 2), 1, Local0) + Store (Local0, \_SB.PCI0.LPCB.EC.UWBE) + } + } } |