Stefan Reinauer | 155e9b5 | 2012-04-27 23:19:58 +0200 | [diff] [blame] | 1 | /* |
| 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 Reinauer | 155e9b5 | 2012-04-27 23:19:58 +0200 | [diff] [blame] | 14 | */ |
| 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 | |
| 55 | extern void lumpy_ec_init(void); |
| 56 | |
| 57 | #endif // LUMPY_EC_H |