summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ec/dell/mec5035/mec5035.c10
-rw-r--r--src/ec/dell/mec5035/mec5035.h20
2 files changed, 17 insertions, 13 deletions
diff --git a/src/ec/dell/mec5035/mec5035.c b/src/ec/dell/mec5035/mec5035.c
index 68b6b2f7fb..dffbb7960c 100644
--- a/src/ec/dell/mec5035/mec5035.c
+++ b/src/ec/dell/mec5035/mec5035.c
@@ -66,17 +66,17 @@ static enum cb_err write_mailbox_regs(const u8 *data, u8 start, u8 count)
return CB_SUCCESS;
}
-static void ec_command(u8 cmd)
+static void ec_command(enum mec5035_cmd cmd)
{
outb(0, MAILBOX_INDEX);
- outb(cmd, MAILBOX_DATA);
+ outb((u8)cmd, MAILBOX_DATA);
wait_ec();
}
-u8 mec5035_mouse_touchpad(u8 setting)
+u8 mec5035_mouse_touchpad(enum ec_mouse_setting setting)
{
- u8 buf[15] = {0};
- write_mailbox_regs(&setting, 2, 1);
+ u8 buf[15] = {(u8)setting};
+ write_mailbox_regs(buf, 2, 1);
ec_command(CMD_MOUSE_TP);
/* The vendor firmware reads 15 bytes starting at index 1, presumably
to get some sort of return code. Though I don't know for sure if
diff --git a/src/ec/dell/mec5035/mec5035.h b/src/ec/dell/mec5035/mec5035.h
index fa15a9d621..32f791cb01 100644
--- a/src/ec/dell/mec5035/mec5035.h
+++ b/src/ec/dell/mec5035/mec5035.h
@@ -7,16 +7,20 @@
#define NUM_REGISTERS 32
+enum mec5035_cmd {
+ CMD_MOUSE_TP = 0x1a,
+ CMD_RADIO_CTRL = 0x2b,
+ CMD_CPU_OK = 0xc2,
+};
+
/* Touchpad (TP) and mouse related. The EC seems to
default to 0 which results in the TP not working. */
-#define CMD_MOUSE_TP 0x1a
-#define SERIAL_MOUSE 0 /* Disable TP, force use of a serial mouse */
-#define PS2_MOUSE 1 /* Disable TP when using a PS/2 mouse */
-#define TP_PS2_MOUSE 2 /* Leave TP enabled when using a PS/2 mouse */
-
-#define CMD_CPU_OK 0xc2
+enum ec_mouse_setting {
+ SERIAL_MOUSE = 0, /* Disable TP, force use of a serial mouse */
+ PS2_MOUSE, /* Disable TP when using a PS/2 mouse */
+ TP_PS2_MOUSE /* Leave TP enabled when using a PS/2 mouse */
+};
-#define CMD_RADIO_CTRL 0x2b
#define RADIO_CTRL_NUM_ARGS 3
enum ec_radio_dev {
RADIO_WLAN = 0,
@@ -29,7 +33,7 @@ enum ec_radio_state {
RADIO_ON
};
-u8 mec5035_mouse_touchpad(u8 setting);
+u8 mec5035_mouse_touchpad(enum ec_mouse_setting setting);
void mec5035_cpu_ok(void);
void mec5035_early_init(void);
void mec5035_control_radio(enum ec_radio_dev device, enum ec_radio_state state);