summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorNicolas Boichat <drinkcat@chromium.org>2017-11-06 08:31:33 -0800
committerchrome-bot <chrome-bot@chromium.org>2017-11-09 16:43:54 -0800
commitfe69abf6c326dbfd054d6b498c7ad3669e9c681a (patch)
tree0708a5636854d1ac2eddecfd7bbf67511048e4a3 /board
parentad231bf1d1eb84dbaeeab06006c2b33a52a53874 (diff)
downloadchrome-ec-fe69abf6c326dbfd054d6b498c7ad3669e9c681a.tar.gz
board: Add support for whiskers board
A hammer derivative. BRANCH=none BUG=b:68934906 TEST=make BOARD=whiskers -j Change-Id: I8df5156d622bf518f647addf2fcea6342b2d6f2b Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/754078 Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board')
-rw-r--r--board/hammer/board.h34
-rw-r--r--board/hammer/gpio.inc25
l---------board/whiskers1
3 files changed, 50 insertions, 10 deletions
diff --git a/board/hammer/board.h b/board/hammer/board.h
index 9d5bbb833c..7b713d05f2 100644
--- a/board/hammer/board.h
+++ b/board/hammer/board.h
@@ -80,10 +80,12 @@
/* USB Configuration */
#define CONFIG_USB
-#ifdef BOARD_STAFF
-#define CONFIG_USB_PID 0x502b
-#elif defined(BOARD_HAMMER)
+#ifdef BOARD_HAMMER
#define CONFIG_USB_PID 0x5022
+#elif defined(BOARD_STAFF)
+#define CONFIG_USB_PID 0x502b
+#elif defined(BOARD_WHISKERS)
+#define CONFIG_USB_PID 0x5030
#else
#error "Invalid board"
#endif
@@ -148,17 +150,24 @@
#define CONFIG_TOUCHPAD_HASH_FW
/* Touchpad firmware size and dimension difference */
-#ifdef BOARD_STAFF
+#ifdef BOARD_HAMMER
+#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3207
+#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1783
+#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1018 /* tenth of mm */
+#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 566 /* tenth of mm */
+#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (48*1024)
+#elif defined(BOARD_STAFF)
#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3206
#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1832
#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1017 /* tenth of mm */
#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 581 /* tenth of mm */
#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (56*1024)
-#elif defined(BOARD_HAMMER)
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3207
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1783
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1018 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 566 /* tenth of mm */
+#elif defined(BOARD_WHISKERS)
+/* TODO(b:68934906): Add support for touchpad and replace these values. */
+#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3000
+#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1500
+#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1000 /* tenth of mm */
+#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 500 /* tenth of mm */
#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (48*1024)
#else
#error "No touchpad information for board."
@@ -167,7 +176,7 @@
#define CONFIG_KEYBOARD_DEBUG
#undef CONFIG_KEYBOARD_BOOT_KEYS
#undef CONFIG_KEYBOARD_RUNTIME_KEYS
-#ifdef BOARD_HAMMER
+#if defined(BOARD_HAMMER) || defined(BOARD_WHISKERS)
#define CONFIG_KEYBOARD_BOARD_CONFIG
#define CONFIG_KEYBOARD_NEW_KEY
#endif
@@ -223,8 +232,13 @@
/* Timer selection */
#define TIM_CLOCK32 2
+#ifdef BOARD_WHISKERS
+#define TIM_KBLIGHT 16
+#define TIM_WATCHDOG 17
+#else
#define TIM_WATCHDOG 16
#define TIM_KBLIGHT 17
+#endif
#include "gpio_signal.h"
diff --git a/board/hammer/gpio.inc b/board/hammer/gpio.inc
index b9eb46c09b..305a9f95b7 100644
--- a/board/hammer/gpio.inc
+++ b/board/hammer/gpio.inc
@@ -8,14 +8,22 @@
/* Declare symbolic names for all the GPIOs that we care about.
* Note: Those with interrupt handlers must be declared first. */
+#ifdef BOARD_WHISKERS
+GPIO_INT(TOUCHPAD_INT, PIN(B, 9), GPIO_INT_FALLING, elan_tp_interrupt)
+#else
GPIO_INT(TOUCHPAD_INT, PIN(B, 8), GPIO_INT_FALLING, elan_tp_interrupt)
+#endif
/* Keyboard inputs */
#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP | GPIO_INT_BOTH)
#define GPIO_KB_OUTPUT GPIO_ODR_HIGH
GPIO_INT(KB_IN00, PIN(A, 4), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+#ifdef BOARD_WHISKERS
+GPIO_INT(KB_IN01, PIN(A, 8), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+#else
GPIO_INT(KB_IN01, PIN(B, 3), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
+#endif
GPIO_INT(KB_IN02, PIN(B, 0), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
GPIO_INT(KB_IN03, PIN(A, 7), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
GPIO_INT(KB_IN04, PIN(B, 12), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
@@ -43,14 +51,27 @@ GPIO(KB_OUT12, PIN(C, 13), GPIO_KB_OUTPUT)
GPIO(MASTER_I2C_SCL, PIN(B, 6), GPIO_INPUT)
GPIO(MASTER_I2C_SDA, PIN(B, 7), GPIO_INPUT)
/* TODO(crosbug.com/p/59083): Disable trackpad when appropriate */
+#ifdef BOARD_WHISKERS
+GPIO(EN_PP3300_TP, PIN(A, 14), GPIO_OUT_HIGH)
+#else
GPIO(EN_PP3300_TP_ODL, PIN(A, 14), GPIO_OUT_LOW)
+#endif
+#ifdef BOARD_WHISKERS
+GPIO(KEYBOARD_BACKLIGHT, PIN(B, 8), GPIO_OUT_LOW)
+#else
GPIO(KEYBOARD_BACKLIGHT, PIN(B, 9), GPIO_OUT_LOW)
+#endif
GPIO(WP_L, PIN(A, 13), GPIO_INPUT | GPIO_PULL_UP)
GPIO(BASE_DET, PIN(A, 15), GPIO_INPUT)
+#ifdef BOARD_WHISKERS
+GPIO(TP_BOOT0, PIN(B, 4), GPIO_INPUT)
+GPIO(TP_RESET, PIN(B, 5), GPIO_INPUT)
+#endif
+
/* Unimplemented signals since we are not an EC */
UNIMPLEMENTED(ENTERING_RW)
@@ -58,4 +79,8 @@ ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, GPIO_PULL_UP) /* USART1: PA09/PA1
ALTERNATE(PIN_MASK(B, 0x00c0), 1, MODULE_I2C, 0) /* I2C MASTER:PB6/7 GPIO_ODR_HIGH */
+#ifdef BOARD_WHISKERS
+ALTERNATE(PIN_MASK(B, 0x0100), 2, MODULE_PWM, GPIO_PULL_DOWN) /* PWM: PB8 */
+#else
ALTERNATE(PIN_MASK(B, 0x0200), 2, MODULE_PWM, GPIO_PULL_DOWN) /* PWM: PB9 */
+#endif
diff --git a/board/whiskers b/board/whiskers
new file mode 120000
index 0000000000..7f4a914148
--- /dev/null
+++ b/board/whiskers
@@ -0,0 +1 @@
+hammer \ No newline at end of file