Lenovo H8 EC: add usb_power_enable()
Can be used to disable/enable Power output on USB ports. Change-Id: I5eb52b33c9e3359b0e5874bda2c0c8d75c196bc2 Signed-off-by: Sven Schnelle <svens@stackframe.org> Reviewed-on: http://review.coreboot.org/37 Tested-by: build bot (Jenkins)
This commit is contained in:
parent
bfe8e5186e
commit
86e1aea3e6
|
@ -40,6 +40,8 @@ Device(EC)
|
||||||
Offset (0x3B),
|
Offset (0x3B),
|
||||||
, 1,
|
, 1,
|
||||||
KBLT, 1, /* Keyboard Light */
|
KBLT, 1, /* Keyboard Light */
|
||||||
|
, 2,
|
||||||
|
USPW, 1, /* USB Power enable */
|
||||||
Offset (0x4e),
|
Offset (0x4e),
|
||||||
WAKE, 16,
|
WAKE, 16,
|
||||||
Offset (0x78),
|
Offset (0x78),
|
||||||
|
@ -73,6 +75,12 @@ Device(EC)
|
||||||
Store(Arg0, AMUT)
|
Store(Arg0, AMUT)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Method (USBP, 1, NotSerialized)
|
||||||
|
{
|
||||||
|
Store(Arg0, USPW)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Sleep Button pressed */
|
/* Sleep Button pressed */
|
||||||
Method(_Q13, 0, NotSerialized)
|
Method(_Q13, 0, NotSerialized)
|
||||||
{
|
{
|
||||||
|
|
|
@ -88,6 +88,14 @@ void h8_disable_event(int event)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void h8_usb_power_enable(int onoff)
|
||||||
|
{
|
||||||
|
if (onoff)
|
||||||
|
ec_set_bit(0x3b, 4);
|
||||||
|
else
|
||||||
|
ec_clr_bit(0x3b, 4);
|
||||||
|
}
|
||||||
|
|
||||||
int h8_ultrabay_device_present(void)
|
int h8_ultrabay_device_present(void)
|
||||||
{
|
{
|
||||||
return ec_read(H8_STATUS1) & 0x5 ? 0 : 1;
|
return ec_read(H8_STATUS1) & 0x5 ? 0 : 1;
|
||||||
|
@ -129,6 +137,7 @@ static void h8_enable(device_t dev)
|
||||||
ec_write(H8_FAN_CONTROL, H8_FAN_CONTROL_AUTO);
|
ec_write(H8_FAN_CONTROL, H8_FAN_CONTROL_AUTO);
|
||||||
h8_wlan_enable(conf->wlan_enable);
|
h8_wlan_enable(conf->wlan_enable);
|
||||||
h8_trackpoint_enable(conf->trackpoint_enable);
|
h8_trackpoint_enable(conf->trackpoint_enable);
|
||||||
|
h8_usb_power_enable(1);
|
||||||
|
|
||||||
if (!get_option(&val, "volume"))
|
if (!get_option(&val, "volume"))
|
||||||
ec_write(H8_VOLUME_CONTROL, val);
|
ec_write(H8_VOLUME_CONTROL, val);
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
void h8_trackpoint_enable(int on);
|
void h8_trackpoint_enable(int on);
|
||||||
void h8_wlan_enable(int on);
|
void h8_wlan_enable(int on);
|
||||||
void h8_set_audio_mute(int on);
|
void h8_set_audio_mute(int on);
|
||||||
|
void h8_usb_power_enable(int on);
|
||||||
void h8_enable_event(int event);
|
void h8_enable_event(int event);
|
||||||
void h8_disable_event(int event);
|
void h8_disable_event(int event);
|
||||||
int h8_ultrabay_device_present(void);
|
int h8_ultrabay_device_present(void);
|
||||||
|
|
Loading…
Reference in New Issue