Timothy Pearson has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/19822 )
Change subject: mb/asus/kgpe-d16: Add BMC KCS to ACPI ......................................................................
mb/asus/kgpe-d16: Add BMC KCS to ACPI
The BMC KCS interface must be advertised to the host OS in order for automatic load of the ipmi module to work. Expose the KCS interface via ACPI.
Change-Id: Ia251334ae44668c2260d8d2e816f85f1f62faac7 Signed-off-by: Timothy Pearson tpearson@raptorengineering.com Reviewed-on: https://review.coreboot.org/c/19822 Reviewed-by: Piotr Kubaj pkubaj@anongoth.pl Tested-by: build bot (Jenkins) no-reply@coreboot.org --- M src/mainboard/asus/kgpe-d16/dsdt.asl 1 file changed, 31 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Timothy Pearson: Looks good to me, approved Piotr Kubaj: Looks good to me, but someone else must approve
diff --git a/src/mainboard/asus/kgpe-d16/dsdt.asl b/src/mainboard/asus/kgpe-d16/dsdt.asl index efb67a5..ea52488 100644 --- a/src/mainboard/asus/kgpe-d16/dsdt.asl +++ b/src/mainboard/asus/kgpe-d16/dsdt.asl @@ -53,6 +53,9 @@
#include <southbridge/amd/common/acpi/sleepstates.asl>
+ /* IPMI KCS enable */ + Name (KCSE, 0x1) + /* The _PIC method is called by the OS to choose between interrupt * routing via the i8259 interrupt controller or the APIC. * @@ -486,6 +489,13 @@ Name (_HID, EisaId ("PNP0A05")) Name (_ADR, 0x00140003)
+ OperationRegion (BMRG, SystemIO, 0xca2, 0x02) /* BMC KCS registers */ + Field (BMRG, AnyAcc, NoLock, Preserve) + { + BMRI, 8, /* Index */ + BMRD, 8, /* Data */ + } + /* Real Time Clock Device */ Device(RTC0) { Name(_HID, EISAID("PNP0B00")) /* AT Real Time Clock (not PIIX4 compatible) */ @@ -607,6 +617,27 @@ }) } } + + Device (KCS1) { /* IPMI KCS */ + Name (_HID, EISAID ("IPI0001")) /* ASpeed BMC */ + Method (_STA, 0, NotSerialized) { + If (KCSE) { /* Detection enabled */ + If (LNotEqual (BMRD, 0xff)) { + Return (0x0f) /* Device present */ + } + Return (Zero) + } + Return (Zero) + } + Method (_CRS, 0) { + Return (ResourceTemplate() { + IO(Decode16, 0x0ca2, 0x0ca2, 0x01, 0x02) + }) + } + Method (_IFT, 0, NotSerialized) { /* Interface type */ + Return (One) /* KCS interface */ + } + } }
/* High Precision Event Timer */