summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJett Rink <jettrink@chromium.org>2019-01-09 08:00:32 -0700
committerchrome-bot <chrome-bot@chromium.org>2019-01-10 13:58:43 -0800
commit62adbc1bd61124f04405b9ee94b7172171546239 (patch)
tree29216a9f46e55802d7214942ae0882460b6ba0ac
parent1f1e33a579ba26e4edd258bd93c5366bd8bc52eb (diff)
downloadchrome-ec-62adbc1bd61124f04405b9ee94b7172171546239.tar.gz
octopus: convert boards to use hardware int
Recent kernel changes expect the EC to use a dedicated interrupt pin from the EC to the AP to notify the AP of pending sensor data (instead of using an eSPI "interrupt"). The octopus boards have this hardware support, we just need to enable the EC use it. BRANCH=octopus BUG=b:122552125,b:120679547 TEST=perform sensor tests on various octopus boards Change-Id: I2bd3ffe14947d5f1ec71acbb53fcac962b007cf9 Signed-off-by: Jett Rink <jettrink@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1403103 Reviewed-by: Enrico Granata <egranata@chromium.org>
-rw-r--r--baseboard/octopus/baseboard.h7
-rw-r--r--board/ampton/board.h2
-rw-r--r--board/ampton/gpio.inc2
-rw-r--r--board/bip/board.h3
-rw-r--r--board/bobba/board.h2
-rw-r--r--board/fleex/board.h3
-rw-r--r--board/fleex/gpio.inc4
-rw-r--r--board/meep/board.h3
-rw-r--r--board/meep/gpio.inc2
-rw-r--r--board/phaser/board.h3
-rw-r--r--board/phaser/gpio.inc4
-rw-r--r--board/yorp/board.h3
-rw-r--r--board/yorp/gpio.inc3
13 files changed, 21 insertions, 20 deletions
diff --git a/baseboard/octopus/baseboard.h b/baseboard/octopus/baseboard.h
index 1b91245da0..94c0197ec6 100644
--- a/baseboard/octopus/baseboard.h
+++ b/baseboard/octopus/baseboard.h
@@ -279,6 +279,13 @@
/* Depends on how fast the AP boots and typical ODRs */
#define CONFIG_ACCEL_FIFO_THRES (CONFIG_ACCEL_FIFO / 3)
+/*
+ * Sensor stack in EC/Kernel depends on a hardware interrupt pin from EC->AP, so
+ * do not define CONFIG_MKBP_USE_HOST_EVENT since all octopus boards use
+ * hardware pin to send interrupt from EC -> AP (except bip).
+ */
+#define CONFIG_MKBP_EVENT
+
#ifndef __ASSEMBLER__
#include "gpio_signal.h"
diff --git a/board/ampton/board.h b/board/ampton/board.h
index 908ca8fb07..0207ed2bc6 100644
--- a/board/ampton/board.h
+++ b/board/ampton/board.h
@@ -52,8 +52,6 @@
#define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL
#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL
-#define CONFIG_MKBP_EVENT
-
#define CONFIG_ACCELGYRO_BMI160_INT_EVENT TASK_EVENT_CUSTOM(1 << 2)
#define CONFIG_SYNC_INT_EVENT TASK_EVENT_CUSTOM(1 << 3)
diff --git a/board/ampton/gpio.inc b/board/ampton/gpio.inc
index 3de2c663c2..359a1a73a6 100644
--- a/board/ampton/gpio.inc
+++ b/board/ampton/gpio.inc
@@ -111,7 +111,7 @@ GPIO(CCD_MODE_ODL, PIN(C, 4), GPIO_INPUT)
GPIO(BAT_LED_AMBER, PIN(A, 6), GPIO_OUT_LOW) /* LED_1_EC */
GPIO(BAT_LED_WHITE, PIN(A, 3), GPIO_OUT_LOW) /* LED_2_EC */
-/* Camera */
+/* MKBP event synchronization */
GPIO(EC_INT_L, PIN(E, 6), GPIO_ODR_HIGH)
UNIMPLEMENTED(KB_BL_PWR_EN)
diff --git a/board/bip/board.h b/board/bip/board.h
index 4cf28c834e..3a618e982e 100644
--- a/board/bip/board.h
+++ b/board/bip/board.h
@@ -28,6 +28,9 @@
#undef CONFIG_PWM
#undef CONFIG_PWM_KBLIGHT
+/* Old hardware does not support dedicated EC->AP interrupt for MKBP */
+#define CONFIG_MKBP_USE_HOST_EVENT
+
#undef CONFIG_UART_TX_BUF_SIZE
#define CONFIG_UART_TX_BUF_SIZE 4096
diff --git a/board/bobba/board.h b/board/bobba/board.h
index 92331821f9..0beed83d29 100644
--- a/board/bobba/board.h
+++ b/board/bobba/board.h
@@ -49,8 +49,6 @@
#define CONFIG_STEINHART_HART_3V3_13K7_47K_4050B
#define CONFIG_STEINHART_HART_3V3_51K1_47K_4050B
-#define CONFIG_MKBP_EVENT
-
#ifndef __ASSEMBLER__
/* support factory keyboard test */
diff --git a/board/fleex/board.h b/board/fleex/board.h
index ee28d41e9f..669f1466aa 100644
--- a/board/fleex/board.h
+++ b/board/fleex/board.h
@@ -42,9 +42,6 @@
#define CONFIG_STEINHART_HART_3V3_13K7_47K_4050B
#define CONFIG_STEINHART_HART_3V3_51K1_47K_4050B
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_USE_HOST_EVENT
-
#define CONFIG_ACCEL_LSM6DSM_INT_EVENT TASK_EVENT_CUSTOM(4)
#ifndef __ASSEMBLER__
diff --git a/board/fleex/gpio.inc b/board/fleex/gpio.inc
index 92e730248b..41488ad974 100644
--- a/board/fleex/gpio.inc
+++ b/board/fleex/gpio.inc
@@ -147,7 +147,9 @@ GPIO(TRACKPAD_INT_1V8_ODL, PIN(9, 3), GPIO_INPUT | GPIO_SEL_1P8V)
/* Camera */
GPIO(EC_GPIO03, PIN(0, 3), GPIO_INPUT) /* TP only */
-GPIO(EC_INT_L, PIN(9, 4), GPIO_INPUT) /* EC_AP_INT_ODL - Unused GPIO_ODR_HIGH */
+
+/* MKBP event synchronization */
+GPIO(EC_INT_L, PIN(9, 4), GPIO_ODR_HIGH) /* EC_AP_INT_ODL */
/* Unused Pins */
GPIO(CHARGER_PMON, PIN(4, 2), GPIO_INPUT)
diff --git a/board/meep/board.h b/board/meep/board.h
index 69e6279403..e15016ce86 100644
--- a/board/meep/board.h
+++ b/board/meep/board.h
@@ -43,9 +43,6 @@
#define CONFIG_STEINHART_HART_3V3_13K7_47K_4050B
#define CONFIG_STEINHART_HART_3V3_51K1_47K_4050B
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_USE_HOST_EVENT
-
#define CONFIG_KEYBOARD_FACTORY_TEST
#define OCTOPUS_BATT_FUEL_LOW_LED 10
diff --git a/board/meep/gpio.inc b/board/meep/gpio.inc
index a24f26a5cd..d1d29a6031 100644
--- a/board/meep/gpio.inc
+++ b/board/meep/gpio.inc
@@ -139,7 +139,7 @@ GPIO(PWR_LED_WHITE_L, PIN(D, 7), GPIO_OUT_HIGH) /* LED_3_L */
GPIO(KB_BL_PWR_EN, PIN(6, 2), GPIO_OUT_LOW)
/* MKBP event synchronization */
-GPIO(EC_INT_L, PIN(9, 4), GPIO_INPUT) /* EC_AP_INT_ODL - currently unused */
+GPIO(EC_INT_L, PIN(9, 4), GPIO_ODR_HIGH) /* EC_AP_INT_ODL */
/* Overcurrent event to host */
GPIO(USB_C_OC, PIN(3, 6), GPIO_ODR_HIGH | GPIO_SEL_1P8V)
diff --git a/board/phaser/board.h b/board/phaser/board.h
index 0b5d262d49..91d3d793ad 100644
--- a/board/phaser/board.h
+++ b/board/phaser/board.h
@@ -40,9 +40,6 @@
#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL
#define CONFIG_DYNAMIC_MOTION_SENSOR_COUNT
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_USE_HOST_EVENT
-
#define CONFIG_ACCEL_LSM6DSM_INT_EVENT TASK_EVENT_CUSTOM(4)
#ifndef __ASSEMBLER__
diff --git a/board/phaser/gpio.inc b/board/phaser/gpio.inc
index 11c1bfde0b..3579ecb38a 100644
--- a/board/phaser/gpio.inc
+++ b/board/phaser/gpio.inc
@@ -147,7 +147,9 @@ GPIO(GPOB6_NC, PIN(B, 6), GPIO_INPUT | GPIO_PULL_UP)
/* Camera */
GPIO(EC_GPIO_03, PIN(0, 3), GPIO_INPUT) /* TP only */
-GPIO(EC_INT_L, PIN(9, 4), GPIO_INPUT) /* EC_AP_INT_ODL - Unused GPIO_ODR_HIGH */
+
+/* MKBP event synchronization */
+GPIO(EC_INT_L, PIN(9, 4), GPIO_ODR_HIGH) /* EC_AP_INT_ODL */
/* Misc. */
GPIO(CCD_MODE_EC_L, PIN(E, 3), GPIO_INPUT)
diff --git a/board/yorp/board.h b/board/yorp/board.h
index c0521e717a..b84785c7bd 100644
--- a/board/yorp/board.h
+++ b/board/yorp/board.h
@@ -39,9 +39,6 @@
#define CONFIG_STEINHART_HART_3V3_13K7_47K_4050B
#define CONFIG_STEINHART_HART_3V3_51K1_47K_4050B
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_USE_HOST_EVENT
-
#define CONFIG_ACCEL_LSM6DSM_INT_EVENT TASK_EVENT_CUSTOM(4)
#ifndef __ASSEMBLER__
diff --git a/board/yorp/gpio.inc b/board/yorp/gpio.inc
index 38a491202e..4df33ddf3a 100644
--- a/board/yorp/gpio.inc
+++ b/board/yorp/gpio.inc
@@ -148,6 +148,9 @@ GPIO(KB_BL_PWR_EN, PIN(6, 2), GPIO_OUT_LOW)
/* Camera */
GPIO(WFCAM_VSYNC, PIN(0, 3), GPIO_INPUT) /* TP only */
+/* MKBP event synchronization */
+GPIO(EC_INT_L, PIN(9, 4), GPIO_ODR_HIGH) /* EC_AP_INT_ODL */
+
/* Overcurrent event to host */
GPIO(USB_C_OC, PIN(3, 6), GPIO_ODR_HIGH | GPIO_SEL_1P8V)