diff options
Diffstat (limited to 'board/sweetberry')
-rw-r--r-- | board/sweetberry/board.c | 126 | ||||
-rw-r--r-- | board/sweetberry/board.h | 109 | ||||
-rw-r--r-- | board/sweetberry/build.mk | 12 | ||||
-rw-r--r-- | board/sweetberry/ec.tasklist | 11 | ||||
-rw-r--r-- | board/sweetberry/gpio.inc | 94 |
5 files changed, 0 insertions, 352 deletions
diff --git a/board/sweetberry/board.c b/board/sweetberry/board.c deleted file mode 100644 index 66b21a81b9..0000000000 --- a/board/sweetberry/board.c +++ /dev/null @@ -1,126 +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. - */ -/* Sweetberry board configuration */ - -#include "common.h" -#include "dma.h" -#include "ec_version.h" -#include "gpio.h" -#include "gpio_list.h" -#include "hooks.h" -#include "i2c.h" -#include "registers.h" -#include "stm32-dma.h" -#include "task.h" -#include "update_fw.h" -#include "usb_descriptor.h" -#include "usb_dwc_console.h" -#include "usb_dwc_i2c.h" -#include "usb_dwc_stream.h" -#include "usb_dwc_update.h" -#include "usb_hw.h" -#include "usb_power.h" -#include "util.h" - -/****************************************************************************** - * 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("Sweetberry"), - [USB_STR_SERIALNO] = USB_STRING_DESC("1234-a"), - [USB_STR_VERSION] = USB_STRING_DESC(CROS_EC_VERSION32), - [USB_STR_I2C_NAME] = USB_STRING_DESC("I2C"), - [USB_STR_CONSOLE_NAME] = USB_STRING_DESC("Sweetberry EC Shell"), - [USB_STR_UPDATE_NAME] = USB_STRING_DESC("Firmware update"), -}; - -BUILD_ASSERT(ARRAY_SIZE(usb_strings) == USB_STR_COUNT); - -/* USB power interface. */ -USB_POWER_CONFIG(sweetberry_power, USB_IFACE_POWER, USB_EP_POWER); - -struct dwc_usb usb_ctl = { - .ep = { - &ep0_ctl, - &ep_console_ctl, - &usb_update_ep_ctl, - &sweetberry_power_ep_ctl, - &i2c_usb__ep_ctl, - }, - .speed = USB_SPEED_FS, - .phy_type = USB_PHY_ULPI, - .dma_en = 1, - .irq = STM32_IRQ_OTG_HS, -}; - -/* I2C ports */ -const struct i2c_port_t i2c_ports[] = { - {"i2c1", I2C_PORT_0, 400, - GPIO_I2C1_SCL, GPIO_I2C1_SDA}, - {"i2c2", I2C_PORT_1, 400, - GPIO_I2C2_SCL, GPIO_I2C2_SDA}, - {"i2c3", I2C_PORT_2, 400, - GPIO_I2C3_SCL, GPIO_I2C3_SDA}, - {"fmpi2c4", FMPI2C_PORT_3, 900, - GPIO_FMPI2C_SCL, GPIO_FMPI2C_SDA}, -}; -const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); - -int usb_i2c_board_is_enabled(void) { return 1; } - -#define GPIO_SET_HS(bank, number) \ - (STM32_GPIO_OSPEEDR(GPIO_##bank) |= (0x3 << ((number) * 2))) - -void board_config_post_gpio_init(void) -{ - /* We use MCO2 clock passthrough to provide a clock to USB HS */ - gpio_config_module(MODULE_MCO, 1); - /* GPIO PC9 to high speed */ - GPIO_SET_HS(C, 9); - - if (usb_ctl.phy_type == USB_PHY_ULPI) - gpio_set_level(GPIO_USB_MUX_SEL, 0); - else - gpio_set_level(GPIO_USB_MUX_SEL, 1); - - /* Set USB GPIO to high speed */ - GPIO_SET_HS(A, 11); - GPIO_SET_HS(A, 12); - - GPIO_SET_HS(C, 3); - GPIO_SET_HS(C, 2); - GPIO_SET_HS(C, 0); - GPIO_SET_HS(A, 5); - - GPIO_SET_HS(B, 5); - GPIO_SET_HS(B, 13); - GPIO_SET_HS(B, 12); - GPIO_SET_HS(B, 2); - GPIO_SET_HS(B, 10); - GPIO_SET_HS(B, 1); - GPIO_SET_HS(B, 0); - GPIO_SET_HS(A, 3); - - /* Set I2C GPIO to HS */ - GPIO_SET_HS(B, 6); - GPIO_SET_HS(B, 7); - GPIO_SET_HS(F, 1); - GPIO_SET_HS(F, 0); - GPIO_SET_HS(A, 8); - GPIO_SET_HS(B, 4); - GPIO_SET_HS(C, 6); - GPIO_SET_HS(C, 7); -} - -static void board_init(void) -{ - uint8_t tmp; - - /* i2c 0 has a tendancy to get wedged. TODO(nsanders): why? */ - i2c_xfer(0, 0, NULL, 0, &tmp, 1); -} -DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/sweetberry/board.h b/board/sweetberry/board.h deleted file mode 100644 index 55aab7d1ee..0000000000 --- a/board/sweetberry/board.h +++ /dev/null @@ -1,109 +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. - */ - -/* Sweetberry configuration */ - -#ifndef __CROS_EC_BOARD_H -#define __CROS_EC_BOARD_H - -#define CONFIG_LTO - -/* Use external clock */ -#define CONFIG_STM32_CLOCK_HSE_HZ 24000000 - -#define CONFIG_BOARD_POST_GPIO_INIT - -#define CONFIG_FLASH_WRITE_SIZE STM32_FLASH_WRITE_SIZE_3300 - -/* Enable console recasting of GPIO type. */ -#define CONFIG_CMD_GPIO_EXTENDED - -/* The UART console can be on flex USART3 (PC10/PC11) */ -/* The UART console can be on header USART4 (PA0/PA1) */ -#undef CONFIG_UART_CONSOLE -#define CONFIG_UART_CONSOLE 4 -#undef CONFIG_UART_TX_BUF_SIZE -#define CONFIG_UART_TX_BUF_SIZE 4096 -/* Don't waste precious DMA channels on console. */ -#undef CONFIG_UART_TX_DMA -#undef CONFIG_UART_RX_DMA - -#define CONFIG_UART_TX_REQ_CH 4 -#define CONFIG_UART_RX_REQ_CH 4 - -/* USB Configuration */ -#define CONFIG_USB -#define CONFIG_USB_PID 0x5020 -#define CONFIG_USB_CONSOLE -#define CONFIG_STREAM_USB -#define CONFIG_USB_UPDATE -#define CONFIG_USB_POWER - -#undef CONFIG_USB_MAXPOWER_MA -#define CONFIG_USB_MAXPOWER_MA 100 - -#define CONFIG_USB_SERIALNO -#define DEFAULT_SERIALNO "Uninitialized" - -/* USB interface indexes (use define rather than enum to expand them) */ -#define USB_IFACE_CONSOLE 0 -#define USB_IFACE_UPDATE 1 -#define USB_IFACE_POWER 2 -#define USB_IFACE_I2C 3 -#define USB_IFACE_COUNT 4 - -/* USB endpoint indexes (use define rather than enum to expand them) */ -#define USB_EP_CONTROL 0 -#define USB_EP_CONSOLE 1 -#define USB_EP_UPDATE 2 -#define USB_EP_POWER 3 -#define USB_EP_I2C 4 -#define USB_EP_COUNT 5 - -#define CONFIG_USB_I2C -#define CONFIG_I2C -#define CONFIG_I2C_CONTROLLER -#define I2C_PORT_0 0 -#define I2C_PORT_1 1 -#define I2C_PORT_2 2 -#define FMPI2C_PORT_3 3 -#define I2C_PORT_COUNT 4 - -/* This is not actually a Chromium EC so disable some features. */ -#undef CONFIG_WATCHDOG_HELP -#undef CONFIG_LID_SWITCH -#undef CONFIG_WATCHDOG - -/* Optional features */ -#define CONFIG_STM_HWTIMER32 - -/* - * Allow dangerous commands all the time, since we don't have a write protect - * switch. - */ -#define CONFIG_SYSTEM_UNLOCKED - -#ifndef __ASSEMBLER__ - -/* Timer selection */ -#define TIM_CLOCK32 5 - -#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_CONSOLE_NAME, - USB_STR_UPDATE_NAME, - USB_STR_COUNT -}; - -#endif /* !__ASSEMBLER__ */ -#endif /* __CROS_EC_BOARD_H */ diff --git a/board/sweetberry/build.mk b/board/sweetberry/build.mk deleted file mode 100644 index 6b06f2bb8f..0000000000 --- a/board/sweetberry/build.mk +++ /dev/null @@ -1,12 +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 - -CHIP:=stm32 -CHIP_FAMILY:=stm32f4 -CHIP_VARIANT:=stm32f446 - -board-y=board.o diff --git a/board/sweetberry/ec.tasklist b/board/sweetberry/ec.tasklist deleted file mode 100644 index c1fb169118..0000000000 --- a/board/sweetberry/ec.tasklist +++ /dev/null @@ -1,11 +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. - */ -#define CONFIG_TASK_LIST \ - TASK_ALWAYS(HOOKS, hook_task, NULL, VENTI_TASK_STACK_SIZE) \ - TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_TASK_STACK_SIZE) diff --git a/board/sweetberry/gpio.inc b/board/sweetberry/gpio.inc deleted file mode 100644 index cfab7fc1f3..0000000000 --- a/board/sweetberry/gpio.inc +++ /dev/null @@ -1,94 +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. */ - -/* Outputs */ -GPIO(MUX_EN_L, PIN(A, 7), GPIO_INPUT) -GPIO(USB_MUX_SEL, PIN(A, 6), GPIO_OUT_HIGH) -GPIO(PHY_RESET, PIN(C, 4), GPIO_INPUT) -GPIO(LED_BLUE, PIN(A, 2), GPIO_ODR_LOW) -GPIO(LED_GRN, PIN(B, 8), GPIO_ODR_LOW) -GPIO(LED_RED, PIN(B, 15), GPIO_ODR_LOW) - -/* Inputs */ -GPIO(GPIO_1, PIN(A, 1), GPIO_INPUT) -GPIO(GPIO_2, PIN(A, 0), GPIO_INPUT) - -/* Clock function */ -GPIO(MCU_TO_PHY_MCO, PIN(C, 9), GPIO_INPUT) - - -/* GPIO to DUT */ -GPIO(DUT_XTAL_STATUS_3V3, PIN(D, 8), GPIO_INPUT) -GPIO(DUT_TO_MCU_1_3V3, PIN(D, 9), GPIO_INPUT) -GPIO(DUT_TO_MCU_2_3V3, PIN(D, 10), GPIO_INPUT) -GPIO(MCU_TO_DUT_INT_3V3, PIN(D, 12), GPIO_INPUT) - -/* I2C pins should be configured as inputs until I2C module is */ -/* initialized. This will avoid driving the lines unintentionally.*/ -GPIO(I2C1_SCL, PIN(B, 6), GPIO_INPUT) -GPIO(I2C1_SDA, PIN(B, 7), GPIO_INPUT) -GPIO(I2C2_SCL, PIN(F, 1), GPIO_INPUT) -GPIO(I2C2_SDA, PIN(F, 0), GPIO_INPUT) -GPIO(I2C3_SCL, PIN(A, 8), GPIO_INPUT) -GPIO(I2C3_SDA, PIN(B, 4), GPIO_INPUT) -GPIO(FMPI2C_SCL, PIN(C, 6), GPIO_INPUT) -GPIO(FMPI2C_SDA, PIN(C, 7), GPIO_INPUT) - -/* These pin assignments aren't used as GPIO. Let's note them here - * for readability but not initialize them. - * USART3 TX/RX - * GPIO(MCU_UART3_TX, PIN(C, 10), GPIO_INPUT) - * GPIO(MCU_UART3_RX, PIN(C, 11), GPIO_INPUT) - * USART4 TX/RX - * GPIO(MCU_UART4_TX, PIN(A, 0), GPIO_INPUT) - * GPIO(MCU_UART4_RX, PIN(A, 1), GPIO_INPUT) - */ - -/* USB pins */ -GPIO(USB_FS_DM, PIN(A, 11), GPIO_INPUT) -GPIO(USB_FS_DP, PIN(A, 12), GPIO_INPUT) - -GPIO(USB_HS_ULPI_NXT, PIN(C, 3), GPIO_INPUT) -GPIO(USB_HS_ULPI_DIR, PIN(C, 2), GPIO_INPUT) -GPIO(USB_HS_ULPI_STP, PIN(C, 0), GPIO_INPUT) -GPIO(USB_HS_ULPI_CK, PIN(A, 5), GPIO_INPUT) - -GPIO(USB_HS_ULPI_D7, PIN(B, 5), GPIO_INPUT) -GPIO(USB_HS_ULPI_D6, PIN(B,13), GPIO_INPUT) -GPIO(USB_HS_ULPI_D5, PIN(B,12), GPIO_INPUT) -GPIO(USB_HS_ULPI_D4, PIN(B, 2), GPIO_INPUT) -GPIO(USB_HS_ULPI_D3, PIN(B,10), GPIO_INPUT) -GPIO(USB_HS_ULPI_D2, PIN(B, 1), GPIO_INPUT) -GPIO(USB_HS_ULPI_D1, PIN(B, 0), GPIO_INPUT) -GPIO(USB_HS_ULPI_D0, PIN(A, 3), GPIO_INPUT) - - -/* Unimplemented signals since we are not an EC */ -UNIMPLEMENTED(ENTERING_RW) -UNIMPLEMENTED(WP_L) - - -ALTERNATE(PIN_MASK(C, 0x0c00), 7, MODULE_UART, 0) /* USART3: PC10/PC11 - Console */ -ALTERNATE(PIN_MASK(A, 0x0003), 8, MODULE_UART, 0) /* USART4: PA0/PA1 - Console */ - -ALTERNATE(PIN_MASK(B, 0x00c0), 4, MODULE_I2C, GPIO_ODR_HIGH | GPIO_PULL_UP) /* I2C1 MASTER:PB6/7 */ -ALTERNATE(PIN_MASK(F, 0x0003), 4, MODULE_I2C, GPIO_ODR_HIGH | GPIO_PULL_UP) /* I2C2 MASTER:PF1/0 */ -ALTERNATE(PIN_MASK(A, 0x0100), 4, MODULE_I2C, GPIO_ODR_HIGH | GPIO_PULL_UP) /* I2C3 MASTER:PA8 */ -ALTERNATE(PIN_MASK(B, 0x0010), 4, MODULE_I2C, GPIO_ODR_HIGH | GPIO_PULL_UP) /* I2C3 MASTER:PB4 */ -ALTERNATE(PIN_MASK(C, 0x00c0), 4, MODULE_I2C, GPIO_ODR_HIGH | GPIO_PULL_UP) /* FMPI2C MASTER:PC6/7 */ - -/* OTG FS */ -ALTERNATE(PIN_MASK(A, 0x1800), 10, MODULE_USB, 0) /* DWC USB OTG: PA11/12 */ - -/* OTG HS */ -ALTERNATE(PIN_MASK(A, 0x0028), 10, MODULE_USB, 0) /* DWC USB OTG HS */ -ALTERNATE(PIN_MASK(B, 0x3427), 10, MODULE_USB, 0) /* DWC USB OTG HS */ -ALTERNATE(PIN_MASK(C, 0x000d), 10, MODULE_USB, 0) /* DWC USB OTG HS */ -ALTERNATE(PIN_MASK(C, 0x0200), 0, MODULE_MCO, 0) /* MCO2: PC9 */ |