Go to the documentation of this file.
8 #include <linux/list.h>
10 #include <linux/types.h>
37 #define SMU_CMD_PARTITION_COMMAND 0x3e
38 #define SMU_CMD_PARTITION_LATEST 0x01
39 #define SMU_CMD_PARTITION_BASE 0x02
40 #define SMU_CMD_PARTITION_UPDATE 0x03
71 #define SMU_CMD_FAN_COMMAND 0x4a
79 #define SMU_CMD_BATTERY_COMMAND 0x6f
80 #define SMU_CMD_GET_BATTERY_INFO 0x00
93 #define SMU_CMD_RTC_COMMAND 0x8e
94 #define SMU_CMD_RTC_SET_PWRUP_TIMER 0x00
95 #define SMU_CMD_RTC_GET_PWRUP_TIMER 0x01
96 #define SMU_CMD_RTC_STOP_PWRUP_TIMER 0x02
97 #define SMU_CMD_RTC_SET_PRAM_BYTE_ACC 0x20
98 #define SMU_CMD_RTC_SET_PRAM_AUTOINC 0x21
99 #define SMU_CMD_RTC_SET_PRAM_LO_BYTES 0x22
100 #define SMU_CMD_RTC_SET_PRAM_HI_BYTES 0x23
101 #define SMU_CMD_RTC_GET_PRAM_BYTE 0x28
102 #define SMU_CMD_RTC_GET_PRAM_LO_BYTES 0x29
103 #define SMU_CMD_RTC_GET_PRAM_HI_BYTES 0x2a
104 #define SMU_CMD_RTC_SET_DATETIME 0x80
105 #define SMU_CMD_RTC_GET_DATETIME 0x81
166 #define SMU_CMD_I2C_COMMAND 0x9a
168 #define SMU_I2C_TRANSFER_SIMPLE 0x00
169 #define SMU_I2C_TRANSFER_STDSUB 0x01
170 #define SMU_I2C_TRANSFER_COMBINED 0x02
191 #define SMU_CMD_POWER_COMMAND 0xaa
192 #define SMU_CMD_POWER_RESTART "RESTART"
193 #define SMU_CMD_POWER_SHUTDOWN "SHUTDOWN"
194 #define SMU_CMD_POWER_VOLTAGE_SLEW "VSLEW"
202 #define SMU_CMD_READ_ADC 0xd8
212 #define SMU_CMD_MISC_df_COMMAND 0xdf
227 #define SMU_CMD_MISC_df_SET_DISPLAY_LIT 0x02
242 #define SMU_CMD_MISC_df_NMI_OPTION 0x04
253 #define SMU_CMD_MISC_df_DIMM_OFFSET 0x99
265 #define SMU_CMD_VERSION_COMMAND 0xea
266 #define SMU_VERSION_RUNNING 0x00
267 #define SMU_VERSION_BASE 0x01
268 #define SMU_VERSION_UPDATE 0x02
282 #define SMU_CMD_SWITCHES 0xdc
285 #define SMU_SWITCH_CASE_CLOSED 0x01
286 #define SMU_SWITCH_AC_POWER 0x04
287 #define SMU_SWITCH_POWER_SWITCH 0x08
314 #define SMU_CMD_MISC_ee_COMMAND 0xee
315 #define SMU_CMD_MISC_ee_GET_DATABLOCK_REC 0x02
322 #define SMU_CMD_MISC_ee_GET_WATTS 0x03
324 #define SMU_CMD_MISC_ee_LEDS_CTRL 0x04
325 #define SMU_CMD_MISC_ee_GET_DATA 0x05
334 #define SMU_CMD_POWER_EVENTS_COMMAND 0x8f
416 struct smu_simple_cmd
428 void (*
done)(
struct smu_cmd *
cmd,
void *misc),
444 static inline void smu_spinwait_simple(
struct smu_simple_cmd *scmd)
477 extern unsigned long smu_cmdbuf_abs;
484 #define SMU_I2C_READ_MAX 0x1d
485 #define SMU_I2C_WRITE_MAX 0x15
497 u8 data[SMU_I2C_READ_MAX];
503 struct smu_i2c_param
info;
550 #define SMU_U16_MIX(x) le16_to_cpu(x)
551 #define SMU_U32_MIX(x) ((((x) & 0xff00ff00u) >> 8)|(((x) & 0x00ff00ffu) << 8))
558 #define SMU_SDB_FVT_ID 0x12
580 #define SMU_SDB_CPUVCP_ID 0x21
592 #define SMU_SDB_CPUDIODE_ID 0x18
602 #define SMU_SDB_SLOTSPOW_ID 0x78
612 #define SMU_SDB_SENSORTREE_ID 0x25
623 #define SMU_SDB_CPUPIDDATA_ID 0x17
637 #define SMU_SDB_DEBUG_SWITCHES_ID 0x05
649 int id,
unsigned int *
size);
685 #define SMU_CMDTYPE_SMU 0
686 #define SMU_CMDTYPE_WANTS_EVENTS 1
687 #define SMU_CMDTYPE_GET_PARTITION 2