ec/lenovo/h8: Fix mute LEDs
thinkpad_acpi expects a SSMS method to turn on/off the mute LED and a MMTS method to turn on/off the microphone mute LED. With these methods implemented the driver can correctly sync the LEDs with the corresponding statuses. There seems to be two different bits to mute the audio in the Lenovo H8 EC: * AMUT, used internally (for example to disable the audio before entering S3). * ALMT, controllable by the OS, which also toggles the mute LED (if present). Tested on a X220T and on a X201. Change-Id: I578f95f9619a53fd35f8a8bfe5564aeb6c789212 Signed-off-by: Nicola Corna <nicola@corna.info> Reviewed-on: https://review.coreboot.org/18329 Reviewed-by: Alexander Couzens <lynxis@fe80.eu> Tested-by: build bot (Jenkins)
This commit is contained in:
parent
435d307415
commit
068edc1c52
@ -39,8 +39,11 @@ Device(EC)
|
|||||||
DKR2, 1, /* Dock register 2 */
|
DKR2, 1, /* Dock register 2 */
|
||||||
Offset (0x2a),
|
Offset (0x2a),
|
||||||
EVNT, 8, /* write will trigger EC event */
|
EVNT, 8, /* write will trigger EC event */
|
||||||
|
Offset (0x30),
|
||||||
|
, 6,
|
||||||
|
ALMT, 1, /* Audio Mute + LED */
|
||||||
Offset (0x3a),
|
Offset (0x3a),
|
||||||
AMUT, 1, /* Audio Mute */
|
AMUT, 1, /* Audio Mute (internal use) */
|
||||||
, 3,
|
, 3,
|
||||||
BTEB, 1,
|
BTEB, 1,
|
||||||
WLEB, 1,
|
WLEB, 1,
|
||||||
@ -362,6 +365,23 @@ Device(EC)
|
|||||||
{
|
{
|
||||||
Return (TBSW << 3)
|
Return (TBSW << 3)
|
||||||
}
|
}
|
||||||
|
/* Mute audio */
|
||||||
|
Method (SSMS, 1, NotSerialized)
|
||||||
|
{
|
||||||
|
Store(Arg0, ALMT)
|
||||||
|
}
|
||||||
|
/* Control mute microphone LED */
|
||||||
|
Method (MMTS, 1, NotSerialized)
|
||||||
|
{
|
||||||
|
If (Arg0)
|
||||||
|
{
|
||||||
|
TLED(0x8E)
|
||||||
|
}
|
||||||
|
Else
|
||||||
|
{
|
||||||
|
TLED(0x0E)
|
||||||
|
}
|
||||||
|
}
|
||||||
/* Version */
|
/* Version */
|
||||||
Method (MHKV, 0, NotSerialized)
|
Method (MHKV, 0, NotSerialized)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user