Patrick Georgi submitted this change.

View Change

Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
mb/asus/p2b*: Get rid of power button device

These boards have the same issue as [27272]:

Currently, two power buttons are exposed in ACPI, and detected by the
operating system.

> As per the ACPI specification, there are two types of power button
> devices:
> 1. Fixed hardware power button
> 2. Generic hardware power button
>
> Fixed hardware power button is added by the OSPM if POWER_BUTTON flag
> is not set in FADT by the BIOS. This device has its programming model
> in PM1x_EVT_BLK. All ACPI compliant OSes are expected to add this
> power button device by default if the power button FADT flag is not
> set.
>
> On the other hand, generic hardware power button can be used by
> platforms if fixed register space cannot be used for the power button
> device. In order to support this, power button device object with HID
> PNP0C0C is expected to be added to ACPI tables. Additionally,
> POWER_BUTTON flag should be set to indicate the presence of control
> method for power button.
>
> [i440BX] mainboards implemented the generic hardware power button in
> a broken manner i.e. power button object with HID PNP0C0C is added to
> ACPI however none of the boards set POWER_BUTTON flag in FADT. This
> results in Linux kernel adding both fixed hardware power button as
> well as generic hardware power button to the list of devices present
> on the system. Though this is mostly harmless, it is logically
> incorrect and can confuse any userspace utilities scanning the ACPI
> devices.

Hardware tests on the P2B-LS shows the generic hardware power button
is not working anyway - with FADT power button flag set, the board
could not power off with the button.

This change removes the generic hardware power button from all P2B
mainboards and relies completely on the fixed hardware power button.

TEST=Booted on P2B-LS, Linux detects only fixed hardware power
button, button still powers off.

[27272]: https://review.coreboot.org/27272

Change-Id: I0f5b7aaf32366360de3cce58cd742651a2bb46ba
Signed-off-by: Keith Hui <buurin@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40007
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
---
M src/mainboard/asus/p2b/dsdt.asl
1 file changed, 0 insertions(+), 9 deletions(-)

diff --git a/src/mainboard/asus/p2b/dsdt.asl b/src/mainboard/asus/p2b/dsdt.asl
index 5bc5d72..e119871 100644
--- a/src/mainboard/asus/p2b/dsdt.asl
+++ b/src/mainboard/asus/p2b/dsdt.asl
@@ -97,15 +97,6 @@
/* Root of the bus hierarchy */
Scope (\_SB)
{
- Device (PWRB)
- {
- /* Power Button Device */
- Name (_HID, EisaId ("PNP0C0C"))
- Method (_STA, 0, NotSerialized)
- {
- Return (0x0B)
- }
- }
#include <southbridge/intel/i82371eb/acpi/intx.asl>

PCI_INTX_DEV(LNKA, \_SB.PCI0.PX40.PIRA, 1)

To view, visit change 40007. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: I0f5b7aaf32366360de3cce58cd742651a2bb46ba
Gerrit-Change-Number: 40007
Gerrit-PatchSet: 4
Gerrit-Owner: Paul Menzel <paulepanter@users.sourceforge.net>
Gerrit-Reviewer: Angel Pons <th3fanbus@gmail.com>
Gerrit-Reviewer: Keith Hui <buurin@gmail.com>
Gerrit-Reviewer: Patrick Georgi <pgeorgi@google.com>
Gerrit-Reviewer: build bot (Jenkins) <no-reply@coreboot.org>
Gerrit-MessageType: merged