diff options
Diffstat (limited to 'board/hammer')
-rw-r--r-- | board/hammer/analyzestack.yaml | 96 | ||||
-rw-r--r-- | board/hammer/battery.c | 52 | ||||
-rw-r--r-- | board/hammer/board.c | 374 | ||||
-rw-r--r-- | board/hammer/board.h | 365 | ||||
-rw-r--r-- | board/hammer/build.mk | 17 | ||||
-rw-r--r-- | board/hammer/dev_key.pem | 39 | ||||
-rw-r--r-- | board/hammer/ec.tasklist | 39 | ||||
-rw-r--r-- | board/hammer/gpio.inc | 138 | ||||
-rw-r--r-- | board/hammer/variants.h | 184 |
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 */ |