Nicola Corna (nicola(a)corna.info) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18329
-gerrit
commit e59aec02b01baef82038c35ac8518c61e6f073f7
Author: Nicola Corna <nicola(a)corna.info>
Date: Sat Feb 11 14:52:24 2017 +0100
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(a)corna.info>
---
src/ec/lenovo/h8/acpi/ec.asl | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl
index 497dde4..b8350ad 100644
--- a/src/ec/lenovo/h8/acpi/ec.asl
+++ b/src/ec/lenovo/h8/acpi/ec.asl
@@ -39,8 +39,11 @@ Device(EC)
DKR2, 1, /* Dock register 2 */
Offset (0x2a),
EVNT, 8, /* write will trigger EC event */
+ Offset (0x30),
+ , 6,
+ ALMT, 1, /* Audio Mute + LED */
Offset (0x3a),
- AMUT, 1, /* Audio Mute */
+ AMUT, 1, /* Audio Mute (internal use) */
, 3,
BTEB, 1,
WLEB, 1,
@@ -362,6 +365,23 @@ Device(EC)
{
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 */
Method (MHKV, 0, NotSerialized)
{
Nicola Corna (nicola(a)corna.info) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18329
-gerrit
commit 1120053ef34cfd81015c5de5ace676f08e8f9657
Author: Nicola Corna <nicola(a)corna.info>
Date: Sat Feb 11 14:52:24 2017 +0100
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
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(a)corna.info>
---
src/ec/lenovo/h8/acpi/ec.asl | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl
index 497dde4..b8350ad 100644
--- a/src/ec/lenovo/h8/acpi/ec.asl
+++ b/src/ec/lenovo/h8/acpi/ec.asl
@@ -39,8 +39,11 @@ Device(EC)
DKR2, 1, /* Dock register 2 */
Offset (0x2a),
EVNT, 8, /* write will trigger EC event */
+ Offset (0x30),
+ , 6,
+ ALMT, 1, /* Audio Mute + LED */
Offset (0x3a),
- AMUT, 1, /* Audio Mute */
+ AMUT, 1, /* Audio Mute (internal use) */
, 3,
BTEB, 1,
WLEB, 1,
@@ -362,6 +365,23 @@ Device(EC)
{
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 */
Method (MHKV, 0, NotSerialized)
{
Iru Cai (mytbk920423(a)gmail.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18480
-gerrit
commit 0c9ba9f488c30bbebdb6240f2e949b5a2a525ada
Author: Iru Cai <mytbk920423(a)gmail.com>
Date: Fri Feb 24 15:35:55 2017 +0800
superiotool: add SMSC KBC1126
Device ID is read from HP Elitebook 2760p.
LDNs are from superio/smsc/kbc1100/kbc1100.h, and the register indices
come from the existing code in smsc.c. Keyboard and EC registers can
be seen from superio/sms/kbc1100/early_init.c. COM1 registers can be
seen from the DSDT dump of HP Elitebook 2760p running OEM firmware.
Change-Id: Id172ae42411a6d42a4ae7c7f30f96aeda3e6c384
Signed-off-by: Iru Cai <mytbk920423(a)gmail.com>
---
util/superiotool/smsc.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/util/superiotool/smsc.c b/util/superiotool/smsc.c
index 15ba131..1f30959 100644
--- a/util/superiotool/smsc.c
+++ b/util/superiotool/smsc.c
@@ -68,6 +68,26 @@ static const struct superio_registers reg_table[] = {
{0x03, "FDC37C93xFR", {
/* FIXME: There's another 0x03 but found on port 0x0d/0x0e! */
{EOT}}},
+ {0x07, "KBC1126", {
+ {0x1, "Power management (PM1)",
+ {0x30,0x60,0x61,EOT},
+ {0x00,0x00,0x00,EOT}},
+ {0x4, "COM1",
+ {0x30,0x60,0x61,0x70,0xf0,EOT},
+ {0x00,0x00,0x00,0x00,0x00,EOT}},
+ {0x7, "Keyboard",
+ {0x30,0x60,0x61,0x70,0x72,0xf0,EOT},
+ {0x00,0x00,0x00,0x00,0x00,0x00,EOT}},
+ {0x8, "Embedded controller (EC)",
+ {0x30,0x60,0x61,EOT},
+ {0x00,0x00,0x62,EOT}},
+ {0x9, "Mailbox",
+ {0x30,0x60,0x61,EOT},
+ {0x00,0x00,0x00,EOT}},
+ {0xa, "LPC/8051 addressable GPIO (LGPIO)",
+ {0x30,0x60,0x61,EOT},
+ {0x00,0x00,0x00,EOT}},
+ {EOT}}},
{0x0a, "FDC37N971", {
{NOLDN, NULL,
{0x02,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,
the following patch was just integrated into master:
commit cb69fbaa870a105d2585d2b76a82cf2a16b002b5
Author: Martin Roth <martinroth(a)google.com>
Date: Wed Feb 15 16:37:29 2017 -0700
src/arch/x86: Remove non-ascii characters
Change-Id: Ie0d35c693ed5cc3e890279eda289bd6d4416d9e6
Signed-off-by: Martin Roth <martinroth(a)google.com>
Reviewed-on: https://review.coreboot.org/18376
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Patrick Rudolph <siro(a)das-labor.org>
Reviewed-by: Philippe Mathieu-Daudé <f4bug(a)amsat.org>
Reviewed-by: Patrick Georgi <pgeorgi(a)google.com>
See https://review.coreboot.org/18376 for details.
-gerrit
the following patch was just integrated into master:
commit 08cf195f4c1165412fd2286d19c20c08a2a4300e
Author: Denis 'GNUtoo' Carikli <GNUtoo(a)no-log.org>
Date: Wed Sep 14 14:41:36 2016 +0200
payloads/external/GRUB2: Add "git revision" to the GRUB2 version menu
This change is based on the following commit:
3aa91dc payloads/seabios: Add "git revision" to the SeaBIOS version menu
Change-Id: I9987e3673e70b5cb20173d1ddff6060f42a5374a
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo(a)no-log.org>
Reviewed-on: https://review.coreboot.org/18352
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth(a)google.com>
See https://review.coreboot.org/18352 for details.
-gerrit
the following patch was just integrated into master:
commit 9b798d7904f50b8ad83fe43442a5a3da85789bdd
Author: Tobias Diedrich <ranma+openocd(a)tdiedrich.de>
Date: Sun Feb 12 13:35:37 2017 +0100
ec/lenovo/h8: Guard against EC bugs in the battery status logic.
On my Thinkpad with an H8-compatible ENE KB9012 EC (GDHT92WW 1.52), when
the battery is nearly full and we switch from battery to AC by plugging
in the cable, the current rate will not drop to 0 immediately, but the
discharging state is cleared immediately.
This leads to the code trying to process an invalid rate value >0x8000,
leading to a displayed rate of >1000W.
This patch changes the logic to deal with these corner cases.
Change-Id: Ideb588d00757f259792e5ae97729e371b63a096c
Signed-off-by: Tobias Diedrich <ranma+coreboot(a)tdiedrich.de>
Reviewed-on: https://review.coreboot.org/18349
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter(a)users.sourceforge.net>
Reviewed-by: Martin Roth <martinroth(a)google.com>
See https://review.coreboot.org/18349 for details.
-gerrit