1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef LUMPY_EC_H 4 #define LUMPY_EC_H 5 6 #define EC_MAILBOX_PORT 0xa00 /* Mailbox IO address */ 7 #define EC_SMI_GPI 1 /* GPIO 1 is KBC3_EXTSMI# */ 8 9 /* Commands */ 10 #define EC_SMI_ENABLE 0x74 11 #define EC_SMI_DISABLE 0x75 12 #define EC_ACPI_ENABLE 0x76 /* Enter ACPI mode */ 13 #define EC_ACPI_DISABLE 0x77 /* Exit ACPI mode */ 14 15 /* Commands with data */ 16 #define EC_AUX_PORT_MODE 0x64 /* PS/2 control mode */ 17 #define EC_AUX_PORT_MODE_ENABLE 0x00 18 #define EC_AUX_PORT_MODE_DISABLE 0x01 19 #define EC_POWER_BUTTON_MODE 0x63 20 #define EC_POWER_BUTTON_MODE_OS 0x00 /* OS control, 8 second override */ 21 #define EC_POWER_BUTTON_MODE_EC 0x01 /* EC control */ 22 #define EC_BACKLIGHT_OFF 0x67 /* Turn Backlight Off */ 23 #define EC_BACKLIGHT_ON 0x68 /* Turn Backlight On */ 24 #define EC_BATTERY_MODE 0x13 25 #define EC_BATTERY_MODE_NORMAL 0x00 /* Normal mode */ 26 #define EC_BATTERY_MODE_EXTEND 0x01 /* Battery Life Cycle Extension */ 27 #define EC_GET_SMI_CAUSE 0x72 /* Get cause of SMI */ 28 29 /* EC RAM */ 30 #define EC_FAN_SPEED 0xca 31 #define EC_FAN_SPEED_LEVEL_0 0x01 /* Level 0 is fastest */ 32 #define EC_FAN_SPEED_LEVEL_1 0x02 /* Level 1 is fast */ 33 #define EC_FAN_SPEED_LEVEL_2 0x04 /* Level 2 is slow */ 34 #define EC_FAN_SPEED_LEVEL_3 0x08 /* Level 3 is slowest */ 35 #define EC_FAN_SPEED_LEVEL_4 0x10 /* Level 4 is off */ 36 #define EC_FAN_SPEED_FLAG_OS 0x80 /* OS control of fan speed */ 37 38 /* EC SMI */ 39 #define EC_LID_CLOSE 0x9c /* Lid close event */ 40 #define EC_LID_OPEN 0x9d /* Lid open event */ 41 42 void lumpy_ec_init(void); 43 44 #endif // LUMPY_EC_H 45