summaryrefslogtreecommitdiff
path: root/board/hammer
diff options
context:
space:
mode:
Diffstat (limited to 'board/hammer')
-rw-r--r--board/hammer/analyzestack.yaml96
-rw-r--r--board/hammer/battery.c52
-rw-r--r--board/hammer/board.c374
-rw-r--r--board/hammer/board.h365
-rw-r--r--board/hammer/build.mk17
-rw-r--r--board/hammer/dev_key.pem39
-rw-r--r--board/hammer/ec.tasklist39
-rw-r--r--board/hammer/gpio.inc138
-rw-r--r--board/hammer/variants.h184
9 files changed, 0 insertions, 1304 deletions
diff --git a/board/hammer/analyzestack.yaml b/board/hammer/analyzestack.yaml
deleted file mode 100644
index 1294546b17..0000000000
--- a/board/hammer/analyzestack.yaml
+++ /dev/null
@@ -1,96 +0,0 @@
-# Size of extra stack frame needed by exception context switch.
-exception_frame_size: 64
-# Add some missing calls.
-add:
- # usb_ep_event: grep ep_._evt -A 1 build/hammer/RW/ec.RW.smap
- usb_reset[chip/stm32/usb.c:370]:
- - hid_touchpad_event
- - hid_keyboard_event
- - usb_update_ep_event
- - i2c_usb__ep_event
- usb_interrupt_handle_wake[chip/stm32/usb.c:608]:
- - hid_touchpad_event
- - hid_keyboard_event
- - usb_update_ep_event
- - i2c_usb__ep_event
- # usb_ep_tx/rx: grep ep_._[rt]x -B 1 -A 1 build/hammer/RW/ec.RW.smap
- usb_interrupt[chip/stm32/usb.c:640]:
- - ep0_rx
- - hid_keyboard_rx
- - usb_update_ep_rx
- - i2c_usb__ep_rx
- - ep0_tx
- - hid_touchpad_tx
- - hid_keyboard_tx
- - usb_update_ep_tx
- - i2c_usb__ep_tx
- # usb_interface_request
- ep0_tx[chip/stm32/usb.c:337]:
- - hid_touchpad_iface_request
- - hid_keyboard_iface_request
- ep0_rx[chip/stm32/usb.c:193]:
- - hid_touchpad_iface_request
- - hid_keyboard_iface_request
- # Queue functions
- queue_advance_tail[common/queue.c:116]:
- - queue_add_direct
- queue_add_memcpy[common/queue.c:152]:
- - memcpy
- queue_add_memcpy[common/queue.c:157]:
- - memcpy
- queue_read_safe.lto_priv.98[common/queue.c:174]:
- - memcpy
- queue_read_safe.lto_priv.98[common/queue.c:179]:
- - memcpy
- queue_advance_head[common/queue.c:105]:
- - queue_remove_direct
- queue_add_direct[common/queue_policies.c:18]:
- - usb_i2c_written
- - usb_written
- - update_out_handler
- queue_remove_direct[common/queue_policies.c:27]:
- - usb_read
- vfnprintf:
- # This covers all the addchar in vfnprintf, but stackanalyzer does not
- # realize that...
- - __tx_char
-# gpio_interrupt[chip/stm32/gpio.c:146]:
-# TODO: All GPIO interrupt handlers should follow here
- handle_command[common/console.c:248]:
- - { name: __cmds, stride: 16, offset: 4 }
- hook_task[common/hooks.c:197]:
- - { name: __deferred_funcs, stride: 4, offset: 0 }
- - { name: __hooks_second, stride: 8, offset: 0 }
- - { name: __hooks_tick, stride: 8, offset: 0 }
- # Note: This assumes worse case, where all hook functions can be called from
- # any hook_notify call
- hook_notify[common/hooks.c:127]:
- - { name: __hooks_pre_freq_change, stride: 8, offset: 0 }
- - { name: __hooks_freq_change, stride: 8, offset: 0 }
- - { name: __hooks_chipset_pre_init, stride: 8, offset: 0 }
- - { name: __hooks_chipset_resume, stride: 8, offset: 0 }
- - { name: __hooks_chipset_startup, stride: 8, offset: 0 }
- - { name: __hooks_chipset_suspend, stride: 8, offset: 0 }
- - { name: __hooks_sysjump, stride: 8, offset: 0 }
- - { name: __hooks_chipset_shutdown, stride: 8, offset: 0 }
- - { name: __hooks_ac_change, stride: 8, offset: 0 }
- - { name: __hooks_battery_soc_change, stride: 8, offset: 0 }
- - { name: __hooks_chipset_reset, stride: 8, offset: 0 }
- - { name: __hooks_lid_change, stride: 8, offset: 0 }
- - { name: __hooks_pwrbtn_change, stride: 8, offset: 0 }
- - { name: __hooks_tablet_mode_change, stride: 8, offset: 0 }
- - { name: __hooks_usb_change, stride: 8, offset: 0 }
- jump_to_image.lto_priv.135[common/system.c:568]:
- - None
- irq_4_handler[core/cortex-m0/init.S:165]:
- - exception_panic
-remove:
- - panic_assert_fail
- - [queue_add_direct, update_out_handler, [queue_add_unit, queue_add_memcpy], queue_add_direct, update_out_handler]
- # set_touchpad_report/keyboard_state_changed add elements to a queue, but
- # _not_ the queue that would call update_out handler
- - [ touchpad_task, queue_add_unit, queue_add_direct, update_out_handler]
- - [ keyboard_scan_task, queue_add_unit, queue_add_direct, update_out_handler]
- # keyboard_raw_drive_column can't recurse more than once
- - [keyboard_raw_drive_column, keyboard_raw_drive_column, keyboard_raw_drive_column]
- - [system_common_shutdown, system_run_image_copy, jump_to_image.lto_priv.135, hook_notify, system_common_shutdown]
diff --git a/board/hammer/battery.c b/board/hammer/battery.c
deleted file mode 100644
index 4025a08b14..0000000000
--- a/board/hammer/battery.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "battery.h"
-#include "battery_smart.h"
-#include "charge_state.h"
-#include "console.h"
-#include "ec_commands.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "util.h"
-
-/* Shutdown mode parameter to write to manufacturer access register */
-#define SB_SHIP_MODE_REG SB_MANUFACTURER_ACCESS
-#define SB_SHUTDOWN_DATA 0x0010
-
-static const struct battery_info info = {
- .voltage_max = 8800,
- .voltage_normal = 7700,
- .voltage_min = 6000,
- /* Pre-charge values. */
- .precharge_current = 256, /* mA */
-
- .start_charging_min_c = 0,
- .start_charging_max_c = 45,
- .charging_min_c = 0,
- .charging_max_c = 60,
- .discharging_min_c = -20,
- .discharging_max_c = 60,
-};
-
-const struct battery_info *battery_get_info(void)
-{
- return &info;
-}
-
-int board_cut_off_battery(void)
-{
- int rv;
-
- /* Ship mode command must be sent twice to take effect */
- rv = sb_write(SB_SHIP_MODE_REG, SB_SHUTDOWN_DATA);
-
- if (rv != EC_SUCCESS)
- return rv;
-
- return sb_write(SB_SHIP_MODE_REG, SB_SHUTDOWN_DATA);
-}
-
-/* TODO(b:66575472): Do we need to define functions like battery_is_present? */
diff --git a/board/hammer/board.c b/board/hammer/board.c
deleted file mode 100644
index b68498acfb..0000000000
--- a/board/hammer/board.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/* Copyright 2016 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-/* Hammer board configuration */
-
-#include "charger.h"
-#include "clock.h"
-#include "common.h"
-#include "driver/charger/isl923x.h"
-#include "driver/led/lm3630a.h"
-#include "ec_version.h"
-#include "ec_ec_comm_server.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "hwtimer.h"
-#include "i2c.h"
-#include "keyboard_raw.h"
-#include "keyboard_scan.h"
-#include "printf.h"
-#include "pwm.h"
-#include "pwm_chip.h"
-#include "queue.h"
-#include "queue_policies.h"
-#include "registers.h"
-#include "rollback.h"
-#include "spi.h"
-#include "system.h"
-#include "tablet_mode.h"
-#include "task.h"
-#include "touchpad.h"
-#include "timer.h"
-#include "update_fw.h"
-#include "usart-stm32f0.h"
-#include "usart_tx_dma.h"
-#include "usart_rx_dma.h"
-#include "usb_api.h"
-#include "usb_descriptor.h"
-#include "usb_i2c.h"
-#include "usb_spi.h"
-#include "util.h"
-
-#include "gpio_list.h"
-
-#ifdef SECTION_IS_RW
-#define CROS_EC_SECTION "RW"
-#else
-#define CROS_EC_SECTION "RO"
-#endif
-
-#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args)
-
-/******************************************************************************
- * Define the strings used in our USB descriptors.
- */
-const void *const usb_strings[] = {
- [USB_STR_DESC] = usb_string_desc,
- [USB_STR_VENDOR] = USB_STRING_DESC("Google Inc."),
- [USB_STR_PRODUCT] = USB_STRING_DESC("Hammer"),
- [USB_STR_SERIALNO] = 0,
- [USB_STR_VERSION] =
- USB_STRING_DESC(CROS_EC_SECTION ":" CROS_EC_VERSION32),
- [USB_STR_I2C_NAME] = USB_STRING_DESC("I2C"),
- [USB_STR_UPDATE_NAME] = USB_STRING_DESC("Firmware update"),
-#ifdef CONFIG_USB_ISOCHRONOUS
- [USB_STR_HEATMAP_NAME] = USB_STRING_DESC("Heatmap"),
-#endif
-};
-
-BUILD_ASSERT(ARRAY_SIZE(usb_strings) == USB_STR_COUNT);
-
-/******************************************************************************
- * Support I2C bridging over USB.
- */
-
-#ifdef SECTION_IS_RW
-#ifdef HAS_SPI_TOUCHPAD
-/* SPI devices */
-const struct spi_device_t spi_devices[] = {
- [SPI_ST_TP_DEVICE_ID] = { CONFIG_SPI_TOUCHPAD_PORT, 2, GPIO_SPI1_NSS },
-};
-const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices);
-
-USB_SPI_CONFIG(usb_spi, USB_IFACE_I2C_SPI, USB_EP_I2C_SPI, 0);
-/* SPI interface is always enabled, no need to do anything. */
-void usb_spi_board_enable(struct usb_spi_config const *config) {}
-void usb_spi_board_disable(struct usb_spi_config const *config) {}
-#endif /* !HAS_SPI_TOUCHPAD */
-
-#ifdef CONFIG_I2C
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- {"master", I2C_PORT_MASTER, 400,
- GPIO_MASTER_I2C_SCL, GPIO_MASTER_I2C_SDA},
-#ifdef BOARD_WAND
- {"charger", I2C_PORT_CHARGER, 100,
- GPIO_CHARGER_I2C_SCL, GPIO_CHARGER_I2C_SDA},
-#endif
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-#endif
-
-#ifdef CONFIG_CHARGER_ISL9238
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-};
-
-#endif
-
-#ifdef HAS_BACKLIGHT
-/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */
-const struct pwm_t pwm_channels[] = {
- {STM32_TIM(TIM_KBLIGHT), STM32_TIM_CH(1), 0, KBLIGHT_PWM_FREQ},
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-#endif /* HAS_BACKLIGHT */
-
-int usb_i2c_board_is_enabled(void)
-{
- /* Disable I2C passthrough when the system is locked */
- return !system_is_locked();
-}
-
-__override struct keyboard_scan_config keyscan_config = {
- .output_settle_us = 50,
- .debounce_down_us = 9 * MSEC,
- .debounce_up_us = 30 * MSEC,
- .scan_period_us = 3 * MSEC,
- .min_post_scan_delay_us = 1000,
- .poll_timeout_us = 100 * MSEC,
- .actual_key_mask = {
- 0x3c, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
- 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca /* full set */
- },
-};
-#endif
-
-#if defined(BOARD_WAND) && defined(SECTION_IS_RW)
-struct consumer const ec_ec_usart_consumer;
-static struct usart_config const ec_ec_usart;
-
-struct queue const ec_ec_comm_server_input = QUEUE_DIRECT(64, uint8_t,
- ec_ec_usart.producer, ec_ec_usart_consumer);
-struct queue const ec_ec_comm_server_output = QUEUE_DIRECT(64, uint8_t,
- null_producer, ec_ec_usart.consumer);
-
-struct consumer const ec_ec_usart_consumer = {
- .queue = &ec_ec_comm_server_input,
- .ops = &((struct consumer_ops const) {
- .written = ec_ec_comm_server_written,
- }),
-};
-
-static struct usart_config const ec_ec_usart =
- USART_CONFIG(EC_EC_UART,
- usart_rx_interrupt,
- usart_tx_interrupt,
- 115200,
- USART_CONFIG_FLAG_HDSEL,
- ec_ec_comm_server_input,
- ec_ec_comm_server_output);
-#endif /* BOARD_WAND && SECTION_IS_RW */
-
-/******************************************************************************
- * Initialize board.
- */
-static int has_keyboard_backlight;
-
-#ifdef SECTION_IS_RW
-static void board_init(void)
-{
-#ifdef HAS_BACKLIGHT
- /* Detect keyboard backlight: pull-down means it is present. */
- has_keyboard_backlight = !gpio_get_level(GPIO_KEYBOARD_BACKLIGHT);
-
- CPRINTS("Backlight%s present", has_keyboard_backlight ? "" : " not");
-#endif /* HAS_BACKLIGHT */
-
-#ifdef BOARD_WAND
- /* USB to serial queues */
- queue_init(&ec_ec_comm_server_input);
- queue_init(&ec_ec_comm_server_output);
-
- /* UART init */
- usart_init(&ec_ec_usart);
-#endif /* BOARD_WAND */
-
-#ifdef CONFIG_LED_DRIVER_LM3630A
- lm3630a_poweron();
-#endif
-
-#ifdef HAS_SPI_TOUCHPAD
- spi_enable(&spi_devices[SPI_ST_TP_DEVICE_ID], 0);
-
- /* Disable SPI passthrough when the system is locked */
- usb_spi_enable(&usb_spi, system_is_locked());
-
- /* Set all four SPI pins to high speed */
- /* pins B3/5, A15 */
- STM32_GPIO_OSPEEDR(GPIO_B) |= 0x00000cc0;
- STM32_GPIO_OSPEEDR(GPIO_A) |= 0xc0000000;
-
- /* Reset SPI1 */
- STM32_RCC_APB2RSTR |= STM32_RCC_PB2_SPI1;
- STM32_RCC_APB2RSTR &= ~STM32_RCC_PB2_SPI1;
- /* Enable clocks to SPI1 module */
- STM32_RCC_APB2ENR |= STM32_RCC_PB2_SPI1;
-
- clock_wait_bus_cycles(BUS_APB, 1);
- /* Enable SPI for touchpad */
- gpio_config_module(MODULE_SPI_CONTROLLER, 1);
- spi_enable(&spi_devices[SPI_ST_TP_DEVICE_ID], 1);
-#endif /* HAS_SPI_TOUCHPAD */
-}
-/* This needs to happen before PWM is initialized. */
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_INIT_PWM - 1);
-#endif /* SECTION_IS_RW */
-
-void board_config_pre_init(void)
-{
- /* enable SYSCFG clock */
- STM32_RCC_APB2ENR |= BIT(0);
-
- /* Remap USART DMA to match the USART driver */
- /*
- * the DMA mapping is :
- * Chan 4 : USART1_TX
- * Chan 5 : USART1_RX
- */
- STM32_SYSCFG_CFGR1 |= BIT(9) | BIT(10); /* Remap USART1 RX/TX DMA */
-}
-
-int board_has_keyboard_backlight(void)
-{
- return has_keyboard_backlight;
-}
-
-#ifndef HAS_NO_TOUCHPAD
-/* Reset the touchpad, mainly used to recover it from malfunction. */
-void board_touchpad_reset(void)
-{
-#ifdef HAS_EN_PP3300_TP_ACTIVE_HIGH
- gpio_set_level(GPIO_EN_PP3300_TP, 0);
- msleep(100);
- gpio_set_level(GPIO_EN_PP3300_TP, 1);
- msleep(100);
-#else
- gpio_set_level(GPIO_EN_PP3300_TP_ODL, 1);
- msleep(10);
- gpio_set_level(GPIO_EN_PP3300_TP_ODL, 0);
- msleep(10);
-#endif
-}
-#endif /* !HAS_NO_TOUCHPAD */
-
-#ifdef CONFIG_KEYBOARD_TABLET_MODE_SWITCH
-static void board_tablet_mode_change(void)
-{
- /*
- * Turn off key scanning in tablet mode.
- */
- if (tablet_get_mode())
- keyboard_scan_enable(0, KB_SCAN_DISABLE_LID_ANGLE);
- else
- keyboard_scan_enable(1, KB_SCAN_DISABLE_LID_ANGLE);
-}
-DECLARE_HOOK(HOOK_TABLET_MODE_CHANGE, board_tablet_mode_change,
- HOOK_PRIO_DEFAULT);
-/* Run after tablet_mode_init. */
-DECLARE_HOOK(HOOK_INIT, board_tablet_mode_change, HOOK_PRIO_DEFAULT+1);
-#endif
-
-/*
- * Get entropy based on Clock Recovery System, which is enabled on hammer to
- * synchronize USB SOF with internal oscillator.
- */
-int board_get_entropy(void *buffer, int len)
-{
- int i = 0;
- uint8_t *data = buffer;
- uint32_t start;
- /* We expect one SOF per ms, so wait at most 2ms. */
- const uint32_t timeout = 2*MSEC;
-
- for (i = 0; i < len; i++) {
- STM32_CRS_ICR |= STM32_CRS_ICR_SYNCOKC;
- start = __hw_clock_source_read();
- while (!(STM32_CRS_ISR & STM32_CRS_ISR_SYNCOKF)) {
- if ((__hw_clock_source_read() - start) > timeout)
- return 0;
- usleep(500);
- }
- /* Pick 8 bits, including FEDIR and 7 LSB of FECAP. */
- data[i] = STM32_CRS_ISR >> 15;
- }
-
- return 1;
-}
-
-/*
- * Generate a USB serial number from unique chip ID.
- */
-__override const char *board_read_serial(void)
-{
- static char str[CONFIG_SERIALNO_LEN];
-
- if (str[0] == '\0') {
- uint8_t *id;
- int pos = 0;
- int idlen = system_get_chip_unique_id(&id);
- int i;
-
- for (i = 0; i < idlen && pos < sizeof(str); i++, pos += 2) {
- snprintf(&str[pos], sizeof(str)-pos,
- "%02x", id[i]);
- }
- }
-
- return str;
-}
-
-__override int board_write_serial(const char *serialno)
-{
- return 0;
-}
-
-static const struct ec_response_keybd_config zed_kb = {
- .num_top_row_keys = 10,
- .action_keys = {
- TK_BACK,
- TK_REFRESH,
- TK_FULLSCREEN,
- TK_OVERVIEW,
- TK_SNAPSHOT,
- TK_BRIGHTNESS_DOWN,
- TK_BRIGHTNESS_UP,
- TK_VOL_MUTE,
- TK_VOL_DOWN,
- TK_VOL_UP,
- },
- .capabilities = KEYBD_CAP_SCRNLOCK_KEY,
-};
-
-static const struct ec_response_keybd_config bland_kb = {
- .num_top_row_keys = 10,
- .action_keys = {
- TK_BACK,
- TK_REFRESH,
- TK_FULLSCREEN,
- TK_OVERVIEW,
- TK_BRIGHTNESS_DOWN,
- TK_BRIGHTNESS_UP,
- TK_MICMUTE,
- TK_VOL_MUTE,
- TK_VOL_DOWN,
- TK_VOL_UP,
- },
- .capabilities = KEYBD_CAP_SCRNLOCK_KEY,
-};
-
-__override
-const struct ec_response_keybd_config *board_vivaldi_keybd_config(void)
-{
- if (IS_ENABLED(BOARD_ZED) || IS_ENABLED(BOARD_STAR))
- return &zed_kb;
- if (IS_ENABLED(BOARD_BLAND) || IS_ENABLED(BOARD_EEL))
- return &bland_kb;
-
- return NULL;
-}
diff --git a/board/hammer/board.h b/board/hammer/board.h
deleted file mode 100644
index 3282425d9e..0000000000
--- a/board/hammer/board.h
+++ /dev/null
@@ -1,365 +0,0 @@
-/* Copyright 2016 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Hammer configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-#include "variants.h"
-
-/* TODO: Remove CONFIG_SYSTEM_UNLOCKED prior to building MP FW. */
-#define CONFIG_SYSTEM_UNLOCKED
-/* TODO(b:63378217): Define FLASH_PSTATE_LOCKED prior to building MP FW. */
-#undef CONFIG_FLASH_PSTATE_LOCKED
-
-/* 48 MHz SYSCLK clock frequency */
-#define CPU_CLOCK 48000000
-
-/*
- * Flash layout: we redefine the sections offsets and sizes as we want to
- * include a rollback region, and will use RO/RW regions of different sizes.
- */
-#undef _IMAGE_SIZE
-#undef CONFIG_ROLLBACK_OFF
-#undef CONFIG_ROLLBACK_SIZE
-#undef CONFIG_FLASH_PSTATE
-#undef CONFIG_FW_PSTATE_SIZE
-#undef CONFIG_FW_PSTATE_OFF
-#undef CONFIG_SHAREDLIB_SIZE
-#undef CONFIG_RO_MEM_OFF
-#undef CONFIG_RO_STORAGE_OFF
-#undef CONFIG_RO_SIZE
-#undef CONFIG_RW_MEM_OFF
-#undef CONFIG_RW_STORAGE_OFF
-#undef CONFIG_RW_SIZE
-#undef CONFIG_EC_PROTECTED_STORAGE_OFF
-#undef CONFIG_EC_PROTECTED_STORAGE_SIZE
-#undef CONFIG_EC_WRITABLE_STORAGE_OFF
-#undef CONFIG_EC_WRITABLE_STORAGE_SIZE
-#undef CONFIG_WP_STORAGE_OFF
-#undef CONFIG_WP_STORAGE_SIZE
-
-#define CONFIG_FLASH_PSTATE
-/* Do not use a dedicated PSTATE bank */
-#undef CONFIG_FLASH_PSTATE_BANK
-
-#define CONFIG_SHAREDLIB_SIZE 0
-
-#define CONFIG_RO_MEM_OFF 0
-#define CONFIG_RO_STORAGE_OFF 0
-#define CONFIG_RO_SIZE (44*1024)
-
-/* EC rollback protection block */
-#define CONFIG_ROLLBACK_OFF (CONFIG_RO_MEM_OFF + CONFIG_RO_SIZE)
-#define CONFIG_ROLLBACK_SIZE CONFIG_FLASH_BANK_SIZE
-
-#define CONFIG_RW_MEM_OFF (CONFIG_ROLLBACK_OFF + CONFIG_ROLLBACK_SIZE)
-#define CONFIG_RW_STORAGE_OFF 0
-#define CONFIG_RW_SIZE (CONFIG_FLASH_SIZE_BYTES - \
- (CONFIG_RW_MEM_OFF - CONFIG_RO_MEM_OFF))
-
-#define CONFIG_EC_PROTECTED_STORAGE_OFF CONFIG_RO_MEM_OFF
-#define CONFIG_EC_PROTECTED_STORAGE_SIZE CONFIG_RO_SIZE
-#define CONFIG_EC_WRITABLE_STORAGE_OFF CONFIG_RW_MEM_OFF
-#define CONFIG_EC_WRITABLE_STORAGE_SIZE CONFIG_RW_SIZE
-
-#define CONFIG_WP_STORAGE_OFF CONFIG_EC_PROTECTED_STORAGE_OFF
-#define CONFIG_WP_STORAGE_SIZE CONFIG_EC_PROTECTED_STORAGE_SIZE
-
-/* The UART console is on USART1 (PA9/PA10) */
-#undef CONFIG_UART_CONSOLE
-#define CONFIG_UART_CONSOLE 1
-
-/* Optional features */
-/*
- * TODO(b:65697962): Reenable low-power-idle on wand without breaking EC-EC
- * communication
- */
-#ifndef BOARD_WAND
-#define CONFIG_LOW_POWER_IDLE
-#endif
-#define CONFIG_LTO
-#define CONFIG_FORCE_CONSOLE_RESUME
-#define CONFIG_MATH_UTIL
-#define CONFIG_STM_HWTIMER32
-
-/* USB Configuration */
-#define CONFIG_USB
-#define CONFIG_STREAM_USB
-#define CONFIG_USB_UPDATE
-
-#undef CONFIG_UPDATE_PDU_SIZE
-#if defined(BOARD_WAND) || defined(BOARD_ZED)
-/* Wand/Zed does not have enough space to fit 4k PDU. */
-#define CONFIG_UPDATE_PDU_SIZE 2048
-#else
-#define CONFIG_UPDATE_PDU_SIZE 4096
-#endif
-
-#undef CONFIG_USB_MAXPOWER_MA
-#define CONFIG_USB_MAXPOWER_MA 100
-
-#define CONFIG_USB_REMOTE_WAKEUP
-#define CONFIG_USB_SUSPEND
-
-#define CONFIG_USB_SERIALNO
-/* Replaced at runtime (board_read_serial) by chip unique-id-based number. */
-#define DEFAULT_SERIALNO ""
-
-/* USB interface indexes (use define rather than enum to expand them) */
-#ifdef SECTION_IS_RW
-#define USB_IFACE_HID_KEYBOARD 0
-#define USB_IFACE_UPDATE 1
-#ifdef HAS_NO_TOUCHPAD
-#define USB_IFACE_COUNT 2
-#else /* !HAS_NO_TOUCHPAD */
-#define USB_IFACE_HID_TOUCHPAD 2
-/* Can be either I2C or SPI passthrough, depending on the board. */
-#define USB_IFACE_I2C_SPI 3
-#if defined(CONFIG_USB_ISOCHRONOUS)
-#define USB_IFACE_ST_TOUCHPAD 4
-#define USB_IFACE_COUNT 5
-#else /* !CONFIG_USB_ISOCHRONOUS */
-#define USB_IFACE_COUNT 4
-#endif /* CONFIG_USB_ISOCHRONOUS */
-#endif /* !HAS_NO_TOUCHPAD */
-#else /* !SECTION_IS_RW */
-#define USB_IFACE_UPDATE 0
-#define USB_IFACE_COUNT 1
-#endif /* SECTION_IS_RW */
-
-/* USB endpoint indexes (use define rather than enum to expand them) */
-#define USB_EP_CONTROL 0
-#define USB_EP_UPDATE 1
-#ifdef SECTION_IS_RW
-#define USB_EP_HID_KEYBOARD 2
-#ifdef HAS_NO_TOUCHPAD
-#define USB_EP_COUNT 3
-#else /* !HAS_NO_TOUCHPAD */
-#define USB_EP_HID_TOUCHPAD 3
-/* Can be either I2C or SPI passthrough, depending on the board. */
-#define USB_EP_I2C_SPI 4
-#if defined(CONFIG_USB_ISOCHRONOUS)
-#define USB_EP_ST_TOUCHPAD 5
-#define USB_EP_ST_TOUCHPAD_INT 6
-#define USB_EP_COUNT 7
-#else /* !CONFIG_USB_ISOCHRONOUS */
-#define USB_EP_COUNT 5
-#endif /* CONFIG_USB_ISOCHRONOUS */
-#endif /* !HAS_NO_TOUCHPAD */
-#else /* !SECTION_IS_RW */
-#define USB_EP_COUNT 2
-#endif /* SECTION_IS_RW */
-
-/* Optional features */
-#define CONFIG_BOARD_PRE_INIT
-#define CONFIG_WATCHDOG_HELP
-
-/* No need to hibernate, remove console commands that are not very useful. */
-#undef CONFIG_HIBERNATE
-#undef CONFIG_CONSOLE_CHANNEL
-#undef CONFIG_CONSOLE_HISTORY
-#undef CONFIG_CMD_GETTIME
-#undef CONFIG_CMD_MD
-#undef CONFIG_CMD_RW
-#undef CONFIG_CMD_SHMEM
-#undef CONFIG_CMD_TIMERINFO
-#undef CONFIG_CMD_WAITMS
-
-/*
- * Enlarge the allowed write / read count for trackpad debug
- * In the extended I2C reading over I2C ( >= 128 bytes ), the header size
- * have to be 6 bytes instead of 4 bytes for receiving packets. Moreover,
- * buffer size have to be power of two.
- */
-#undef CONFIG_USB_I2C_MAX_WRITE_COUNT
-#ifdef BOARD_ZED
-/* Zed requires 516 byte per packet for touchpad update */
-#define CONFIG_USB_I2C_MAX_WRITE_COUNT (1024 - 4) /* 4 is maximum header size */
-#else
-#define CONFIG_USB_I2C_MAX_WRITE_COUNT (128 - 4) /* 4 is maximum header size */
-#endif
-
-#undef CONFIG_USB_I2C_MAX_READ_COUNT
-#define CONFIG_USB_I2C_MAX_READ_COUNT (1024 - 6) /* 6 is maximum header size */
-
-#define CONFIG_I2C_XFER_LARGE_TRANSFER
-
-/* No lid switch */
-#undef CONFIG_LID_SWITCH
-
-#ifdef SECTION_IS_RW
-#define CONFIG_USB_HID
-#define CONFIG_USB_HID_KEYBOARD
-#ifdef HAS_BACKLIGHT
-#define CONFIG_USB_HID_KEYBOARD_BACKLIGHT
-#endif
-
-#ifndef HAS_NO_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD
-
-/* Virtual address for touchpad FW in USB updater. */
-#define CONFIG_TOUCHPAD_VIRTUAL_OFF 0x80000000
-
-/* Include touchpad FW hashes in image */
-#define CONFIG_TOUCHPAD_HASH_FW
-#endif /* !HAS_NO_TOUCHPAD */
-
-#define CONFIG_KEYBOARD_DEBUG
-#undef CONFIG_KEYBOARD_BOOT_KEYS
-#undef CONFIG_KEYBOARD_RUNTIME_KEYS
-/* Keyboard output port list */
-#define KB_OUT_PORT_LIST GPIO_A, GPIO_B, GPIO_C, GPIO_F
-
-#if defined(HAS_I2C_TOUCHPAD) || defined(CONFIG_LED_DRIVER_LM3630A)
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-#define I2C_PORT_MASTER 0
-#define I2C_PORT_KBLIGHT 0
-#define I2C_PORT_CHARGER 1
-#endif
-
-/* Enable PWM */
-#ifdef HAS_BACKLIGHT
-#define CONFIG_PWM
-#endif
-
-#ifdef CONFIG_GMR_TABLET_MODE
-#define CONFIG_TABLET_MODE
-#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L
-#define CONFIG_KEYBOARD_TABLET_MODE_SWITCH
-#endif
-
-#ifdef HAS_SPI_TOUCHPAD
-/* Enable control of SPI over USB */
-#define CONFIG_USB_SPI
-#define CONFIG_SPI_CONTROLLER
-#define CONFIG_SPI_HALFDUPLEX
-#define CONFIG_STM32_SPI1_CONTROLLER
-#define CONFIG_SPI_TOUCHPAD_PORT 0
-#define SPI_ST_TP_DEVICE_ID 0
-/* Enable SPI controller xfer command */
-#define CONFIG_CMD_SPI_XFER
-#define CONFIG_TOUCHPAD
-#define CONFIG_TOUCHPAD_ST
-#elif defined(HAS_I2C_TOUCHPAD) /* HAS_SPI_TOUCHPAD */
-/* Enable control of I2C over USB */
-#define CONFIG_USB_I2C
-#define USB_IFACE_I2C USB_IFACE_I2C_SPI
-#define USB_EP_I2C USB_EP_I2C_SPI
-/* Enable Elan touchpad driver */
-#define CONFIG_TOUCHPAD
-#define CONFIG_TOUCHPAD_ELAN
-#define CONFIG_TOUCHPAD_I2C_PORT I2C_PORT_MASTER
-#define CONFIG_TOUCHPAD_I2C_ADDR_FLAGS 0x15
-#endif /* HAS_I2C_TOUCHPAD */
-
-#define CONFIG_CURVE25519
-
-#define CONFIG_USB_PAIRING
-
-#define CONFIG_USB_CONSOLE_READ
-
-#ifdef BOARD_WAND
-/* Battery and charger options. */
-#define CONFIG_CHARGER
-#define CONFIG_CHARGER_INPUT_CURRENT 128
-#define CONFIG_CHARGER_ISL9238
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-#define CONFIG_CHARGER_OTG
-
-#define CONFIG_CHARGE_RAMP_HW
-
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_SMART
-
-#define I2C_PORT_BATTERY I2C_PORT_CHARGER
-
-#define EC_EC_UART usart2_hw
-#define CONFIG_STREAM_USART2
-#define CONFIG_STREAM_USART
-
-#define CONFIG_EC_EC_COMM_SERVER
-#define CONFIG_EC_EC_COMM_BATTERY
-#define CONFIG_CRC8
-#endif /* BOARD_WAND */
-
-#else /* SECTION_IS_RO */
-/* Sign and switch to RW partition on boot. */
-#define CONFIG_RWSIG
-#define CONFIG_RSA
-#endif
-
-#define CONFIG_RSA_KEY_SIZE 3072
-#define CONFIG_RSA_EXPONENT_3
-
-#define CONFIG_SHA256
-#ifdef SECTION_IS_RO
-#define CONFIG_SHA256_UNROLLED
-#endif
-
-#define CONFIG_RWSIG_TYPE_RWSIG
-
-/*
- * Add rollback protection, and independent RW region protection.
- */
-#define CONFIG_ROLLBACK
-#define CONFIG_ROLLBACK_SECRET_SIZE 32
-#define CONFIG_ROLLBACK_SECRET_LOCAL_ENTROPY_SIZE 32
-#define CONFIG_FLASH_PROTECT_RW
-#ifdef SECTION_IS_RW
-#undef CONFIG_ROLLBACK_UPDATE
-#endif
-
-/* Maximum current to draw. */
-#define MAX_CURRENT_MA 2000
-/* Maximum current/voltage to provide over OTG. */
-#define MAX_OTG_CURRENT_MA 2000
-#define MAX_OTG_VOLTAGE_MV 20000
-
-#ifndef __ASSEMBLER__
-
-/* Timer selection */
-#define TIM_CLOCK32 2
-#define TIM_WATCHDOG 16
-#define TIM_KBLIGHT 17
-
-#include "gpio_signal.h"
-
-/* USB string indexes */
-enum usb_strings {
- USB_STR_DESC = 0,
- USB_STR_VENDOR,
- USB_STR_PRODUCT,
- USB_STR_SERIALNO,
- USB_STR_VERSION,
- USB_STR_I2C_NAME,
- USB_STR_UPDATE_NAME,
-#ifdef CONFIG_USB_ISOCHRONOUS
- USB_STR_HEATMAP_NAME,
-#endif
- USB_STR_COUNT
-};
-
-#ifdef SECTION_IS_RW
-#ifdef HAS_BACKLIGHT
-enum pwm_channel {
- PWM_CH_KBLIGHT = 0,
- /* Number of PWM channels */
- PWM_CH_COUNT
-};
-#endif /* HAS_BACKLIGHT */
-
-enum adc_channel {
- /* Number of ADC channels */
- ADC_CH_COUNT
-};
-#endif /* SECTION_IS_RW */
-
-#endif /* !__ASSEMBLER__ */
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/hammer/build.mk b/board/hammer/build.mk
deleted file mode 100644
index b32a6b768a..0000000000
--- a/board/hammer/build.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- makefile -*-
-# Copyright 2016 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-
-# the IC is STmicro STM32F072RBT6
-CHIP:=stm32
-CHIP_FAMILY:=stm32f0
-CHIP_VARIANT:=stm32f07x
-
-# Build tests that we care about for hammer
-test-list-y=entropy rsa3 sha256 sha256_unrolled x25519
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
diff --git a/board/hammer/dev_key.pem b/board/hammer/dev_key.pem
deleted file mode 100644
index b72c787613..0000000000
--- a/board/hammer/dev_key.pem
+++ /dev/null
@@ -1,39 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-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
------END RSA PRIVATE KEY-----
diff --git a/board/hammer/ec.tasklist b/board/hammer/ec.tasklist
deleted file mode 100644
index b568619065..0000000000
--- a/board/hammer/ec.tasklist
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2016 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/**
- * See CONFIG_TASK_LIST in config.h for details.
- */
-#ifdef BOARD_WAND
-#define CONFIG_TASK_LIST \
- TASK_ALWAYS_RO(RWSIG, rwsig_task, NULL, 1280) \
- TASK_ALWAYS (HOOKS, hook_task, NULL, 2048) \
- TASK_ALWAYS_RW(TOUCHPAD, touchpad_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS_RW(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS (CONSOLE, console_task, NULL, 1024) \
- TASK_ALWAYS_RW(ECCOMM, ec_ec_comm_server_task, NULL, TASK_STACK_SIZE) \
- TASK_NOTEST_RW(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
-#elif defined(CONFIG_USB_ISOCHRONOUS)
-#define CONFIG_TASK_LIST \
- TASK_ALWAYS_RO(RWSIG, rwsig_task, NULL, 1280) \
- TASK_ALWAYS (HOOKS, hook_task, NULL, 2048) \
- TASK_ALWAYS_RW(TOUCHPAD, touchpad_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS_RW(HEATMAP, heatmap_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS (CONSOLE, console_task, NULL, 1024) \
- TASK_NOTEST_RW(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
-#elif !defined(HAS_NO_TOUCHPAD)
-#define CONFIG_TASK_LIST \
- TASK_ALWAYS_RO(RWSIG, rwsig_task, NULL, 1280) \
- TASK_ALWAYS (HOOKS, hook_task, NULL, 2048) \
- TASK_ALWAYS_RW(TOUCHPAD, touchpad_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS (CONSOLE, console_task, NULL, 1024) \
- TASK_NOTEST_RW(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
-#else
-#define CONFIG_TASK_LIST \
- TASK_ALWAYS_RO(RWSIG, rwsig_task, NULL, 1280) \
- TASK_ALWAYS (HOOKS, hook_task, NULL, 2048) \
- TASK_ALWAYS (CONSOLE, console_task, NULL, 1024) \
- TASK_NOTEST_RW(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE)
-#endif
diff --git a/board/hammer/gpio.inc b/board/hammer/gpio.inc
deleted file mode 100644
index 8372d4fc4b..0000000000
--- a/board/hammer/gpio.inc
+++ /dev/null
@@ -1,138 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2016 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Declare symbolic names for all the GPIOs that we care about.
- * Note: Those with interrupt handlers must be declared first. */
-
-#ifdef SECTION_IS_RW
-#ifndef HAS_NO_TOUCHPAD
-GPIO_INT(TOUCHPAD_INT, PIN(B, 8), GPIO_INT_FALLING, touchpad_interrupt)
-#endif /* !HAS_NO_TOUCHPAD */
-#ifdef CONFIG_GMR_TABLET_MODE
-GPIO_INT(TABLET_MODE_L, PIN(B, 11), GPIO_PULL_UP | GPIO_INT_BOTH, gmr_tablet_switch_isr)
-#endif /* CONFIG_GMR_TABLET_MODE */
-#endif /* SECTION_IS_RW */
-
-/* Keyboard inputs */
-#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP | GPIO_INT_BOTH)
-#define GPIO_KB_OUTPUT GPIO_ODR_HIGH
-
-#ifdef BOARD_MASTERBALL
-GPIO_INT(KB_IN00, PIN(B, 2), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN01, PIN(B, 13), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN02, PIN(B, 1), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN03, PIN(A, 6), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN04, PIN(B, 10), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN05, PIN(B, 12), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN06, PIN(A, 7), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN07, PIN(B, 0), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-
-/* Do not forget to update KB_OUT_PORT_LIST to match this. */
-GPIO(KB_OUT00, PIN(C, 15), GPIO_KB_OUTPUT)
-GPIO(KB_OUT01, PIN(C, 14), GPIO_KB_OUTPUT)
-GPIO(KB_OUT02, PIN(A, 2), GPIO_KB_OUTPUT)
-GPIO(KB_OUT03, PIN(A, 1), GPIO_KB_OUTPUT)
-GPIO(KB_OUT04, PIN(F, 1), GPIO_KB_OUTPUT)
-GPIO(KB_OUT05, PIN(A, 3), GPIO_KB_OUTPUT)
-GPIO(KB_OUT06, PIN(A, 0), GPIO_KB_OUTPUT)
-GPIO(KB_OUT07, PIN(F, 0), GPIO_KB_OUTPUT)
-GPIO(KB_OUT08, PIN(A, 5), GPIO_KB_OUTPUT)
-GPIO(KB_OUT09, PIN(A, 4), GPIO_KB_OUTPUT)
-GPIO(KB_OUT10, PIN(B, 14), GPIO_KB_OUTPUT)
-GPIO(KB_OUT11, PIN(B, 15), GPIO_KB_OUTPUT)
-GPIO(KB_OUT12, PIN(A, 8), GPIO_KB_OUTPUT)
-#else /* !BOARD_MASTERBALL */
-GPIO_INT(KB_IN00, PIN(A, 4), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-#ifdef BOARD_WHISKERS
-GPIO_INT(KB_IN01, PIN(B, 10), 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)
-GPIO_INT(KB_IN05, PIN(B, 2), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN06, PIN(B, 14), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-GPIO_INT(KB_IN07, PIN(B, 15), GPIO_KB_INPUT, keyboard_raw_gpio_interrupt)
-
-/* Do not forget to update KB_OUT_PORT_LIST to match this. */
-GPIO(KB_OUT00, PIN(B, 1), GPIO_KB_OUTPUT)
-GPIO(KB_OUT01, PIN(A, 5), GPIO_KB_OUTPUT)
-#ifdef BOARD_WAND
-GPIO(KB_OUT02, PIN(A, 8), GPIO_KB_OUTPUT)
-GPIO(KB_OUT03, PIN(B, 4), GPIO_KB_OUTPUT)
-#else
-GPIO(KB_OUT02, PIN(A, 3), GPIO_KB_OUTPUT)
-GPIO(KB_OUT03, PIN(A, 2), GPIO_KB_OUTPUT)
-#endif
-GPIO(KB_OUT04, PIN(A, 6), GPIO_KB_OUTPUT)
-GPIO(KB_OUT05, PIN(A, 0), GPIO_KB_OUTPUT)
-GPIO(KB_OUT06, PIN(A, 1), GPIO_KB_OUTPUT)
-GPIO(KB_OUT07, PIN(B, 13), GPIO_KB_OUTPUT)
-GPIO(KB_OUT08, PIN(C, 14), GPIO_KB_OUTPUT)
-GPIO(KB_OUT09, PIN(C, 15), GPIO_KB_OUTPUT)
-GPIO(KB_OUT10, PIN(F, 1), GPIO_KB_OUTPUT)
-GPIO(KB_OUT11, PIN(F, 0), GPIO_KB_OUTPUT)
-GPIO(KB_OUT12, PIN(C, 13), GPIO_KB_OUTPUT)
-#endif /* !BOARD_MASTERBALL */
-
-/* I2C pins should be configured as inputs until I2C module is */
-/* initialized. This will avoid driving the lines unintentionally.*/
-GPIO(MASTER_I2C_SCL, PIN(B, 6), GPIO_INPUT)
-GPIO(MASTER_I2C_SDA, PIN(B, 7), GPIO_INPUT)
-#ifndef HAS_NO_TOUCHPAD
-/* TODO(crosbug.com/p/59083): Disable trackpad when appropriate */
-#ifdef HAS_EN_PP3300_TP_ACTIVE_HIGH
-GPIO(EN_PP3300_TP, PIN(A, 14), GPIO_OUT_HIGH)
-#else
-GPIO(EN_PP3300_TP_ODL, PIN(A, 14), GPIO_OUT_LOW)
-#endif
-#endif /* !HAS_NO_TOUCHPAD */
-
-#ifdef HAS_BACKLIGHT
-GPIO(KEYBOARD_BACKLIGHT, PIN(B, 9), GPIO_INPUT)
-#endif
-
-GPIO(WP_L, PIN(A, 13), GPIO_INPUT | GPIO_PULL_UP)
-
-#ifdef BOARD_WAND
-GPIO(BASE_UART_TX_RX, PIN(A, 2), GPIO_ODR_HIGH)
-
-GPIO(CHARGER_I2C_SCL, PIN(B, 10), GPIO_INPUT)
-GPIO(CHARGER_I2C_SDA, PIN(B, 11), GPIO_INPUT)
-
-GPIO(SWITCH_STATUS, PIN(A, 15), GPIO_INPUT)
-GPIO(EN_OTG, PIN(B, 5), GPIO_INPUT)
-#elif defined(BOARD_WHISKERS)
-GPIO(DETECT_PATH_DISABLE_L, PIN(A, 8), GPIO_ODR_LOW)
-GPIO(SPI1_NSS, PIN(A, 15), GPIO_OUT_HIGH)
-GPIO(BACKLIGHT_EN, PIN(B, 4), GPIO_ODR_HIGH | GPIO_PULL_UP)
-#else
-GPIO(BASE_DET, PIN(A, 15), GPIO_INPUT)
-#endif
-
-/* Unimplemented signals since we are not an EC */
-UNIMPLEMENTED(ENTERING_RW)
-
-ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, GPIO_PULL_UP) /* USART1: PA09/PA10 - Servo stm32 console UART */
-
-#ifdef BOARD_WAND
-ALTERNATE(PIN_MASK(A, 0x0004), 1, MODULE_USART, GPIO_ODR_HIGH) /* USART2: PA2 - EC-EC UART */
-ALTERNATE(PIN_MASK(B, 0x0c00), 1, MODULE_I2C, 0) /* I2C CHARGER: PB10/11 GPIO_ODR_HIGH */
-#endif
-
-#ifdef HAS_SPI_TOUCHPAD
-ALTERNATE(PIN_MASK(B, 0x0038), 0, MODULE_SPI_CONTROLLER, 0) /* SPI MASTER:PB3/4/5 */
-#endif
-
-#ifdef CONFIG_I2C
-ALTERNATE(PIN_MASK(B, 0x00c0), 1, MODULE_I2C, 0) /* I2C TOUCHPAD: PB6/7 GPIO_ODR_HIGH */
-#endif
-
-#ifdef HAS_BACKLIGHT
-ALTERNATE(PIN_MASK(B, 0x0200), 2, MODULE_PWM, GPIO_PULL_DOWN) /* PWM: PB9 */
-#endif
diff --git a/board/hammer/variants.h b/board/hammer/variants.h
deleted file mode 100644
index 2a8c831ef5..0000000000
--- a/board/hammer/variants.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/* Copyright 2019 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/*
- * Hammer variants configuration, there should be no/little BOARD_ checks
- * in the rest of the files. If this grows out of control, we can create
- * variant_*.h files.
- */
-
-#ifndef __CROS_EC_VARIANTS_H
-#define __CROS_EC_VARIANTS_H
-
-/* USB ID */
-#ifdef BOARD_HAMMER
-#define CONFIG_USB_PID 0x5022
-#elif defined(BOARD_BLAND)
-#define CONFIG_USB_PID 0x5056
-#elif defined(BOARD_DON)
-#define CONFIG_USB_PID 0x5050
-#elif defined(BOARD_EEL)
-#define CONFIG_USB_PID 0x5057
-#elif defined(BOARD_MAGNEMITE)
-#define CONFIG_USB_PID 0x503d
-#elif defined(BOARD_MASTERBALL)
-#define CONFIG_USB_PID 0x503c
-#elif defined(BOARD_MOONBALL)
-#define CONFIG_USB_PID 0x5044
-#elif defined(BOARD_STAFF)
-#define CONFIG_USB_PID 0x502b
-#elif defined(BOARD_STAR)
-#define CONFIG_USB_PID 0x5052
-#elif defined(BOARD_WAND)
-#define CONFIG_USB_PID 0x502d
-#elif defined(BOARD_WHISKERS)
-#define CONFIG_USB_PID 0x5030
-#elif defined(BOARD_ZED)
-#define CONFIG_USB_PID 0x504c
-#else
-#error "Invalid board"
-#endif
-
-#ifdef SECTION_IS_RW
-
-/* Touchpad interface, firmware size and physical dimension. */
-#if defined(BOARD_HAMMER) || defined(BOARD_WAND)
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3207
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1783
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#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_BLAND)
-#define CONFIG_USB_HID_KEYBOARD_VIVALDI
-#define CONFIG_USB_HID_KB_NUM_TOP_ROW_KEYS 10
-#define HAS_I2C_TOUCHPAD
-/* TODO: update correct parameters */
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3282
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1793
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1042 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 569 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (64*1024)
-#elif defined(BOARD_DON)
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 2925
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1440
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 929 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 457 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (56*1024)
-#elif defined(BOARD_EEL)
-#define CONFIG_USB_HID_KEYBOARD_VIVALDI
-#define CONFIG_USB_HID_KB_NUM_TOP_ROW_KEYS 10
-#define HAS_I2C_TOUCHPAD
-/* TODO: update correct parameters */
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3282
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1793
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1042 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 569 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (64*1024)
-#elif defined(BOARD_MAGNEMITE)
-#define HAS_NO_TOUCHPAD
-#elif defined(BOARD_MASTERBALL)
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 2644
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1440
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 839 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 457 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (64*1024)
-#elif defined(BOARD_MOONBALL)
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 2925
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1440
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 929 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 457 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (56*1024)
-#elif defined(BOARD_STAFF)
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3206
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1832
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1018 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 582 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (56*1024)
-#elif defined(BOARD_STAR)
-#define CONFIG_USB_HID_KEYBOARD_VIVALDI
-#define CONFIG_USB_HID_KB_NUM_TOP_ROW_KEYS 10
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3282
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1793
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1042 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 569 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (64*1024)
-#elif defined(BOARD_WHISKERS)
-#define HAS_SPI_TOUCHPAD
-#define HAS_EN_PP3300_TP_ACTIVE_HIGH
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 2160
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1573
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 255
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1031 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 751 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (CONFIG_UPDATE_PDU_SIZE + 128*1024)
-/* Enable to send heatmap to AP */
-#define CONFIG_USB_ISOCHRONOUS
-#elif defined(BOARD_ZED)
-#define CONFIG_USB_HID_KEYBOARD_VIVALDI
-#define CONFIG_USB_HID_KB_NUM_TOP_ROW_KEYS 10
-
-/* TODO: update correct parameters */
-#define HAS_I2C_TOUCHPAD
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3340
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_Y 1811
-#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_PRESSURE 511
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_X 1060 /* tenth of mm */
-#define CONFIG_USB_HID_TOUCHPAD_PHYSICAL_MAX_Y 575 /* tenth of mm */
-#define CONFIG_TOUCHPAD_VIRTUAL_SIZE (64*1024)
-#else
-#error "No touchpad information for board."
-#endif
-
-/* Assistant key */
-#if defined(BOARD_HAMMER) || defined(BOARD_WAND) || defined(BOARD_WHISKERS)
-
-#define CONFIG_KEYBOARD_ASSISTANT_KEY
-#endif
-
-/* Backlight */
-#if defined(BOARD_HAMMER) || defined(BOARD_STAFF) || \
- defined(BOARD_WAND) || defined(BOARD_WHISKERS)
-/*
- * Even with this option, we detect the backlight presence using a PU/PD on the
- * PWM pin. Not defining this totally disables support.
- */
-#define HAS_BACKLIGHT
-
-#ifdef BOARD_WHISKERS
-#define CONFIG_LED_DRIVER_LM3630A
-#endif
-
-#ifdef BOARD_STAFF
-#define KBLIGHT_PWM_FREQ 100 /* Hz */
-#else
-#define KBLIGHT_PWM_FREQ 50000 /* Hz */
-#endif
-
-#endif /* BOARD_HAMMER/WAND/WHISKERS */
-
-/* GMR sensor for tablet mode detection */
-#if defined(BOARD_DON) || defined(BOARD_MASTERBALL) || \
- defined(BOARD_MOONBALL) || defined(BOARD_WHISKERS) || \
- defined(BOARD_EEL)
-#define CONFIG_GMR_TABLET_MODE
-#endif
-
-#endif /* SECTION_IS_RW */
-
-#endif /* __CROS_EC_VARIANTS_H */