Esempio n. 1
0
void mainboard_smi_gpi(u32 gpi_sts)
{
	u8 source, hotkey;
	send_ec_oem_command(0x5c);
	source = recv_ec_oem_data();

	switch (source) {
	case 0:
		// Some kind of ACK?
		break;
	case 1:
		send_ec_oem_command(0x59);
		hotkey = recv_ec_oem_data();
		mainboard_smi_hotkey(hotkey);
		break;
	default:
		printk(BIOS_DEBUG, "EC SMI source: %02x\n", source);
	}
}
Esempio n. 2
0
static void ec_enable(void)
{
	u16 keymap;
	/* Enable Hotkey SCI */

	/* Fn key map; F1 = [0] ... F12 = [11] */
	keymap = 0x5f1;
	send_ec_oem_command(0x45);
	send_ec_oem_data(0x09); // SCI
	// send_ec_oem_data(0x08); // SMI#
	send_ec_oem_data(keymap >> 8);
	send_ec_oem_data(keymap & 0xff);

	/* Enable Backlight */
	ec_write(0x17, MAX_LCD_BRIGHTNESS);

	/* Notify EC system is in ACPI mode */
	send_ec_oem_command(0x5e);
	send_ec_oem_data(0xea);
	send_ec_oem_data(0x0c);
	send_ec_oem_data(0x01);
}