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:
committed by
Martin Roth
parent
f8574bf4a7
commit
b21f5d708a
@@ -18,18 +18,30 @@
|
|||||||
|
|
||||||
#include "h8.h"
|
#include "h8.h"
|
||||||
|
|
||||||
|
enum usb_always_on {
|
||||||
|
UAO_OFF = 0,
|
||||||
|
UAO_AC_AND_BATTERY,
|
||||||
|
UAO_AC_ONLY
|
||||||
|
};
|
||||||
|
|
||||||
void h8_usb_always_on(void)
|
void h8_usb_always_on(void)
|
||||||
{
|
{
|
||||||
u8 val;
|
enum usb_always_on val;
|
||||||
u8 reg;
|
u8 reg;
|
||||||
|
|
||||||
if (get_option(&val, "usb_always_on") != CB_SUCCESS)
|
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 = ec_read(H8_USB_ALWAYS_ON);
|
||||||
reg &= ~H8_USB_ALWAYS_ON_AC_ONLY;
|
reg &= ~H8_USB_ALWAYS_ON_AC_ONLY;
|
||||||
reg |= H8_USB_ALWAYS_ON_ENABLE;
|
reg |= H8_USB_ALWAYS_ON_ENABLE;
|
||||||
ec_write(H8_USB_ALWAYS_ON, reg);
|
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
|
10 6 160M
|
||||||
11 0 Disable
|
11 0 Disable
|
||||||
11 1 AC and battery
|
11 1 AC and battery
|
||||||
|
11 2 AC only
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
checksums
|
checksums
|
||||||
|
@@ -136,6 +136,7 @@ enumerations
|
|||||||
11 6 224M
|
11 6 224M
|
||||||
12 0 Disable
|
12 0 Disable
|
||||||
12 1 AC and battery
|
12 1 AC and battery
|
||||||
|
12 2 AC only
|
||||||
|
|
||||||
# -----------------------------------------------------------------
|
# -----------------------------------------------------------------
|
||||||
checksums
|
checksums
|
||||||
|
Reference in New Issue
Block a user