From e6a3821b97bdbe817646f3b151ace7d4471c2fab Mon Sep 17 00:00:00 2001 From: Patrick Rudolph Date: Wed, 1 Mar 2017 19:07:37 +0100 Subject: libpayload-x86: Add common i8042 driver Add a common i8042 driver that uses multiple overflowing fifos to seperate PS/2 port and PS/2 aux port. Required to support PC keyboard and PC mouse at the same time. Tested on Lenovo T500. Change-Id: I4ca803bfa3ed45111776eef1f4dccd3fab02ea39 Signed-off-by: Patrick Rudolph Reviewed-on: https://review.coreboot.org/18594 Reviewed-by: Philipp Deppenwiese Tested-by: build bot (Jenkins) --- payloads/libpayload/include/libpayload.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'payloads/libpayload/include/libpayload.h') diff --git a/payloads/libpayload/include/libpayload.h b/payloads/libpayload/include/libpayload.h index 43ecd05b02..96cc5f8165 100644 --- a/payloads/libpayload/include/libpayload.h +++ b/payloads/libpayload/include/libpayload.h @@ -178,6 +178,31 @@ void mouse_cursor_set_acceleration(u8 val); u8 mouse_cursor_get_acceleration(void); /** @} */ +/** + * @defgroup i8042 controller functions + * @ingroup input + * @{ + */ +size_t i8042_has_ps2(void); +size_t i8042_has_aux(void); + +u8 i8042_probe(void); +void i8042_close(void); + +int i8042_cmd(u8 cmd); +void i8042_write_data(u8 data); + +u8 i8042_data_ready_ps2(void); +u8 i8042_data_ready_aux(void); + +u8 i8042_read_data_ps2(void); +u8 i8042_read_data_aux(void); + +int i8042_wait_read_ps2(void); +int i8042_wait_read_aux(void); + +/** @} */ + /** * @defgroup serial Serial functions * @ingroup input -- cgit v1.2.3