[coreboot-gerrit] New patch to review for coreboot: 7a36b06 lenovo: Disable radio when suspending or turning off.

Vladimir Serbinenko (phcoder@gmail.com) gerrit at coreboot.org
Wed May 13 20:22:25 CEST 2015


Vladimir Serbinenko (phcoder at gmail.com) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/10190

-gerrit

commit 7a36b06d61c8951cb1a9866c7b6ae2176ca25d3b
Author: Vladimir Serbinenko <phcoder at gmail.com>
Date:   Wed May 13 18:22:49 2015 +0200

    lenovo: Disable radio when suspending or turning off.
    
    Without this some radios may remain operational. The may consume power but
    the immediate demonstrable effect is wireless LED still being on.
    Coreboot will reenable radios on resume or poweron.
    
    Change-Id: I9fcb08880964b1594f779a246840bc3013a44afe
    Signed-off-by: Vladimir Serbinenko <phcoder at gmail.com>
---
 src/ec/lenovo/h8/acpi/ec.asl                 | 11 +++++++++++
 src/mainboard/lenovo/t420s/acpi/platform.asl |  2 +-
 src/mainboard/lenovo/t430s/acpi/platform.asl |  2 +-
 src/mainboard/lenovo/t520/acpi/platform.asl  |  2 +-
 src/mainboard/lenovo/t530/acpi/platform.asl  |  2 +-
 src/mainboard/lenovo/t60/acpi/platform.asl   |  1 +
 src/mainboard/lenovo/x200/acpi/platform.asl  |  1 +
 src/mainboard/lenovo/x201/acpi/platform.asl  |  1 +
 src/mainboard/lenovo/x220/acpi/platform.asl  |  2 +-
 src/mainboard/lenovo/x230/acpi/platform.asl  |  2 +-
 src/mainboard/lenovo/x60/acpi/platform.asl   |  1 +
 11 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/src/ec/lenovo/h8/acpi/ec.asl b/src/ec/lenovo/h8/acpi/ec.asl
index 8db9221..b7f8741 100644
--- a/src/ec/lenovo/h8/acpi/ec.asl
+++ b/src/ec/lenovo/h8/acpi/ec.asl
@@ -43,6 +43,10 @@ Device(EC)
 				EVNT, 8,	/* write will trigger EC event */
 		Offset (0x3a),
 				AMUT, 1,	/* Audio Mute */
+				    , 3,
+				BTEB, 1,
+				WLEB, 1,
+				WWEB, 1,
 		Offset (0x3B),
 				    , 1,
 				KBLT, 1,	/* Keyboard Light */
@@ -90,6 +94,13 @@ Device(EC)
 		Store(Arg0, AMUT)
 	}
 
+	Method (RADI, 1, NotSerialized)
+	{
+		Store(Arg0, WLEB)
+		Store(Arg0, WWEB)
+		Store(Arg0, BTEB)
+	}
+
 	Method (USBP, 1, NotSerialized)
 	{
 		Store(Arg0, USPW)
diff --git a/src/mainboard/lenovo/t420s/acpi/platform.asl b/src/mainboard/lenovo/t420s/acpi/platform.asl
index f937dc5..c59e26a 100644
--- a/src/mainboard/lenovo/t420s/acpi/platform.asl
+++ b/src/mainboard/lenovo/t420s/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/t430s/acpi/platform.asl b/src/mainboard/lenovo/t430s/acpi/platform.asl
index f937dc5..c59e26a 100644
--- a/src/mainboard/lenovo/t430s/acpi/platform.asl
+++ b/src/mainboard/lenovo/t430s/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/t520/acpi/platform.asl b/src/mainboard/lenovo/t520/acpi/platform.asl
index f937dc5..c59e26a 100644
--- a/src/mainboard/lenovo/t520/acpi/platform.asl
+++ b/src/mainboard/lenovo/t520/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/t530/acpi/platform.asl b/src/mainboard/lenovo/t530/acpi/platform.asl
index 72b9dbf..3ce4a5e 100644
--- a/src/mainboard/lenovo/t530/acpi/platform.asl
+++ b/src/mainboard/lenovo/t530/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/t60/acpi/platform.asl b/src/mainboard/lenovo/t60/acpi/platform.asl
index 59df530..8b50776 100644
--- a/src/mainboard/lenovo/t60/acpi/platform.asl
+++ b/src/mainboard/lenovo/t60/acpi/platform.asl
@@ -27,6 +27,7 @@ Method(_PTS,1)
 {
 	\_SB.PCI0.LPCB.EC.MUTE(1)
 	\_SB.PCI0.LPCB.EC.USBP(0)
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/x200/acpi/platform.asl b/src/mainboard/lenovo/x200/acpi/platform.asl
index 2aa556f..d8f7a21 100644
--- a/src/mainboard/lenovo/x200/acpi/platform.asl
+++ b/src/mainboard/lenovo/x200/acpi/platform.asl
@@ -69,6 +69,7 @@ Method(_PTS,1)
 {
 	// Call a trap so SMI can prepare for Sleep as well.
 	// TRAP(0x55)
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/x201/acpi/platform.asl b/src/mainboard/lenovo/x201/acpi/platform.asl
index 1370117..720e627 100644
--- a/src/mainboard/lenovo/x201/acpi/platform.asl
+++ b/src/mainboard/lenovo/x201/acpi/platform.asl
@@ -61,6 +61,7 @@ Method(_PTS,1)
 {
 	\_SB.PCI0.LPCB.EC.MUTE(1)
 	\_SB.PCI0.LPCB.EC.USBP(0)
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/x220/acpi/platform.asl b/src/mainboard/lenovo/x220/acpi/platform.asl
index 72b9dbf..3ce4a5e 100644
--- a/src/mainboard/lenovo/x220/acpi/platform.asl
+++ b/src/mainboard/lenovo/x220/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/x230/acpi/platform.asl b/src/mainboard/lenovo/x230/acpi/platform.asl
index 72b9dbf..3ce4a5e 100644
--- a/src/mainboard/lenovo/x230/acpi/platform.asl
+++ b/src/mainboard/lenovo/x230/acpi/platform.asl
@@ -61,7 +61,7 @@ Method(_PIC, 1)
 
 Method(_PTS,1)
 {
-
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */
diff --git a/src/mainboard/lenovo/x60/acpi/platform.asl b/src/mainboard/lenovo/x60/acpi/platform.asl
index 59df530..8b50776 100644
--- a/src/mainboard/lenovo/x60/acpi/platform.asl
+++ b/src/mainboard/lenovo/x60/acpi/platform.asl
@@ -27,6 +27,7 @@ Method(_PTS,1)
 {
 	\_SB.PCI0.LPCB.EC.MUTE(1)
 	\_SB.PCI0.LPCB.EC.USBP(0)
+	\_SB.PCI0.LPCB.EC.RADI(0)
 }
 
 /* The _WAK method is called on system wakeup */



More information about the coreboot-gerrit mailing list