Martin Roth has submitted this change and it was merged. ( https://review.coreboot.org/18964 )
Change subject: ec: Use EC_ENABLE_LID_SWITCH for all mainboards with LID using chromeec ......................................................................
ec: Use EC_ENABLE_LID_SWITCH for all mainboards with LID using chromeec
Instead of defining a separate LID device for mainboards using chromeec, define EC_ENABLE_LID_SWITCH for these boards.
Change-Id: Iac58847c2055fa27c19d02b2dbda6813d6dec3ec Signed-off-by: Furquan Shaikh furquan@chromium.org Reviewed-on: https://review.coreboot.org/18964 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Georgi pgeorgi@google.com Reviewed-by: Aaron Durbin adurbin@chromium.org --- M src/ec/google/chromeec/acpi/ec.asl M src/mainboard/google/auron/acpi/ec.asl M src/mainboard/google/auron/acpi/mainboard.asl M src/mainboard/google/chell/acpi/ec.asl M src/mainboard/google/chell/acpi/mainboard.asl M src/mainboard/google/cyan/acpi/ec.asl M src/mainboard/google/cyan/acpi/mainboard.asl M src/mainboard/google/glados/acpi/ec.asl M src/mainboard/google/glados/acpi/mainboard.asl M src/mainboard/google/lars/acpi/ec.asl M src/mainboard/google/lars/acpi/mainboard.asl M src/mainboard/google/link/acpi/ec.asl M src/mainboard/google/link/acpi/mainboard.asl M src/mainboard/google/link/acpi/platform.asl M src/mainboard/google/rambi/acpi/ec.asl M src/mainboard/google/rambi/acpi/mainboard.asl M src/mainboard/google/slippy/acpi/ec.asl M src/mainboard/google/slippy/acpi/mainboard.asl M src/mainboard/google/slippy/acpi/platform.asl M src/mainboard/intel/kblrvp/acpi/ec.asl M src/mainboard/intel/kblrvp/acpi/mainboard.asl M src/mainboard/intel/kunimitsu/acpi/ec.asl M src/mainboard/intel/kunimitsu/acpi/mainboard.asl M src/mainboard/intel/strago/acpi/ec.asl M src/mainboard/intel/strago/acpi/mainboard.asl 25 files changed, 57 insertions(+), 144 deletions(-)
Approvals: Aaron Durbin: Looks good to me, approved build bot (Jenkins): Verified Patrick Georgi: Looks good to me, but someone else must approve
diff --git a/src/ec/google/chromeec/acpi/ec.asl b/src/ec/google/chromeec/acpi/ec.asl index 67cee27..43520f7 100644 --- a/src/ec/google/chromeec/acpi/ec.asl +++ b/src/ec/google/chromeec/acpi/ec.asl @@ -26,9 +26,6 @@ External (_SB.DPTF.TCHG, DeviceObj) #endif External (_SB.DPTF.TPET, MethodObj) -#ifndef EC_ENABLE_LID_SWITCH -External (_SB.LID0, DeviceObj) -#endif
Device (EC0) { @@ -171,10 +168,6 @@ Store (LIDS, \LIDS) #ifdef EC_ENABLE_LID_SWITCH Notify (LID0, 0x80) -#else - If (CondRefOf (_SB.LID0)) { - Notify (_SB.LID0, 0x80) - } #endif }
@@ -185,10 +178,6 @@ Store (LIDS, \LIDS) #ifdef EC_ENABLE_LID_SWITCH Notify (LID0, 0x80) -#else - If (CondRefOf (_SB.LID0)) { - Notify (_SB.LID0, 0x80) - } #endif }
diff --git a/src/mainboard/google/auron/acpi/ec.asl b/src/mainboard/google/auron/acpi/ec.asl index e25cd29..5740c27 100644 --- a/src/mainboard/google/auron/acpi/ec.asl +++ b/src/mainboard/google/auron/acpi/ec.asl @@ -19,5 +19,13 @@ /* variant configuration */ #include <variant/acpi/ec.asl>
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +/* + * There is no GPIO for LID, the EC pulses WAKE# pin instead. + * There is no GPE for WAKE#, so fake it with PCI_EXP_WAKE. + */ +#define EC_ENABLE_WAKE_PIN 0x69 + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/auron/acpi/mainboard.asl b/src/mainboard/google/auron/acpi/mainboard.asl index c5b9a83..7910b6e 100644 --- a/src/mainboard/google/auron/acpi/mainboard.asl +++ b/src/mainboard/google/auron/acpi/mainboard.asl @@ -18,20 +18,6 @@
Scope (_SB) { - Device (LID0) - { - Name(_HID, EisaId("PNP0C0D")) - Method(_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - - // There is no GPIO for LID, the EC pulses WAKE# pin instead. - // There is no GPE for WAKE#, so fake it with PCI_EXP_WAKE - Name (_PRW, Package(){ 0x69, 5 }) // PCI_EXP - } - Device (PWRB) { Name(_HID, EisaId("PNP0C0C")) diff --git a/src/mainboard/google/chell/acpi/ec.asl b/src/mainboard/google/chell/acpi/ec.asl index e4a35c8..3f5a4ac 100644 --- a/src/mainboard/google/chell/acpi/ec.asl +++ b/src/mainboard/google/chell/acpi/ec.asl @@ -23,5 +23,9 @@ /* Enable EC backed PD MCU device in ACPI */ #define EC_ENABLE_PD_MCU_DEVICE
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/chell/acpi/mainboard.asl b/src/mainboard/google/chell/acpi/mainboard.asl index f2503a8..8817ea7 100644 --- a/src/mainboard/google/chell/acpi/mainboard.asl +++ b/src/mainboard/google/chell/acpi/mainboard.asl @@ -17,17 +17,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Return (_SB.PCI0.LPCB.EC0.LIDS) - } - - Name (_PRW, Package () { GPE_EC_WAKE, 5 }) - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/google/cyan/acpi/ec.asl b/src/mainboard/google/cyan/acpi/ec.asl index d2de775..ab89841 100644 --- a/src/mainboard/google/cyan/acpi/ec.asl +++ b/src/mainboard/google/cyan/acpi/ec.asl @@ -17,5 +17,8 @@ /* mainboard configuration */ #include <ec.h>
+/* Enable LID switch */ +#define EC_ENABLE_LID_SWITCH + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/cyan/acpi/mainboard.asl b/src/mainboard/google/cyan/acpi/mainboard.asl index c9f4017..ff73be3 100644 --- a/src/mainboard/google/cyan/acpi/mainboard.asl +++ b/src/mainboard/google/cyan/acpi/mainboard.asl @@ -19,16 +19,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/google/glados/acpi/ec.asl b/src/mainboard/google/glados/acpi/ec.asl index b012827..d90d87d 100644 --- a/src/mainboard/google/glados/acpi/ec.asl +++ b/src/mainboard/google/glados/acpi/ec.asl @@ -26,5 +26,9 @@ /* Enable EC backed PD MCU device in ACPI */ #define EC_ENABLE_PD_MCU_DEVICE
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/glados/acpi/mainboard.asl b/src/mainboard/google/glados/acpi/mainboard.asl index f2503a8..8817ea7 100644 --- a/src/mainboard/google/glados/acpi/mainboard.asl +++ b/src/mainboard/google/glados/acpi/mainboard.asl @@ -17,17 +17,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Return (_SB.PCI0.LPCB.EC0.LIDS) - } - - Name (_PRW, Package () { GPE_EC_WAKE, 5 }) - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/google/lars/acpi/ec.asl b/src/mainboard/google/lars/acpi/ec.asl index b012827..d90d87d 100644 --- a/src/mainboard/google/lars/acpi/ec.asl +++ b/src/mainboard/google/lars/acpi/ec.asl @@ -26,5 +26,9 @@ /* Enable EC backed PD MCU device in ACPI */ #define EC_ENABLE_PD_MCU_DEVICE
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/lars/acpi/mainboard.asl b/src/mainboard/google/lars/acpi/mainboard.asl index 4fe3365..7f62637 100644 --- a/src/mainboard/google/lars/acpi/mainboard.asl +++ b/src/mainboard/google/lars/acpi/mainboard.asl @@ -18,17 +18,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Return (_SB.PCI0.LPCB.EC0.LIDS) - } - - Name (_PRW, Package () { GPE_EC_WAKE, 5 }) - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/google/link/acpi/ec.asl b/src/mainboard/google/link/acpi/ec.asl index 2e898ed..f94d8ca 100644 --- a/src/mainboard/google/link/acpi/ec.asl +++ b/src/mainboard/google/link/acpi/ec.asl @@ -19,5 +19,11 @@ /* Enable EC backed Keyboard Backlight in ACPI */ #define EC_ENABLE_KEYBOARD_BACKLIGHT
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH + +/* EC_LID_OUT is GPIO15 */ +#define EC_ENABLE_WAKE_PIN 0x1f + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/link/acpi/mainboard.asl b/src/mainboard/google/link/acpi/mainboard.asl index 01e99fa..aa33d14 100644 --- a/src/mainboard/google/link/acpi/mainboard.asl +++ b/src/mainboard/google/link/acpi/mainboard.asl @@ -17,19 +17,6 @@ #include <mainboard/google/link/onboard.h>
Scope (_SB) { - Device (LID0) - { - Name(_HID, EisaId("PNP0C0D")) - Method(_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - - // EC_LID_OUT is GPIO15 - Name(_PRW, Package(){0x1f, 0x05}) - } - Device (PWRB) { Name(_HID, EisaId("PNP0C0C")) diff --git a/src/mainboard/google/link/acpi/platform.asl b/src/mainboard/google/link/acpi/platform.asl index c84736a..5c4a6da 100644 --- a/src/mainboard/google/link/acpi/platform.asl +++ b/src/mainboard/google/link/acpi/platform.asl @@ -38,7 +38,7 @@ Store (_SB.PCI0.LPCB.EC0.LIDS, Local0) if (LNotEqual (Local0, \LIDS)) { Store (Local0, \LIDS) - Notify (_SB.LID0, 0x80) + Notify (_SB.PCI0.LPCB.EC0.LID0, 0x80) }
Return(Package(){0,0}) diff --git a/src/mainboard/google/rambi/acpi/ec.asl b/src/mainboard/google/rambi/acpi/ec.asl index 93745b4..febe102 100644 --- a/src/mainboard/google/rambi/acpi/ec.asl +++ b/src/mainboard/google/rambi/acpi/ec.asl @@ -16,5 +16,11 @@ /* mainboard configuration */ #include <mainboard/google/rambi/ec.h>
+#include <variant/onboard.h> + +/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN BOARD_PCH_WAKE_GPIO + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/rambi/acpi/mainboard.asl b/src/mainboard/google/rambi/acpi/mainboard.asl index 520f3e1..84136d9 100644 --- a/src/mainboard/google/rambi/acpi/mainboard.asl +++ b/src/mainboard/google/rambi/acpi/mainboard.asl @@ -18,17 +18,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Name (_PRW, Package() { BOARD_PCH_WAKE_GPIO, 0x5 }) - Method (_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/google/slippy/acpi/ec.asl b/src/mainboard/google/slippy/acpi/ec.asl index 58b9a55..d4f62c4 100644 --- a/src/mainboard/google/slippy/acpi/ec.asl +++ b/src/mainboard/google/slippy/acpi/ec.asl @@ -16,5 +16,13 @@ /* mainboard configuration */ #include "../ec.h"
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +/* + * There is no GPIO for LID, the EC pulses WAKE# pin instead. + * There is no GPE for WAKE#, so fake it with PCI_EXP_WAKE. + */ +#define EC_ENABLE_WAKE_PIN 0x69 + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/google/slippy/acpi/mainboard.asl b/src/mainboard/google/slippy/acpi/mainboard.asl index 35bc1b4..7605e9e 100644 --- a/src/mainboard/google/slippy/acpi/mainboard.asl +++ b/src/mainboard/google/slippy/acpi/mainboard.asl @@ -16,20 +16,6 @@
Scope (_SB) { - Device (LID0) - { - Name(_HID, EisaId("PNP0C0D")) - Method(_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - - // There is no GPIO for LID, the EC pulses WAKE# pin instead. - // There is no GPE for WAKE#, so fake it with PCI_EXP_WAKE - Name (_PRW, Package(){ 0x69, 5 }) // PCI_EXP - } - Device (PWRB) { Name(_HID, EisaId("PNP0C0C")) diff --git a/src/mainboard/google/slippy/acpi/platform.asl b/src/mainboard/google/slippy/acpi/platform.asl index 1bd054d..7074336 100644 --- a/src/mainboard/google/slippy/acpi/platform.asl +++ b/src/mainboard/google/slippy/acpi/platform.asl @@ -75,7 +75,7 @@ Store (_SB.PCI0.LPCB.EC0.LIDS, Local0) if (LNotEqual (Local0, \LIDS)) { Store (Local0, \LIDS) - Notify (_SB.LID0, 0x80) + Notify (_SB.PCI0.LPCB.EC0.LID0, 0x80) }
Return(Package(){0,0}) diff --git a/src/mainboard/intel/kblrvp/acpi/ec.asl b/src/mainboard/intel/kblrvp/acpi/ec.asl index 01fa75c..a9a61dd 100644 --- a/src/mainboard/intel/kblrvp/acpi/ec.asl +++ b/src/mainboard/intel/kblrvp/acpi/ec.asl @@ -23,6 +23,11 @@ /* Enable EC backed PD MCU device in ACPI */ #define EC_ENABLE_PD_MCU_DEVICE #if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC) + +/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> #endif diff --git a/src/mainboard/intel/kblrvp/acpi/mainboard.asl b/src/mainboard/intel/kblrvp/acpi/mainboard.asl index 4764372..0041ee6 100644 --- a/src/mainboard/intel/kblrvp/acpi/mainboard.asl +++ b/src/mainboard/intel/kblrvp/acpi/mainboard.asl @@ -14,22 +14,9 @@ * GNU General Public License for more details. */
-#include <variant/gpio.h> - #if IS_ENABLED(CONFIG_EC_GOOGLE_CHROMEEC) Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Return (_SB.PCI0.LPCB.EC0.LIDS) - } - - Name (_PRW, Package () { GPE_EC_WAKE, 5 }) - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/intel/kunimitsu/acpi/ec.asl b/src/mainboard/intel/kunimitsu/acpi/ec.asl index 2203e2f..4599e12 100644 --- a/src/mainboard/intel/kunimitsu/acpi/ec.asl +++ b/src/mainboard/intel/kunimitsu/acpi/ec.asl @@ -23,5 +23,9 @@ /* Enable EC backed PD MCU device in ACPI */ #define EC_ENABLE_PD_MCU_DEVICE
+/* Enable LID switch and provide wake pin for EC */ +#define EC_ENABLE_LID_SWITCH +#define EC_ENABLE_WAKE_PIN GPE_EC_WAKE + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl index 4fe3365..c615dc3 100644 --- a/src/mainboard/intel/kunimitsu/acpi/mainboard.asl +++ b/src/mainboard/intel/kunimitsu/acpi/mainboard.asl @@ -14,21 +14,8 @@ * GNU General Public License for more details. */
-#include "../gpio.h" - Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Return (_SB.PCI0.LPCB.EC0.LIDS) - } - - Name (_PRW, Package () { GPE_EC_WAKE, 5 }) - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) diff --git a/src/mainboard/intel/strago/acpi/ec.asl b/src/mainboard/intel/strago/acpi/ec.asl index f4ac295..e023f3b 100644 --- a/src/mainboard/intel/strago/acpi/ec.asl +++ b/src/mainboard/intel/strago/acpi/ec.asl @@ -17,5 +17,8 @@ /* mainboard configuration */ #include "ec.h"
+/* Enable LID switch */ +#define EC_ENABLE_LID_SWITCH + /* ACPI code for EC functions */ #include <ec/google/chromeec/acpi/ec.asl> diff --git a/src/mainboard/intel/strago/acpi/mainboard.asl b/src/mainboard/intel/strago/acpi/mainboard.asl index 0353eed..17c83bf 100644 --- a/src/mainboard/intel/strago/acpi/mainboard.asl +++ b/src/mainboard/intel/strago/acpi/mainboard.asl @@ -19,16 +19,6 @@
Scope (_SB) { - Device (LID0) - { - Name (_HID, EisaId ("PNP0C0D")) - Method (_LID, 0) - { - Store (_SB.PCI0.LPCB.EC0.LIDS, \LIDS) - Return (\LIDS) - } - } - Device (PWRB) { Name (_HID, EisaId ("PNP0C0C"))