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:
Sven Schnelle 2011-06-16 16:43:04 +02:00
parent bfe8e5186e
commit 86e1aea3e6
3 changed files with 18 additions and 0 deletions

View File

@ -40,6 +40,8 @@ Device(EC)
Offset (0x3B),
, 1,
KBLT, 1, /* Keyboard Light */
, 2,
USPW, 1, /* USB Power enable */
Offset (0x4e),
WAKE, 16,
Offset (0x78),
@ -73,6 +75,12 @@ Device(EC)
Store(Arg0, AMUT)
}
Method (USBP, 1, NotSerialized)
{
Store(Arg0, USPW)
}
/* Sleep Button pressed */
Method(_Q13, 0, NotSerialized)
{

View File

@ -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)
{
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);
h8_wlan_enable(conf->wlan_enable);
h8_trackpoint_enable(conf->trackpoint_enable);
h8_usb_power_enable(1);
if (!get_option(&val, "volume"))
ec_write(H8_VOLUME_CONTROL, val);

View File

@ -23,6 +23,7 @@
void h8_trackpoint_enable(int on);
void h8_wlan_enable(int on);
void h8_set_audio_mute(int on);
void h8_usb_power_enable(int on);
void h8_enable_event(int event);
void h8_disable_event(int event);
int h8_ultrabay_device_present(void);