coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
ec.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define EC_IO   0x380 /* Mainboard specific. Could be Kconfig option */
 
#define EC_IO_HIGH   EC_IO + 1
 
#define EC_IO_LOW   EC_IO + 2
 
#define EC_IO_DATA   EC_IO + 3
 
#define KBD_DATA   0x60
 
#define KBD_COMMAND   0x64
 
#define KBD_STATUS   0x64
 
#define KBD_IBF   (1 << 1)
 
#define KBD_OBF   (1 << 0)
 
#define EC_DATA   0x62
 
#define EC_COMMAND   0x66
 
#define EC_SC   0x66
 
#define KBC_TIMEOUT_IN_MS   400
 
#define EC_BAT_DCAP_LO   0x40
 
#define EC_BAT_DCAP_HI   0x41
 
#define EC_BAT_DVOLT_LO   0x42
 
#define EC_BAT_DVOLT_HI   0x43
 
#define EC_BAT_FULL_CAP_LO   0x44
 
#define EC_BAT_FULL_CAP_HI   0x45
 
#define EC_BAT_RATE_LO   0x46
 
#define EC_BAT_RATE_HI   0x47
 
#define EC_BAT_RMC_LO   0x48
 
#define EC_BAT_RMC_HI   0x49
 
#define EC_BAT_VOLT_LO   0x4A
 
#define EC_BAT_VOLT_HI   0x4B
 
#define EC_BAT_CHRG_CURT_LO   0x4C
 
#define EC_BAT_CHRG_CURT_HI   0x4D
 
#define EC_BAT_CHRG_VOLT_LO   0x4E
 
#define EC_BAT_CHRG_VOLT_HI   0x4F
 
#define EC_BAT_TEMP_LO   0x50
 
#define EC_BAT_TEMP_HI   0x51
 
#define EC_BAT_SN_LO   0x52
 
#define EC_BAT_SN_HI   0x53
 
#define EC_BAT_RSOC_LO   0x54
 
#define EC_BAT_RSOC_HI   0x55
 
#define EC_BAT_STATUS_LO   0x56
 
#define EC_BAT_STATUS_HI   0x57
 
#define EC_BAT_CYCLE_COUNT_LO   0x58
 
#define EC_BAT_CYCLE_COUNT_HI   0x59
 
#define EC_BAT_MFG_DATE_LO   0x5A
 
#define EC_BAT_MFG_DATE_HI   0x5B
 
#define EC_BAT_CHEMISTRY0   0x60
 
#define EC_BAT_CHEMISTRY1   0x61
 
#define EC_BAT_CHEMISTRY2   0x62
 
#define EC_BAT_CHEMISTRY3   0x63
 
#define EC_BAT_DEVICE_NAME0   0x64
 
#define EC_BAT_DEVICE_NAME1   0x65
 
#define EC_BAT_DEVICE_NAME2   0x66
 
#define EC_BAT_DEVICE_NAME3   0x67
 
#define EC_BAT_DEVICE_NAME4   0x68
 
#define EC_BAT_DEVICE_NAME5   0x69
 
#define EC_BAT_DEVICE_NAME6   0x6A
 
#define EC_POWER_FLAG   0x70
 
#define EC_PF_ADAPTER_IN   (1 << 0)
 
#define EC_PF_ADAPTER_PIN   (1 << 1)
 
#define EC_PF_BATT_IN   (1 << 2)
 
#define EC_PF_BATT_DESTROY   (1 << 3)
 
#define EC_PF_ACPI_MODE   (1 << 4)
 
#define EC_PF_X86_BIOS   (1 << 6)
 
#define EC_PF_COREBOOT   0
 
#define EC_PF_PASSIVE_THERM   (1 << 7)
 
#define EC_CHARGER_STATUS   0x71
 
#define EC_CHS_BAT_DISCHARGING   (1 << 0)
 
#define EC_CHS_BAT_CHARGING   (1 << 1)
 
#define EC_CHS_BAT_CRITICAL   (1 << 2)
 
#define EC_HW_GPI_STATUS   0x72
 
#define EC_GPI_LID_STAT_BIT   0
 
#define EC_GPI_RECOVERY_MODE_BIT   1
 
#define EC_GPI_LID_OPEN   (1 << EC_GPI_LID_STAT_BIT)
 
#define EC_GPI_RECOVERY_STATUS   (1 << EC_GPI_RECOVERY_MODE_BIT)
 
#define EC_GPIO_STATUS   0x73
 
#define EC_GPIO_TP_LED_ENABLE   (1 << 0)
 
#define EC_GPIO_TP_LED_STATUS   (1 << 1)
 
#define EC_CPU_TMP   0x78
 
#define EC_GPU_TMP   0x79
 
#define EC_LOCAL_TMP1   0x7A
 
#define EC_LOCAL_TMP2   0x7B
 
#define EC_FAN_TACH_LO   0x7C
 
#define EC_FAN_TACH_HI   0x7D
 
#define EC_FAN_DBG_RPM_LO   0x7E
 
#define EC_FAN_DBG_RPM_HI   0x7F
 
#define EC_KBID_REG   0x80
 
#define EC_KBD_EN   0
 
#define EC_KBD_JP   (1 << 1)
 
#define EC_CURR_PS   0x81
 
#define EC_MAX_PS   0x82
 
#define EC_EC_PSW   0x83
 
#define EC_PSW_IKB   (1 << 0)
 
#define EC_PSW_TP   (1 << 1)
 
#define EC_PSW_LAN   (1 << 3)
 
#define EC_PSW_RTC   (1 << 4)
 
#define EC_PSW_USB   (1 << 5)
 
#define EC_WAKE_EVEN_TID   0x84
 
#define EC_WID_IKB   (1 << 0)
 
#define EC_WID_TP   (1 << 1)
 
#define EC_WID_LID   (1 << 2)
 
#define EC_WID_PWRSW   (1 << 7)
 
#define EC_CODE_STATE   0x85
 
#define EC_COS_INITIAL_STAGE   0xBB
 
#define EC_COS_EC_RO   0xC0
 
#define EC_COS_EC_RW   0xC1
 
#define EC_FW_REASON_ID   0x86
 
#define EC_FWR_NOT_RO   0x00
 
#define EC_FWR_GPI_ASSERTED   0x01
 
#define EC_FWR_HOTKEY_PRESSED   0x02
 
#define EC_FWR_FIRMWARE_CORRUPT   0x03
 
#define EC_SHUTDOWN_REASON   0xB9
 
#define EC_FW_VER0   0xBA
 
#define EC_FW_VER1   0xBB
 
#define EC_FW_VER2   0xBC
 
#define EC_FW_VER3   0xBD
 
#define EC_FW_VER4   0xBE
 
#define EC_FW_VER5   0xBF
 
#define EC_SMBPTCL   0xC0
 
#define EC_SMBSTA   0xC1
 
#define EC_SMBADDR   0xC2
 
#define EC_SMBCMD   0xC3
 
#define EC_SMBDATA   0xC4
 
#define EC_SMBBCNT   0xE4
 
#define Q_EVENT_LID_STATUS   0x06
 
#define Q_EVENT_WIFI_BUTTON   0x06
 
#define Q_EVENT_THERM_EVENT   0x08
 
#define Q_EVENT_PSTATE_DOWN   0x0E
 
#define Q_EVENT_PSTATE_UP   0x0F
 
#define Q_EVENT_AC_PLUGGED   0x10
 
#define Q_EVENT_AC_UNPLUGGED   0x11
 
#define Q_EVENT_BATTERY_PLUGGED   0x12
 
#define Q_EVENT_BATTERY_UNPLUGGED   0x13
 
#define Q_EVENT_BATTERY_STATUS   0x14
 
#define EC_CMD_ENABLE_ACPI_MODE   0x71
 
#define EC_CMD_DISABLE_ACPI_MODE   0x72
 
#define EC_CMD_DISABLE_SMBUS_EVENT   0x73
 
#define EC_CMD_ENABLE_SMBUS_EVENT   0x74
 
#define EC_CMD_SYSTEM_RESET   0x78
 
#define EC_CMD_SYSTEM_SHUTDOWN   0x79
 
#define EC_CMD_RESET_FOR_FW_UPDATE   0x7D
 
#define EC_CMD_IDLE_FOR   SPI_UPDATE 0x7E
 
#define EC_CMD_READ_RAM   0x80
 
#define EC_CMD_WRITE_RAM   0x81
 
#define EC_CMD_BURST_ENABLE   0x82
 
#define EC_CMD_BURST_DISABLE   0x83
 
#define EC_CMD_QUERY_EVENT   0x84
 

Functions

u8 ec_kbc_read_ob (void)
 
void ec_kbc_write_cmd (u8 cmd)
 
void ec_kbc_write_ib (u8 data)
 
u8 ec_read_ob (void)
 
void ec_write_cmd (u8 cmd)
 
void ec_write_ib (u8 data)
 
u8 ec_mem_read (u8 addr)
 
void ec_mem_write (u8 addr, u8 data)
 

Macro Definition Documentation

◆ EC_BAT_CHEMISTRY0

#define EC_BAT_CHEMISTRY0   0x60

Definition at line 72 of file ec.h.

◆ EC_BAT_CHEMISTRY1

#define EC_BAT_CHEMISTRY1   0x61

Definition at line 73 of file ec.h.

◆ EC_BAT_CHEMISTRY2

#define EC_BAT_CHEMISTRY2   0x62

Definition at line 74 of file ec.h.

◆ EC_BAT_CHEMISTRY3

#define EC_BAT_CHEMISTRY3   0x63

Definition at line 75 of file ec.h.

◆ EC_BAT_CHRG_CURT_HI

#define EC_BAT_CHRG_CURT_HI   0x4D

Definition at line 57 of file ec.h.

◆ EC_BAT_CHRG_CURT_LO

#define EC_BAT_CHRG_CURT_LO   0x4C

Definition at line 56 of file ec.h.

◆ EC_BAT_CHRG_VOLT_HI

#define EC_BAT_CHRG_VOLT_HI   0x4F

Definition at line 59 of file ec.h.

◆ EC_BAT_CHRG_VOLT_LO

#define EC_BAT_CHRG_VOLT_LO   0x4E

Definition at line 58 of file ec.h.

◆ EC_BAT_CYCLE_COUNT_HI

#define EC_BAT_CYCLE_COUNT_HI   0x59

Definition at line 69 of file ec.h.

◆ EC_BAT_CYCLE_COUNT_LO

#define EC_BAT_CYCLE_COUNT_LO   0x58

Definition at line 68 of file ec.h.

◆ EC_BAT_DCAP_HI

#define EC_BAT_DCAP_HI   0x41

Definition at line 45 of file ec.h.

◆ EC_BAT_DCAP_LO

#define EC_BAT_DCAP_LO   0x40

Definition at line 44 of file ec.h.

◆ EC_BAT_DEVICE_NAME0

#define EC_BAT_DEVICE_NAME0   0x64

Definition at line 76 of file ec.h.

◆ EC_BAT_DEVICE_NAME1

#define EC_BAT_DEVICE_NAME1   0x65

Definition at line 77 of file ec.h.

◆ EC_BAT_DEVICE_NAME2

#define EC_BAT_DEVICE_NAME2   0x66

Definition at line 78 of file ec.h.

◆ EC_BAT_DEVICE_NAME3

#define EC_BAT_DEVICE_NAME3   0x67

Definition at line 79 of file ec.h.

◆ EC_BAT_DEVICE_NAME4

#define EC_BAT_DEVICE_NAME4   0x68

Definition at line 80 of file ec.h.

◆ EC_BAT_DEVICE_NAME5

#define EC_BAT_DEVICE_NAME5   0x69

Definition at line 81 of file ec.h.

◆ EC_BAT_DEVICE_NAME6

#define EC_BAT_DEVICE_NAME6   0x6A

Definition at line 82 of file ec.h.

◆ EC_BAT_DVOLT_HI

#define EC_BAT_DVOLT_HI   0x43

Definition at line 47 of file ec.h.

◆ EC_BAT_DVOLT_LO

#define EC_BAT_DVOLT_LO   0x42

Definition at line 46 of file ec.h.

◆ EC_BAT_FULL_CAP_HI

#define EC_BAT_FULL_CAP_HI   0x45

Definition at line 49 of file ec.h.

◆ EC_BAT_FULL_CAP_LO

#define EC_BAT_FULL_CAP_LO   0x44

Definition at line 48 of file ec.h.

◆ EC_BAT_MFG_DATE_HI

#define EC_BAT_MFG_DATE_HI   0x5B

Definition at line 71 of file ec.h.

◆ EC_BAT_MFG_DATE_LO

#define EC_BAT_MFG_DATE_LO   0x5A

Definition at line 70 of file ec.h.

◆ EC_BAT_RATE_HI

#define EC_BAT_RATE_HI   0x47

Definition at line 51 of file ec.h.

◆ EC_BAT_RATE_LO

#define EC_BAT_RATE_LO   0x46

Definition at line 50 of file ec.h.

◆ EC_BAT_RMC_HI

#define EC_BAT_RMC_HI   0x49

Definition at line 53 of file ec.h.

◆ EC_BAT_RMC_LO

#define EC_BAT_RMC_LO   0x48

Definition at line 52 of file ec.h.

◆ EC_BAT_RSOC_HI

#define EC_BAT_RSOC_HI   0x55

Definition at line 65 of file ec.h.

◆ EC_BAT_RSOC_LO

#define EC_BAT_RSOC_LO   0x54

Definition at line 64 of file ec.h.

◆ EC_BAT_SN_HI

#define EC_BAT_SN_HI   0x53

Definition at line 63 of file ec.h.

◆ EC_BAT_SN_LO

#define EC_BAT_SN_LO   0x52

Definition at line 62 of file ec.h.

◆ EC_BAT_STATUS_HI

#define EC_BAT_STATUS_HI   0x57

Definition at line 67 of file ec.h.

◆ EC_BAT_STATUS_LO

#define EC_BAT_STATUS_LO   0x56

Definition at line 66 of file ec.h.

◆ EC_BAT_TEMP_HI

#define EC_BAT_TEMP_HI   0x51

Definition at line 61 of file ec.h.

◆ EC_BAT_TEMP_LO

#define EC_BAT_TEMP_LO   0x50

Definition at line 60 of file ec.h.

◆ EC_BAT_VOLT_HI

#define EC_BAT_VOLT_HI   0x4B

Definition at line 55 of file ec.h.

◆ EC_BAT_VOLT_LO

#define EC_BAT_VOLT_LO   0x4A

Definition at line 54 of file ec.h.

◆ EC_CHARGER_STATUS

#define EC_CHARGER_STATUS   0x71

Definition at line 94 of file ec.h.

◆ EC_CHS_BAT_CHARGING

#define EC_CHS_BAT_CHARGING   (1 << 1)

Definition at line 96 of file ec.h.

◆ EC_CHS_BAT_CRITICAL

#define EC_CHS_BAT_CRITICAL   (1 << 2)

Definition at line 97 of file ec.h.

◆ EC_CHS_BAT_DISCHARGING

#define EC_CHS_BAT_DISCHARGING   (1 << 0)

Definition at line 95 of file ec.h.

◆ EC_CMD_BURST_DISABLE

#define EC_CMD_BURST_DISABLE   0x83

Definition at line 190 of file ec.h.

◆ EC_CMD_BURST_ENABLE

#define EC_CMD_BURST_ENABLE   0x82

Definition at line 189 of file ec.h.

◆ EC_CMD_DISABLE_ACPI_MODE

#define EC_CMD_DISABLE_ACPI_MODE   0x72

Definition at line 180 of file ec.h.

◆ EC_CMD_DISABLE_SMBUS_EVENT

#define EC_CMD_DISABLE_SMBUS_EVENT   0x73

Definition at line 181 of file ec.h.

◆ EC_CMD_ENABLE_ACPI_MODE

#define EC_CMD_ENABLE_ACPI_MODE   0x71

Definition at line 179 of file ec.h.

◆ EC_CMD_ENABLE_SMBUS_EVENT

#define EC_CMD_ENABLE_SMBUS_EVENT   0x74

Definition at line 182 of file ec.h.

◆ EC_CMD_IDLE_FOR

#define EC_CMD_IDLE_FOR   SPI_UPDATE 0x7E

Definition at line 186 of file ec.h.

◆ EC_CMD_QUERY_EVENT

#define EC_CMD_QUERY_EVENT   0x84

Definition at line 191 of file ec.h.

◆ EC_CMD_READ_RAM

#define EC_CMD_READ_RAM   0x80

Definition at line 187 of file ec.h.

◆ EC_CMD_RESET_FOR_FW_UPDATE

#define EC_CMD_RESET_FOR_FW_UPDATE   0x7D

Definition at line 185 of file ec.h.

◆ EC_CMD_SYSTEM_RESET

#define EC_CMD_SYSTEM_RESET   0x78

Definition at line 183 of file ec.h.

◆ EC_CMD_SYSTEM_SHUTDOWN

#define EC_CMD_SYSTEM_SHUTDOWN   0x79

Definition at line 184 of file ec.h.

◆ EC_CMD_WRITE_RAM

#define EC_CMD_WRITE_RAM   0x81

Definition at line 188 of file ec.h.

◆ EC_CODE_STATE

#define EC_CODE_STATE   0x85

Definition at line 137 of file ec.h.

◆ EC_COMMAND

#define EC_COMMAND   0x66

Definition at line 24 of file ec.h.

◆ EC_COS_EC_RO

#define EC_COS_EC_RO   0xC0

Definition at line 139 of file ec.h.

◆ EC_COS_EC_RW

#define EC_COS_EC_RW   0xC1

Definition at line 140 of file ec.h.

◆ EC_COS_INITIAL_STAGE

#define EC_COS_INITIAL_STAGE   0xBB

Definition at line 138 of file ec.h.

◆ EC_CPU_TMP

#define EC_CPU_TMP   0x78

Definition at line 109 of file ec.h.

◆ EC_CURR_PS

#define EC_CURR_PS   0x81

Definition at line 121 of file ec.h.

◆ EC_DATA

#define EC_DATA   0x62

Definition at line 23 of file ec.h.

◆ EC_EC_PSW

#define EC_EC_PSW   0x83

Definition at line 124 of file ec.h.

◆ EC_FAN_DBG_RPM_HI

#define EC_FAN_DBG_RPM_HI   0x7F

Definition at line 116 of file ec.h.

◆ EC_FAN_DBG_RPM_LO

#define EC_FAN_DBG_RPM_LO   0x7E

Definition at line 115 of file ec.h.

◆ EC_FAN_TACH_HI

#define EC_FAN_TACH_HI   0x7D

Definition at line 114 of file ec.h.

◆ EC_FAN_TACH_LO

#define EC_FAN_TACH_LO   0x7C

Definition at line 113 of file ec.h.

◆ EC_FW_REASON_ID

#define EC_FW_REASON_ID   0x86

Definition at line 142 of file ec.h.

◆ EC_FW_VER0

#define EC_FW_VER0   0xBA

Definition at line 149 of file ec.h.

◆ EC_FW_VER1

#define EC_FW_VER1   0xBB

Definition at line 150 of file ec.h.

◆ EC_FW_VER2

#define EC_FW_VER2   0xBC

Definition at line 151 of file ec.h.

◆ EC_FW_VER3

#define EC_FW_VER3   0xBD

Definition at line 152 of file ec.h.

◆ EC_FW_VER4

#define EC_FW_VER4   0xBE

Definition at line 153 of file ec.h.

◆ EC_FW_VER5

#define EC_FW_VER5   0xBF

Definition at line 154 of file ec.h.

◆ EC_FWR_FIRMWARE_CORRUPT

#define EC_FWR_FIRMWARE_CORRUPT   0x03

Definition at line 146 of file ec.h.

◆ EC_FWR_GPI_ASSERTED

#define EC_FWR_GPI_ASSERTED   0x01

Definition at line 144 of file ec.h.

◆ EC_FWR_HOTKEY_PRESSED

#define EC_FWR_HOTKEY_PRESSED   0x02

Definition at line 145 of file ec.h.

◆ EC_FWR_NOT_RO

#define EC_FWR_NOT_RO   0x00

Definition at line 143 of file ec.h.

◆ EC_GPI_LID_OPEN

#define EC_GPI_LID_OPEN   (1 << EC_GPI_LID_STAT_BIT)

Definition at line 102 of file ec.h.

◆ EC_GPI_LID_STAT_BIT

#define EC_GPI_LID_STAT_BIT   0

Definition at line 100 of file ec.h.

◆ EC_GPI_RECOVERY_MODE_BIT

#define EC_GPI_RECOVERY_MODE_BIT   1

Definition at line 101 of file ec.h.

◆ EC_GPI_RECOVERY_STATUS

#define EC_GPI_RECOVERY_STATUS   (1 << EC_GPI_RECOVERY_MODE_BIT)

Definition at line 103 of file ec.h.

◆ EC_GPIO_STATUS

#define EC_GPIO_STATUS   0x73

Definition at line 105 of file ec.h.

◆ EC_GPIO_TP_LED_ENABLE

#define EC_GPIO_TP_LED_ENABLE   (1 << 0)

Definition at line 106 of file ec.h.

◆ EC_GPIO_TP_LED_STATUS

#define EC_GPIO_TP_LED_STATUS   (1 << 1)

Definition at line 107 of file ec.h.

◆ EC_GPU_TMP

#define EC_GPU_TMP   0x79

Definition at line 110 of file ec.h.

◆ EC_HW_GPI_STATUS

#define EC_HW_GPI_STATUS   0x72

Definition at line 99 of file ec.h.

◆ EC_IO

#define EC_IO   0x380 /* Mainboard specific. Could be Kconfig option */

Definition at line 10 of file ec.h.

◆ EC_IO_DATA

#define EC_IO_DATA   EC_IO + 3

Definition at line 13 of file ec.h.

◆ EC_IO_HIGH

#define EC_IO_HIGH   EC_IO + 1

Definition at line 11 of file ec.h.

◆ EC_IO_LOW

#define EC_IO_LOW   EC_IO + 2

Definition at line 12 of file ec.h.

◆ EC_KBD_EN

#define EC_KBD_EN   0

Definition at line 119 of file ec.h.

◆ EC_KBD_JP

#define EC_KBD_JP   (1 << 1)

Definition at line 120 of file ec.h.

◆ EC_KBID_REG

#define EC_KBID_REG   0x80

Definition at line 118 of file ec.h.

◆ EC_LOCAL_TMP1

#define EC_LOCAL_TMP1   0x7A

Definition at line 111 of file ec.h.

◆ EC_LOCAL_TMP2

#define EC_LOCAL_TMP2   0x7B

Definition at line 112 of file ec.h.

◆ EC_MAX_PS

#define EC_MAX_PS   0x82

Definition at line 122 of file ec.h.

◆ EC_PF_ACPI_MODE

#define EC_PF_ACPI_MODE   (1 << 4)

Definition at line 89 of file ec.h.

◆ EC_PF_ADAPTER_IN

#define EC_PF_ADAPTER_IN   (1 << 0)

Definition at line 85 of file ec.h.

◆ EC_PF_ADAPTER_PIN

#define EC_PF_ADAPTER_PIN   (1 << 1)

Definition at line 86 of file ec.h.

◆ EC_PF_BATT_DESTROY

#define EC_PF_BATT_DESTROY   (1 << 3)

Definition at line 88 of file ec.h.

◆ EC_PF_BATT_IN

#define EC_PF_BATT_IN   (1 << 2)

Definition at line 87 of file ec.h.

◆ EC_PF_COREBOOT

#define EC_PF_COREBOOT   0

Definition at line 91 of file ec.h.

◆ EC_PF_PASSIVE_THERM

#define EC_PF_PASSIVE_THERM   (1 << 7)

Definition at line 92 of file ec.h.

◆ EC_PF_X86_BIOS

#define EC_PF_X86_BIOS   (1 << 6)

Definition at line 90 of file ec.h.

◆ EC_POWER_FLAG

#define EC_POWER_FLAG   0x70

Definition at line 84 of file ec.h.

◆ EC_PSW_IKB

#define EC_PSW_IKB   (1 << 0)

Definition at line 125 of file ec.h.

◆ EC_PSW_LAN

#define EC_PSW_LAN   (1 << 3)

Definition at line 127 of file ec.h.

◆ EC_PSW_RTC

#define EC_PSW_RTC   (1 << 4)

Definition at line 128 of file ec.h.

◆ EC_PSW_TP

#define EC_PSW_TP   (1 << 1)

Definition at line 126 of file ec.h.

◆ EC_PSW_USB

#define EC_PSW_USB   (1 << 5)

Definition at line 129 of file ec.h.

◆ EC_SC

#define EC_SC   0x66

Definition at line 25 of file ec.h.

◆ EC_SHUTDOWN_REASON

#define EC_SHUTDOWN_REASON   0xB9

Definition at line 148 of file ec.h.

◆ EC_SMBADDR

#define EC_SMBADDR   0xC2

Definition at line 157 of file ec.h.

◆ EC_SMBBCNT

#define EC_SMBBCNT   0xE4

Definition at line 160 of file ec.h.

◆ EC_SMBCMD

#define EC_SMBCMD   0xC3

Definition at line 158 of file ec.h.

◆ EC_SMBDATA

#define EC_SMBDATA   0xC4

Definition at line 159 of file ec.h.

◆ EC_SMBPTCL

#define EC_SMBPTCL   0xC0

Definition at line 155 of file ec.h.

◆ EC_SMBSTA

#define EC_SMBSTA   0xC1

Definition at line 156 of file ec.h.

◆ EC_WAKE_EVEN_TID

#define EC_WAKE_EVEN_TID   0x84

Definition at line 131 of file ec.h.

◆ EC_WID_IKB

#define EC_WID_IKB   (1 << 0)

Definition at line 132 of file ec.h.

◆ EC_WID_LID

#define EC_WID_LID   (1 << 2)

Definition at line 134 of file ec.h.

◆ EC_WID_PWRSW

#define EC_WID_PWRSW   (1 << 7)

Definition at line 135 of file ec.h.

◆ EC_WID_TP

#define EC_WID_TP   (1 << 1)

Definition at line 133 of file ec.h.

◆ KBC_TIMEOUT_IN_MS

#define KBC_TIMEOUT_IN_MS   400

Definition at line 28 of file ec.h.

◆ KBD_COMMAND

#define KBD_COMMAND   0x64

Definition at line 17 of file ec.h.

◆ KBD_DATA

#define KBD_DATA   0x60

Definition at line 16 of file ec.h.

◆ KBD_IBF

#define KBD_IBF   (1 << 1)

Definition at line 19 of file ec.h.

◆ KBD_OBF

#define KBD_OBF   (1 << 0)

Definition at line 20 of file ec.h.

◆ KBD_STATUS

#define KBD_STATUS   0x64

Definition at line 18 of file ec.h.

◆ Q_EVENT_AC_PLUGGED

#define Q_EVENT_AC_PLUGGED   0x10

Definition at line 170 of file ec.h.

◆ Q_EVENT_AC_UNPLUGGED

#define Q_EVENT_AC_UNPLUGGED   0x11

Definition at line 171 of file ec.h.

◆ Q_EVENT_BATTERY_PLUGGED

#define Q_EVENT_BATTERY_PLUGGED   0x12

Definition at line 172 of file ec.h.

◆ Q_EVENT_BATTERY_STATUS

#define Q_EVENT_BATTERY_STATUS   0x14

Definition at line 174 of file ec.h.

◆ Q_EVENT_BATTERY_UNPLUGGED

#define Q_EVENT_BATTERY_UNPLUGGED   0x13

Definition at line 173 of file ec.h.

◆ Q_EVENT_LID_STATUS

#define Q_EVENT_LID_STATUS   0x06

Definition at line 165 of file ec.h.

◆ Q_EVENT_PSTATE_DOWN

#define Q_EVENT_PSTATE_DOWN   0x0E

Definition at line 168 of file ec.h.

◆ Q_EVENT_PSTATE_UP

#define Q_EVENT_PSTATE_UP   0x0F

Definition at line 169 of file ec.h.

◆ Q_EVENT_THERM_EVENT

#define Q_EVENT_THERM_EVENT   0x08

Definition at line 167 of file ec.h.

◆ Q_EVENT_WIFI_BUTTON

#define Q_EVENT_WIFI_BUTTON   0x06

Definition at line 166 of file ec.h.

Function Documentation

◆ ec_kbc_read_ob()

u8 ec_kbc_read_ob ( void  )

Definition at line 71 of file ec.c.

◆ ec_kbc_write_cmd()

void ec_kbc_write_cmd ( u8  cmd)

Definition at line 77 of file ec.c.

◆ ec_kbc_write_ib()

void ec_kbc_write_ib ( u8  data)

Definition at line 83 of file ec.c.

◆ ec_mem_read()

u8 ec_mem_read ( u8  addr)

Definition at line 94 of file ec.c.

References addr, EC_CMD_READ_RAM, ec_read_ob(), ec_write_cmd(), and ec_write_ib().

Referenced by butterfly_ec_init(), ene_kb3940q_log_events(), get_lid_switch(), and mainboard_smi_sleep().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ec_mem_write()

void ec_mem_write ( u8  addr,
u8  data 
)

Definition at line 101 of file ec.c.

References addr, EC_CMD_WRITE_RAM, ec_write_cmd(), and ec_write_ib().

Referenced by butterfly_ec_init(), mainboard_smi_sleep(), and program_keyboard_type().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ec_read_ob()

u8 ec_read_ob ( void  )

Definition at line 73 of file ec.c.

◆ ec_write_cmd()

void ec_write_cmd ( u8  cmd)

Definition at line 79 of file ec.c.

◆ ec_write_ib()

void ec_write_ib ( u8  data)

Definition at line 85 of file ec.c.