blob: 0cdb87e8ae9207a4ac091a8b5eb619a992ba2412 [file] [log] [blame]
Stefan Reinauer155e9b52012-04-27 23:19:58 +02001/*
2 * This file is part of the coreboot project.
3 *
4 * Copyright (C) 2011 The Chromium OS Authors. All rights reserved.
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
Stefan Reinauer155e9b52012-04-27 23:19:58 +020014 */
15
16#ifndef LUMPY_EC_H
17#define LUMPY_EC_H
18
19#define EC_MAILBOX_PORT 0xa00 /* Mailbox IO address */
20#define EC_SMI_GPI 1 /* GPIO 1 is KBC3_EXTSMI# */
21
22/* Commands */
23#define EC_SMI_ENABLE 0x74
24#define EC_SMI_DISABLE 0x75
25#define EC_ACPI_ENABLE 0x76 /* Enter ACPI mode */
26#define EC_ACPI_DISABLE 0x77 /* Exit ACPI mode */
27
28/* Commands with data */
29#define EC_AUX_PORT_MODE 0x64 /* PS/2 control mode */
30#define EC_AUX_PORT_MODE_ENABLE 0x00
31#define EC_AUX_PORT_MODE_DISABLE 0x01
32#define EC_POWER_BUTTON_MODE 0x63
33#define EC_POWER_BUTTON_MODE_OS 0x00 /* OS control, 8 second override */
34#define EC_POWER_BUTTON_MODE_EC 0x01 /* EC control */
35#define EC_BACKLIGHT_OFF 0x67 /* Turn Backlight Off */
36#define EC_BACKLIGHT_ON 0x68 /* Turn Backlight On */
37#define EC_BATTERY_MODE 0x13
38#define EC_BATTERY_MODE_NORMAL 0x00 /* Normal mode */
39#define EC_BATTERY_MODE_EXTEND 0x01 /* Battery Life Cycle Extension */
40#define EC_GET_SMI_CAUSE 0x72 /* Get cause of SMI */
41
42/* EC RAM */
43#define EC_FAN_SPEED 0xca
44#define EC_FAN_SPEED_LEVEL_0 0x01 /* Level 0 is fastest */
45#define EC_FAN_SPEED_LEVEL_1 0x02 /* Level 1 is fast */
46#define EC_FAN_SPEED_LEVEL_2 0x04 /* Level 2 is slow */
47#define EC_FAN_SPEED_LEVEL_3 0x08 /* Level 3 is slowest */
48#define EC_FAN_SPEED_LEVEL_4 0x10 /* Level 4 is off */
49#define EC_FAN_SPEED_FLAG_OS 0x80 /* OS control of fan speed */
50
51/* EC SMI */
52#define EC_LID_CLOSE 0x9c /* Lid close event */
53#define EC_LID_OPEN 0x9d /* Lid open event */
54
55extern void lumpy_ec_init(void);
56
57#endif // LUMPY_EC_H