ec/lenovo/h8/acpi: Add WWAN ACPI methods
Implement GWAN and SWAN for thinkpad_acpi kernel module. Both methods allow power control of the WWAN module. Change-Id: I5550c78e0d36884eca7a8d8ece19b64aaee44045 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/20986 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
This commit is contained in:
parent
94d79a338b
commit
60eca531df
|
@ -18,6 +18,7 @@ Device (HKEY)
|
||||||
{
|
{
|
||||||
/* Generated by ssdt.c */
|
/* Generated by ssdt.c */
|
||||||
External (\HBDC, IntObj)
|
External (\HBDC, IntObj)
|
||||||
|
External (\HWAN, IntObj)
|
||||||
|
|
||||||
Name (_HID, EisaId ("IBM0068"))
|
Name (_HID, EisaId ("IBM0068"))
|
||||||
|
|
||||||
|
@ -190,4 +191,41 @@ Device (HKEY)
|
||||||
/* FIXME: Store state at resume */
|
/* FIXME: Store state at resume */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Returns the current state:
|
||||||
|
* Bit 0: WWAN HW present
|
||||||
|
* Bit 1: WWAN radio enabled
|
||||||
|
* Bit 2: WWAN state at resume
|
||||||
|
*/
|
||||||
|
Method (GWAN, 0)
|
||||||
|
{
|
||||||
|
If (HWAN) {
|
||||||
|
Store(One, Local0)
|
||||||
|
If(\_SB.PCI0.LPCB.EC.WWEB)
|
||||||
|
{
|
||||||
|
Or(Local0, 2, Local0)
|
||||||
|
}
|
||||||
|
/* FIXME: Implement state at resume, for now Enabled */
|
||||||
|
Or(Local0, 4, Local0)
|
||||||
|
Return (Local0)
|
||||||
|
} Else {
|
||||||
|
Return (0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set the current state:
|
||||||
|
* Bit 1: WWAN radio enabled
|
||||||
|
* Bit 2: WWAN state at resume
|
||||||
|
*/
|
||||||
|
Method (SWAN, 1)
|
||||||
|
{
|
||||||
|
If (HWAN) {
|
||||||
|
ShiftRight (And(Arg0, 2), 1, Local0)
|
||||||
|
Store (Local0, \_SB.PCI0.LPCB.EC.WWEB)
|
||||||
|
|
||||||
|
/* FIXME: Store state at resume */
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,6 +46,7 @@ void h8_ssdt_generator(struct device *dev)
|
||||||
|
|
||||||
/* Used by thinkpad_acpi */
|
/* Used by thinkpad_acpi */
|
||||||
acpigen_write_name_byte("HBDC", h8_has_bdc(dev) ? ONE_OP : ZERO_OP);
|
acpigen_write_name_byte("HBDC", h8_has_bdc(dev) ? ONE_OP : ZERO_OP);
|
||||||
|
acpigen_write_name_byte("HWAN", h8_has_wwan(dev) ? ONE_OP : ZERO_OP);
|
||||||
|
|
||||||
acpigen_pop_len(); /* Scope HKEY */
|
acpigen_pop_len(); /* Scope HKEY */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue