diff options
Diffstat (limited to 'board/hammer/board.h')
-rw-r--r-- | board/hammer/board.h | 358 |
1 files changed, 0 insertions, 358 deletions
diff --git a/board/hammer/board.h b/board/hammer/board.h deleted file mode 100644 index 5eca65a6f9..0000000000 --- a/board/hammer/board.h +++ /dev/null @@ -1,358 +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 - \ - (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_STM_HWTIMER32 - -/* USB Configuration */ -#define CONFIG_USB -#define CONFIG_STREAM_USB -#define CONFIG_USB_UPDATE - -#undef CONFIG_UPDATE_PDU_SIZE -#ifdef BOARD_WAND -/* Wand 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 -#define CONFIG_USB_I2C_MAX_WRITE_COUNT (128 - 4) /* 4 is maximum header size */ - -#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_READ - -/* 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_MASTER -#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_MASTER -#define CONFIG_SPI_HALFDUPLEX -#define CONFIG_STM32_SPI1_MASTER -#define CONFIG_SPI_TOUCHPAD_PORT 0 -#define SPI_ST_TP_DEVICE_ID 0 -/* Enable SPI master 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_SLAVE -#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 -#define CONFIG_RSA_KEY_SIZE 3072 -#define CONFIG_RSA_EXPONENT_3 -#endif - -#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 */ |