Lenovo H8: add h8_ultrabay_device_present()

returns 1 if a CDROM/HDD device is plugging in the
ultrabay. Return 0 if there's a battery or superio
extensions plugged in.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Acked-by: Peter Stuge <peter@stuge.se>

git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6545 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Sven Schnelle 2011-04-27 19:47:28 +00:00
parent 4885daadb3
commit cf7dffeabc
2 changed files with 10 additions and 0 deletions

View File

@ -87,6 +87,11 @@ void h8_disable_event(int event)
} }
int h8_ultrabay_device_present(void)
{
return ec_read(H8_STATUS1) & 0x5 ? 0 : 1;
}
static void h8_enable(device_t dev) static void h8_enable(device_t dev)
{ {
struct ec_lenovo_h8_config *conf = dev->chip_info; struct ec_lenovo_h8_config *conf = dev->chip_info;

View File

@ -25,6 +25,7 @@ void h8_wlan_enable(int on);
void h8_set_audio_mute(int on); void h8_set_audio_mute(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);
/* EC registers */ /* EC registers */
#define H8_CONFIG0 0x00 #define H8_CONFIG0 0x00
@ -102,6 +103,10 @@ void h8_disable_event(int event);
#define H8_EVENT_FN_PRESS 0x39 #define H8_EVENT_FN_PRESS 0x39
#define H8_STATUS0 0x46
#define H8_STATUS1 0x47
#define H8_STATUS2 0x48
#define H8_EVENT_BAT0 0x4a #define H8_EVENT_BAT0 0x4a
#define H8_EVENT_BAT0_STATE 0x4b #define H8_EVENT_BAT0_STATE 0x4b