/* Copyright (c) 2014 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. */ /* Twinkie dongle configuration */ #ifndef __BOARD_H #define __BOARD_H /* 48 MHz SYSCLK clock frequency */ #define CPU_CLOCK 48000000 /* the UART console is on USART1 (PA9/PA10) */ #define CONFIG_UART_CONSOLE 1 /* Optional features */ #define CONFIG_USB #define CONFIG_USB_CONSOLE #define CONFIG_USB_POWER_DELIVERY #define CONFIG_USB_PD_DUAL_ROLE #define CONFIG_USB_PD_INTERNAL_COMP #define CONFIG_PD_USE_DAC_AS_REF #define CONFIG_HW_CRC #ifndef HAS_TASK_PD /* PD sniffer mode */ #undef CONFIG_DMA_DEFAULT_HANDLERS #define CONFIG_USB_PD_TX_PHY_ONLY #endif #define CONFIG_ADC #define CONFIG_BOARD_PRE_INIT #define CONFIG_I2C #define CONFIG_INA231 #undef CONFIG_WATCHDOG_HELP #undef CONFIG_LID_SWITCH #undef CONFIG_TASK_PROFILING /* I2C ports configuration */ #define I2C_PORT_MASTER 0 /* USB configuration */ #define CONFIG_USB_PID 0x500A /* By default, enable all console messages excepted USB */ #define CC_DEFAULT (CC_ALL & ~CC_MASK(CC_USB)) /* * Allow dangerous commands all the time, since we don't have a write protect * switch. */ #define CONFIG_SYSTEM_UNLOCKED #ifndef __ASSEMBLER__ int wait_packet(int pol, uint32_t min_edges, uint32_t timeout_us); void recording_enable(uint8_t mask); /* Timer selection */ #define TIM_CLOCK_MSB 3 #define TIM_CLOCK_LSB 15 #define TIM_ADC 16 #include "gpio_signal.h" /* ADC signal */ enum adc_channel { ADC_CH_CC1_PD = 0, ADC_CH_CC2_PD, /* Number of ADC channels */ ADC_CH_COUNT }; /* USB string indexes */ enum usb_strings { USB_STR_DESC = 0, USB_STR_VENDOR, USB_STR_PRODUCT, USB_STR_VERSION, USB_STR_SNIFFER, USB_STR_CONSOLE_NAME, USB_STR_COUNT }; #endif /* !__ASSEMBLER__ */ /* USB interface indexes (use define rather than enum to expand them) */ #define USB_IFACE_CONSOLE 0 #define USB_IFACE_VENDOR 1 #define USB_IFACE_COUNT 2 /* USB endpoint indexes (use define rather than enum to expand them) */ #define USB_EP_CONTROL 0 #define USB_EP_CONSOLE 1 /* * Endpoint 2 is missing because the console used to use two bidirectional * endpoints. It now uses a single bidirectional endpoint relying on the * direction bit as an additional bit identifying the endpoint used. It is * safe to reallocate endpoint 2 in the future. */ #ifdef HAS_TASK_SNIFFER #define USB_EP_SNIFFER 3 #define USB_EP_COUNT 4 #else #define USB_EP_COUNT 2 #endif #endif /* __BOARD_H */