ec/lenovo/h8/smm: Support USB always on AC only
Add support for UAO AC only mode. Needs tests on all platforms. Change-Id: Ib52aab427ff687b00129024cde65b78060d21e32 Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-on: https://review.coreboot.org/20450 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
This commit is contained in:
parent
f8574bf4a7
commit
b21f5d708a
|
@ -18,18 +18,30 @@
|
|||
|
||||
#include "h8.h"
|
||||
|
||||
enum usb_always_on {
|
||||
UAO_OFF = 0,
|
||||
UAO_AC_AND_BATTERY,
|
||||
UAO_AC_ONLY
|
||||
};
|
||||
|
||||
void h8_usb_always_on(void)
|
||||
{
|
||||
u8 val;
|
||||
enum usb_always_on val;
|
||||
u8 reg;
|
||||
|
||||
if (get_option(&val, "usb_always_on") != CB_SUCCESS)
|
||||
val = 0;
|
||||
val = UAO_OFF;
|
||||
|
||||
if (val) {
|
||||
if (val == UAO_AC_AND_BATTERY) {
|
||||
reg = ec_read(H8_USB_ALWAYS_ON);
|
||||
reg &= ~H8_USB_ALWAYS_ON_AC_ONLY;
|
||||
reg |= H8_USB_ALWAYS_ON_ENABLE;
|
||||
ec_write(H8_USB_ALWAYS_ON, reg);
|
||||
} else if (val == UAO_AC_ONLY) {
|
||||
reg = ec_read(H8_USB_ALWAYS_ON);
|
||||
reg |= H8_USB_ALWAYS_ON_AC_ONLY;
|
||||
reg |= H8_USB_ALWAYS_ON_ENABLE;
|
||||
ec_write(H8_USB_ALWAYS_ON, reg);
|
||||
ec_set_bit(0x2, 3);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@ enumerations
|
|||
10 6 160M
|
||||
11 0 Disable
|
||||
11 1 AC and battery
|
||||
11 2 AC only
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
checksums
|
||||
|
|
|
@ -136,6 +136,7 @@ enumerations
|
|||
11 6 224M
|
||||
12 0 Disable
|
||||
12 1 AC and battery
|
||||
12 2 AC only
|
||||
|
||||
# -----------------------------------------------------------------
|
||||
checksums
|
||||
|
|
Loading…
Reference in New Issue