summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Chen <philipchen@google.com>2017-10-31 02:11:55 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-11-03 01:53:37 -0700
commit7d76175df7e00f9fa0a20fcea4c12b9033573042 (patch)
tree1fa41678e314f6dea71fa83c57ceb98c76afcb1a
parent2f127f3081be00dc318b4e0b9a9947c68b24849d (diff)
downloadchrome-ec-7d76175df7e00f9fa0a20fcea4c12b9033573042.tar.gz
nautilus: Support keyboard matrix
Also fix the strapping pins for board id. BUG=b:68684486 BRANCH=none TEST=build Nautilus Change-Id: I9e9b5fe73efc85456f87355524de3e7ff7a592fb Signed-off-by: Philip Chen <philipchen@google.com> Reviewed-on: https://chromium-review.googlesource.com/746562 Commit-Ready: Philip Chen <philipchen@chromium.org> Tested-by: Philip Chen <philipchen@chromium.org> Reviewed-by: Shawn N <shawnn@chromium.org>
-rw-r--r--board/nautilus/board.c30
-rw-r--r--board/nautilus/board.h5
-rw-r--r--board/nautilus/ec.tasklist2
-rw-r--r--board/nautilus/gpio.inc11
4 files changed, 13 insertions, 35 deletions
diff --git a/board/nautilus/board.c b/board/nautilus/board.c
index 97ccb674e6..78f07ef354 100644
--- a/board/nautilus/board.c
+++ b/board/nautilus/board.c
@@ -807,36 +807,6 @@ void board_hibernate(void)
;
}
-int board_get_version(void)
-{
- static int ver = -1;
- uint8_t id4;
-
- if (ver != -1)
- return ver;
-
- ver = 0;
-
- /* First 3 strappings are binary. */
- if (gpio_get_level(GPIO_BOARD_VERSION1))
- ver |= 0x01;
- if (gpio_get_level(GPIO_BOARD_VERSION2))
- ver |= 0x02;
- if (gpio_get_level(GPIO_BOARD_VERSION3))
- ver |= 0x04;
-
- /*
- * 4th bit is using tristate strapping, ternary encoding:
- * Hi-Z (id4=2) => 0, (id4=0) => 1, (id4=1) => 2
- */
- id4 = gpio_get_ternary(GPIO_BOARD_VERSION4);
- ver |= ((id4 + 1) % 3) * 0x08;
-
- CPRINTS("Board ID = %d", ver);
-
- return ver;
-}
-
/* Lid Sensor mutex */
static struct mutex g_lid_mutex;
diff --git a/board/nautilus/board.h b/board/nautilus/board.h
index ef8e1edfdb..e331ebf3fb 100644
--- a/board/nautilus/board.h
+++ b/board/nautilus/board.h
@@ -18,16 +18,16 @@
#define CONFIG_ADC
#define CONFIG_BACKLIGHT_LID
#define CONFIG_BOARD_VERSION
-#define CONFIG_BOARD_SPECIFIC_VERSION
#define CONFIG_BUTTON_COUNT 2
#define CONFIG_BUTTON_RECOVERY
#define CONFIG_CASE_CLOSED_DEBUG_EXTERNAL
#define CONFIG_DPTF
-#define CONFIG_EMULATED_SYSRQ
#define CONFIG_FLASH_SIZE 0x80000
#define CONFIG_FPU
#define CONFIG_I2C
#define CONFIG_I2C_MASTER
+#define CONFIG_KEYBOARD_COL2_INVERTED
+#define CONFIG_KEYBOARD_PROTOCOL_8042
#define CONFIG_LED_COMMON
#define CONFIG_LID_SWITCH
#define CONFIG_LOW_POWER_IDLE
@@ -107,7 +107,6 @@
/* TODO(crosbug.com/p/61098): Is this the correct thermistor? */
#define CONFIG_THERMISTOR_NCP15WB
-#define CONFIG_KEYBOARD_PROTOCOL_MKBP
#define CONFIG_MKBP_EVENT
#define CONFIG_MKBP_USE_HOST_EVENT
#define CONFIG_ACCELGYRO_BMI160
diff --git a/board/nautilus/ec.tasklist b/board/nautilus/ec.tasklist
index e8e31203cb..13c29388c8 100644
--- a/board/nautilus/ec.tasklist
+++ b/board/nautilus/ec.tasklist
@@ -28,9 +28,11 @@
TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_TASK_STACK_SIZE) \
TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \
TASK_NOTEST(PDCMD, pd_command_task, NULL, TASK_STACK_SIZE) \
TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(POWERBTN, power_button_task, NULL, LARGER_TASK_STACK_SIZE) \
+ TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \
TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \
TASK_ALWAYS(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE)
diff --git a/board/nautilus/gpio.inc b/board/nautilus/gpio.inc
index 11bbecd197..2d502f27c3 100644
--- a/board/nautilus/gpio.inc
+++ b/board/nautilus/gpio.inc
@@ -113,8 +113,7 @@ GPIO(LED_WHITE_C1, PIN(3, 0), GPIO_OUT_LOW)
/* Board ID */
GPIO(BOARD_VERSION1, PIN(C, 4), GPIO_INPUT) /* Board ID bit0 */
GPIO(BOARD_VERSION2, PIN(C, 2), GPIO_INPUT) /* Board ID bit1 */
-GPIO(BOARD_VERSION3, PIN(1, 3), GPIO_INPUT) /* Board ID bit2 */
-GPIO(BOARD_VERSION4, PIN(1, 7), GPIO_INPUT) /* Board ID strap 3 (ternary) */
+GPIO(BOARD_VERSION3, PIN(5, 7), GPIO_INPUT) /* Board ID bit2 */
/* Alternate functions GPIO definitions */
ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, 0) /* GPIO64-65 */ /* UART from EC to Servo */
@@ -124,3 +123,11 @@ ALTERNATE(PIN_MASK(9, 0x06), 1, MODULE_I2C, 0) /* GPIO91-92 */ /* EC_I2C2_PMIC
ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* GPIOB4-B5 */ /* EC_I2C0_0_USBC_3V3_SDA/SCL */
ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, 0) /* GPOPB2-B3 */ /* EC_I2C0_1_3V3_SDA/SCL */
ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* GPIOD0-D1 */ /* EC_I2C3_SENSOR_1V8_SDA/SCL */
+
+/* Keyboard pins */
+ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, 0)
+ALTERNATE(PIN_MASK(2, 0xfc), 0, MODULE_KEYBOARD_SCAN, 0)
+ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, 0)
+ALTERNATE(PIN_MASK(0, 0xe0), 0, MODULE_KEYBOARD_SCAN, 0)
+ALTERNATE(PIN_MASK(1, 0x7f), 0, MODULE_KEYBOARD_SCAN, 0)
+GPIO(KBD_KSO2, PIN(1, 7), GPIO_OUT_LOW)