From bcc2c00d5628e70a4f5c8094df22daef96c9c6c2 Mon Sep 17 00:00:00 2001 From: Jack Rosenthal Date: Wed, 29 Jul 2020 09:31:41 -0600 Subject: [PATCH] board: clear out disabled boards left for building utils These boards were removed from buildall as they ran out of flash space, but we kept the board directory around so that we could continue to build the ec-utils ebuild, which used to require the board directory to build tools like ectool (this was fixed in CL:2283999). Since we've detangled the host utils ebuilds, these directories can now be removed. BUG=chromium:1035536 BRANCH=none TEST=buildall Change-Id: I736b323f9e977d74ca31788ed320befa2289a9dc Signed-off-by: Jack Rosenthal Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2326304 Reviewed-by: Aseda Aboagye --- Makefile.rules | 2 +- board/chell/battery.c | 81 ----- board/chell/board.c | 469 ---------------------------- board/chell/board.h | 218 ------------- board/chell/build.mk | 15 - board/chell/ec.tasklist | 22 -- board/chell/gpio.inc | 181 ----------- board/chell/led.c | 145 --------- board/chell/lfw/gpio.inc | 22 -- board/chell/usb_pd_policy.c | 380 ----------------------- board/chell_pd | 1 - board/glados/battery.c | 230 -------------- board/glados/board.c | 521 -------------------------------- board/glados/board.h | 220 -------------- board/glados/build.mk | 15 - board/glados/ec.tasklist | 24 -- board/glados/gpio.inc | 185 ------------ board/glados/led.c | 167 ---------- board/glados/lfw/gpio.inc | 22 -- board/glados/usb_pd_policy.c | 59 ---- board/glados_pd/block.png | Bin 101649 -> 0 bytes board/glados_pd/board.c | 169 ----------- board/glados_pd/board.h | 127 -------- board/glados_pd/build.mk | 19 -- board/glados_pd/dualtcpc.md | 119 -------- board/glados_pd/ec.tasklist | 14 - board/glados_pd/glados_pd.pdf | Bin 101626 -> 0 bytes board/glados_pd/glados_pd.png | Bin 205363 -> 0 bytes board/glados_pd/gpio.inc | 84 ----- board/glados_pd/usb_pd_config.h | 327 -------------------- board/gru | 1 - board/kevin/board.c | 9 - board/kevin/board.h | 6 - board/kevin/build.mk | 13 - board/kevin/ec.tasklist | 7 - board/oak_pd | 1 - 36 files changed, 1 insertion(+), 3874 deletions(-) delete mode 100644 board/chell/battery.c delete mode 100644 board/chell/board.c delete mode 100644 board/chell/board.h delete mode 100644 board/chell/build.mk delete mode 100644 board/chell/ec.tasklist delete mode 100644 board/chell/gpio.inc delete mode 100644 board/chell/led.c delete mode 100644 board/chell/lfw/gpio.inc delete mode 100644 board/chell/usb_pd_policy.c delete mode 120000 board/chell_pd delete mode 100644 board/glados/battery.c delete mode 100644 board/glados/board.c delete mode 100644 board/glados/board.h delete mode 100644 board/glados/build.mk delete mode 100644 board/glados/ec.tasklist delete mode 100644 board/glados/gpio.inc delete mode 100644 board/glados/led.c delete mode 100644 board/glados/lfw/gpio.inc delete mode 100644 board/glados/usb_pd_policy.c delete mode 100644 board/glados_pd/block.png delete mode 100644 board/glados_pd/board.c delete mode 100644 board/glados_pd/board.h delete mode 100644 board/glados_pd/build.mk delete mode 100644 board/glados_pd/dualtcpc.md delete mode 100644 board/glados_pd/ec.tasklist delete mode 100644 board/glados_pd/glados_pd.pdf delete mode 100644 board/glados_pd/glados_pd.png delete mode 100644 board/glados_pd/gpio.inc delete mode 100644 board/glados_pd/usb_pd_config.h delete mode 120000 board/gru delete mode 100644 board/kevin/board.c delete mode 100644 board/kevin/board.h delete mode 100644 board/kevin/build.mk delete mode 100644 board/kevin/ec.tasklist delete mode 120000 board/oak_pd diff --git a/Makefile.rules b/Makefile.rules index 074564f051..15f87d1c63 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -17,7 +17,7 @@ build-srcs := $(foreach u,$(build-util-bin),$(sort $($(u)-objs:%.o=util/%.c) $(w host-srcs := $(foreach u,$(host-util-bin),$(sort $($(u)-objs:%.o=util/%.c) $(wildcard util/$(u).c))) # Don't do a build test on the following boards: -skip_boards = OWNERS chell chell_pd cr50 glados glados_pd gru host kevin +skip_boards = OWNERS cr50 host boards := $(filter-out $(skip_boards),$(notdir $(wildcard board/* private*/board/*))) # Create output directories if necessary diff --git a/board/chell/battery.c b/board/chell/battery.c deleted file mode 100644 index 1e5c59a978..0000000000 --- a/board/chell/battery.c +++ /dev/null @@ -1,81 +0,0 @@ -/* Copyright 2015 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. - * - * Battery pack vendor provided charging profile - */ - -#include "battery.h" -#include "battery_smart.h" -#include "charge_state.h" -#include "console.h" -#include "ec_commands.h" -#include "util.h" - -/* Shutdown mode parameter to write to manufacturer access register */ -#define SB_SHUTDOWN_DATA 0x0010 - -/* Battery info for proto */ -static const struct battery_info info = { - .voltage_max = 13050, /* mV */ - .voltage_normal = 11400, - .voltage_min = 9000, - .precharge_current = 392, /* mA */ - .start_charging_min_c = 0, - .start_charging_max_c = 60, - .charging_min_c = 0, - .charging_max_c = 60, - .discharging_min_c = 0, - .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_MANUFACTURER_ACCESS, SB_SHUTDOWN_DATA); - if (rv != EC_SUCCESS) - return EC_RES_ERROR; - - rv = sb_write(SB_MANUFACTURER_ACCESS, SB_SHUTDOWN_DATA); - return rv ? EC_RES_ERROR : EC_RES_SUCCESS; -} - -int charger_profile_override(struct charge_state_data *curr) -{ - const struct battery_info *batt_info; - /* battery temp in 0.1 deg C */ - int bat_temp_c = curr->batt.temperature - 2731; - - batt_info = battery_get_info(); - /* Don't charge if outside of allowable temperature range */ - if (bat_temp_c >= batt_info->charging_max_c * 10 || - bat_temp_c < batt_info->charging_min_c * 10) { - curr->requested_current = 0; - curr->requested_voltage = 0; - curr->batt.flags &= ~BATT_FLAG_WANT_CHARGE; - curr->state = ST_IDLE; - } - return 0; -} - -/* Customs options controllable by host command. */ -#define PARAM_FASTCHARGE (CS_PARAM_CUSTOM_PROFILE_MIN + 0) - -enum ec_status charger_profile_override_get_param(uint32_t param, - uint32_t *value) -{ - return EC_RES_INVALID_PARAM; -} - -enum ec_status charger_profile_override_set_param(uint32_t param, - uint32_t value) -{ - return EC_RES_INVALID_PARAM; -} diff --git a/board/chell/board.c b/board/chell/board.c deleted file mode 100644 index 1f8390fdd9..0000000000 --- a/board/chell/board.c +++ /dev/null @@ -1,469 +0,0 @@ -/* Copyright 2015 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. - */ - -/* Chell board-specific configuration */ - -#include "adc_chip.h" -#include "bd99992gw.h" -#include "charge_manager.h" -#include "charge_state.h" -#include "charger.h" -#include "chipset.h" -#include "console.h" -#include "extpower.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "i2c.h" -#include "keyboard_scan.h" -#include "lid_switch.h" -#include "pi3usb9281.h" -#include "power.h" -#include "power_button.h" -#include "pwm.h" -#include "pwm_chip.h" -#include "spi.h" -#include "switch.h" -#include "system.h" -#include "task.h" -#include "tcpci.h" -#include "temp_sensor.h" -#include "timer.h" -#include "uart.h" -#include "usb_charge.h" -#include "usb_mux.h" -#include "usb_mux/ps8740.h" -#include "usb_pd.h" -#include "usb_pd_tcpm.h" -#include "util.h" - -#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) -#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args) - -#define I2C_ADDR_BD99992_FLAGS 0x30 - -/* Exchange status with PD MCU. */ -static void pd_mcu_interrupt(enum gpio_signal signal) -{ -#ifdef HAS_TASK_PDCMD - /* Exchange status with PD MCU to determine interrupt cause */ - host_command_pd_send_status(0); -#endif -} - -void vbus0_evt(enum gpio_signal signal) -{ - /* VBUS present GPIO is inverted */ - usb_charger_vbus_change(0, !gpio_get_level(signal)); - task_wake(TASK_ID_PD_C0); -} - -void vbus1_evt(enum gpio_signal signal) -{ - /* VBUS present GPIO is inverted */ - usb_charger_vbus_change(1, !gpio_get_level(signal)); - task_wake(TASK_ID_PD_C1); -} - -void usb0_evt(enum gpio_signal signal) -{ - task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12, 0); -} - -void usb1_evt(enum gpio_signal signal) -{ - task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12, 0); -} - -#include "gpio_list.h" - -/* ADC channels */ -const struct adc_t adc_channels[] = { - /* Vbus sensing. Converted to mV, full ADC is equivalent to 30V. */ - [ADC_VBUS] = {"VBUS", 30000, 1024, 0, 1}, - /* Adapter current output or battery discharging current */ - [ADC_AMON_BMON] = {"AMON_BMON", 25000, 3072, 0, 3}, - /* System current consumption */ - [ADC_PSYS] = {"PSYS", 1, 1, 0, 4}, - -}; -BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); - -/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */ -const struct pwm_t pwm_channels[] = { - /* Use alternate 100kHz clock source, keep active in low-power idle */ - {2, PWM_CONFIG_ALT_CLOCK | PWM_CONFIG_DSLEEP}, -}; -BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT); - -const struct i2c_port_t i2c_ports[] = { - {"pmic", MEC1322_I2C0_0, 400, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA}, - {"muxes", MEC1322_I2C0_1, 400, GPIO_I2C0_1_SCL, GPIO_I2C0_1_SDA}, - {"pd_mcu", MEC1322_I2C1, 500, GPIO_I2C1_SCL, GPIO_I2C1_SDA}, - {"batt", MEC1322_I2C3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA}, -}; -const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); - -const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC, - .addr_flags = CONFIG_TCPC_I2C_BASE_ADDR_FLAGS, - }, - .drv = &tcpci_tcpm_drv, - }, - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC, - .addr_flags = CONFIG_TCPC_I2C_BASE_ADDR_FLAGS + 1, - }, - .drv = &tcpci_tcpm_drv, - - }, -}; - -/* SPI devices */ -const struct spi_device_t spi_devices[] = { - { CONFIG_SPI_FLASH_PORT, 0, GPIO_PVT_CS0}, -}; -const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices); - -const enum gpio_signal hibernate_wake_pins[] = { - GPIO_AC_PRESENT, - GPIO_LID_OPEN, - GPIO_POWER_BUTTON_L, -}; -const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins); - -#ifdef CONFIG_KEYBOARD_FACTORY_TEST -/* - * We have total 28 pins for keyboard connecter, {-1, -1} mean - * the N/A pin that don't consider it and reserve index 0 area - * that we don't have pin 0. - */ -const int keyboard_factory_scan_pins[][2] = { - {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, {-1, -1}, - {12, 6}, {4, 3}, {4, 2}, {0, 2}, {14, 2}, - {4, 0}, {0, 0}, {-1, -1}, {3, 2}, {10, 3}, - {10, 0}, {12, 5}, {-1, -1}, {10, 2}, {-1, -1}, - {0, 1}, {10, 4}, {-1, -1}, {-1, -1}, {0, 4}, - {10, 7}, {10, 6}, {0, 3}, {0, 5}, -}; - -const int keyboard_factory_scan_pins_used = - ARRAY_SIZE(keyboard_factory_scan_pins); -#endif - -struct pi3usb9281_config pi3usb9281_chips[] = { - { - .i2c_port = I2C_PORT_USB_CHARGER_1, - .mux_lock = NULL, - }, - { - .i2c_port = I2C_PORT_USB_CHARGER_2, - .mux_lock = NULL, - }, -}; -BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) == - CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT); - -static int ps8740_tune_mux(int port) -{ - /* Apply same USB EQ settings to both Type-C mux */ - ps8740_tune_usb_eq(port, - PS8740_USB_EQ_TX_6_5_DB, - PS8740_USB_EQ_RX_14_3_DB); - - return EC_SUCCESS; -} - -struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .usb_port = 0, - .i2c_port = I2C_PORT_USB_MUX, - .i2c_addr_flags = 0x1A, - .driver = &ps8740_usb_mux_driver, - .board_init = &ps8740_tune_mux, - }, - { - .usb_port = 1, - .i2c_port = I2C_PORT_USB_MUX, - .i2c_addr_flags = 0x10, - .driver = &ps8740_usb_mux_driver, - .board_init = &ps8740_tune_mux, - } -}; - -/** - * Reset PD MCU - */ -void board_reset_pd_mcu(void) -{ - gpio_set_level(GPIO_PD_RST_L, 0); - usleep(100); - gpio_set_level(GPIO_PD_RST_L, 1); -} - -const struct temp_sensor_t temp_sensors[] = { - {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_get_battery_temp, 0, 4}, - - /* These BD99992GW temp sensors are only readable in S0 */ - {"Ambient", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM0, 4}, - {"Charger", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM1, 4}, - {"DRAM", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM2, 4}, - {"Wifi", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM3, 4}, -}; -BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); - -static void board_pmic_init(void) -{ - /* DISCHGCNT3 - enable 100 ohm discharge on V1.00A */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x3e, 0x04); - - /* - * No need to re-init below settings since they are present on all MP - * ROs and PMIC settings are sticky across sysjump - */ - if (system_jumped_late()) - return; - - /* Set CSDECAYEN / VCCIO decays to 0V at assertion of SLP_S0# */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x30, 0x4a); - - /* - * Set V100ACNT / V1.00A Control Register: - * Nominal output = 1.0V. - */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x37, 0x1a); - - /* - * Set V085ACNT / V0.85A Control Register: - * Lower power mode = 0.7V. - * Nominal output = 1.0V. - */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x38, 0x7a); - - /* VRMODECTRL - enable low-power mode for VCCIO and V0.85A */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x3b, 0x18); -} -DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_DEFAULT); - -/* Initialize board. */ -static void board_init(void) -{ - /* Enable PD MCU interrupt */ - gpio_enable_interrupt(GPIO_PD_MCU_INT); - - /* Enable VBUS interrupt */ - gpio_enable_interrupt(GPIO_USB_C0_VBUS_WAKE_L); - gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE_L); - - /* Enable pericom BC1.2 interrupts */ - gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L); - gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L); - - /* Provide AC status to the PCH */ - gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); - - /* Proto board workarounds */ - if (system_get_board_version() == 0) { - /* Disable interrupt for SLP_S0 */ - gpio_set_flags(GPIO_PCH_SLP_S0_L, - GPIO_INPUT | GPIO_PULL_DOWN); - - /* Add internal pullup on PLATFORM_EC_PROCHOT */ - gpio_set_flags(GPIO_PLATFORM_EC_PROCHOT, - GPIO_INPUT | GPIO_PULL_UP); - } -} -DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); - -/** - * Buffer the AC present GPIO to the PCH. - */ -static void board_extpower(void) -{ - gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); -} -DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT); - -/** - * Set active charge port -- only one port can be active at a time. - * - * @param charge_port Charge port to enable. - * - * Returns EC_SUCCESS if charge port is accepted and made active, - * EC_ERROR_* otherwise. - */ -int board_set_active_charge_port(int charge_port) -{ - /* charge port is a realy physical port */ - int is_real_port = (charge_port >= 0 && - charge_port < CONFIG_USB_PD_PORT_MAX_COUNT); - /* check if we are source vbus on that port */ - int source = gpio_get_level(charge_port == 0 ? GPIO_USB_C0_5V_EN : - GPIO_USB_C1_5V_EN); - - if (is_real_port && source) { - CPRINTS("Skip enable p%d", charge_port); - return EC_ERROR_INVAL; - } - - CPRINTS("New chg p%d", charge_port); - - if (charge_port == CHARGE_PORT_NONE) { - /* Disable both ports */ - gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1); - gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1); - } else { - /* Make sure non-charging port is disabled */ - gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L : - GPIO_USB_C1_CHARGE_EN_L, 1); - /* Enable charging port */ - gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L : - GPIO_USB_C0_CHARGE_EN_L, 0); - } - - return EC_SUCCESS; -} - -/** - * Set the charge limit based upon desired maximum. - * - * @param port Port number. - * @param supplier Charge supplier type. - * @param charge_ma Desired charge limit (mA). - * @param charge_mv Negotiated charge voltage (mV). - */ -void board_set_charge_limit(int port, int supplier, int charge_ma, - int max_ma, int charge_mv) -{ - charge_set_input_current_limit(MAX(charge_ma, - CONFIG_CHARGER_INPUT_CURRENT), charge_mv); -} - -/* Called on AP S5 -> S3 transition */ -static void board_chipset_startup(void) -{ - gpio_set_level(GPIO_USB1_ENABLE, 1); - gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1); -} -DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT); - -/* Called on AP S3 -> S5 transition */ -static void board_chipset_shutdown(void) -{ - gpio_set_level(GPIO_USB1_ENABLE, 0); - gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); - -/* Called on AP S3 -> S0 transition */ -static void board_chipset_resume(void) -{ - gpio_set_level(GPIO_ENABLE_BACKLIGHT, 1); - gpio_set_level(GPIO_PP1800_DX_AUDIO_EN, 1); - gpio_set_level(GPIO_PP1800_DX_DMIC_EN, 1); -} -DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT); - -/* Called on AP S0 -> S3 transition */ -static void board_chipset_suspend(void) -{ - gpio_set_level(GPIO_ENABLE_BACKLIGHT, 0); - gpio_set_level(GPIO_PP1800_DX_AUDIO_EN, 0); - gpio_set_level(GPIO_PP1800_DX_DMIC_EN, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); - -void board_hibernate(void) -{ - CPRINTS("Triggering PMIC shutdown."); - uart_flush_output(); - - /* Trigger PMIC shutdown. */ - if (i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x49, 0x01)) { - /* - * If we can't tell the PMIC to shutdown, instead reset - * and don't start the AP. Hopefully we'll be able to - * communicate with the PMIC next time. - */ - CPRINTS("PMIC i2c failed."); - system_reset(SYSTEM_RESET_LEAVE_AP_OFF); - } - - /* Await shutdown. */ - while (1) - ; -} - -/* Make the pmic re-sequence the power rails under these conditions. */ -#define PMIC_RESET_FLAGS \ - (EC_RESET_FLAG_WATCHDOG | EC_RESET_FLAG_SOFT | EC_RESET_FLAG_HARD) -static void board_handle_reboot(void) -{ - int flags; - - if (system_jumped_late()) - return; - - /* Interrogate current reset flags from previous reboot. */ - flags = system_get_reset_flags(); - - if (!(flags & PMIC_RESET_FLAGS)) - return; - - /* Preserve AP off request. */ - if (flags & EC_RESET_FLAG_AP_OFF) - chip_save_reset_flags(EC_RESET_FLAG_AP_OFF); - - ccprintf("Restarting system with PMIC.\n"); - /* Flush console */ - cflush(); - - /* Bring down all rails but RTC rail (including EC power). */ - gpio_set_level(GPIO_PMIC_LDO_EN, 1); - while (1) - ; /* wait here */ -} -DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST); - -/* - * Various voltage rails will be enabled / disabled by the PMIC when - * GPIO_PMIC_SLP_SUS_L changes. We need to delay the disable of V0.85A - * by approximately 25ms in order to allow V1.00A to sufficiently discharge - * first. - * - * Therefore, after GPIO_PMIC_SLP_SUS_L goes high, ignore the state of - * the V12_EN pin: Keep V0.85A enabled. - * - * When GPIO_PMIC_SLP_SUS_L goes low, delay 25ms, and make V12_EN function - * as normal - this should result in V0.85A discharging immediately after the - * i2c write completes. - */ -void chipset_set_pmic_slp_sus_l(int level) -{ - static int previous_level; - int val; - - gpio_set_level(GPIO_PMIC_SLP_SUS_L, level); - - if (previous_level != level) { - /* Rising edge: Force V0.85A enable. Falling: Pin control. */ - val = level ? 0x80 : 0; - if (!level) - msleep(25); - - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, - 0x43, val); - previous_level = level; - } -} diff --git a/board/chell/board.h b/board/chell/board.h deleted file mode 100644 index f1a0355196..0000000000 --- a/board/chell/board.h +++ /dev/null @@ -1,218 +0,0 @@ -/* Copyright 2015 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. - */ - -/* Chell board configuration */ - -#ifndef __CROS_EC_BOARD_H -#define __CROS_EC_BOARD_H - -/* - * Allow dangerous commands. - * TODO: Remove this config before production. - */ -#define CONFIG_SYSTEM_UNLOCKED - -/* Optional features */ -#define CONFIG_ADC -#define CONFIG_BATTERY_CUT_OFF -#define CONFIG_BATTERY_PRESENT_GPIO GPIO_BAT_PRESENT_L -#define CONFIG_BATTERY_SMART -#define CONFIG_BOARD_HAS_RTC_RESET -#define CONFIG_BOARD_VERSION_GPIO -#define CONFIG_CHARGE_MANAGER -#define CONFIG_CHARGE_RAMP_HW - -#define CONFIG_CHARGER - -#define CONFIG_CHARGER_DISCHARGE_ON_AC -#define CONFIG_CHARGER_ISL9237 -#define CONFIG_CHARGER_ILIM_PIN_DISABLED -#define CONFIG_CHARGER_INPUT_CURRENT 512 -#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1 -#define CONFIG_CHARGER_PROFILE_OVERRIDE -#define CONFIG_CHARGER_SENSE_RESISTOR 10 -#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20 -#undef CONFIG_CMD_BATTFAKE -#define CONFIG_CMD_CHARGER_ADC_AMON_BMON - -#define CONFIG_CHIPSET_SKYLAKE -#define CONFIG_CHIPSET_RESET_HOOK -#define CONFIG_CLOCK_CRYSTAL -#define CONFIG_EXTPOWER_GPIO -#define CONFIG_HOSTCMD_PD -#define CONFIG_HOSTCMD_PD_PANIC -#define CONFIG_I2C -#define CONFIG_I2C_MASTER -#define CONFIG_KEYBOARD_PROTOCOL_8042 -#define CONFIG_KEYBOARD_COL2_INVERTED -#define CONFIG_KEYBOARD_FACTORY_TEST -#define CONFIG_LED_COMMON -#define CONFIG_LID_SWITCH -#define CONFIG_LOW_POWER_IDLE -#define CONFIG_LTO -#define CONFIG_POWER_BUTTON -#define CONFIG_POWER_BUTTON_X86 -#define CONFIG_POWER_COMMON -#define CONFIG_POWER_SIGNAL_INTERRUPT_STORM_DETECT_THRESHOLD 30 -#define CONFIG_POWER_TRACK_HOST_SLEEP_STATE -#define CONFIG_POWER_S0IX -#define CONFIG_PWM -#define CONFIG_PWM_KBLIGHT -/* All data won't fit in data RAM. So, moving boundary slightly. */ -#undef CONFIG_RO_SIZE -#define CONFIG_RO_SIZE (104 * 1024) -#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L -/* We're space constrained on Chell, so reduce the UART TX buffer size. */ -#undef CONFIG_UART_TX_BUF_SIZE -#define CONFIG_UART_TX_BUF_SIZE 512 -#define CONFIG_USB_CHARGER -#define CONFIG_USB_MUX_PS8740 -#define CONFIG_USB_POWER_DELIVERY -#define CONFIG_USB_PD_TCPMV1 -#define CONFIG_USB_PD_ALT_MODE -#define CONFIG_USB_PD_ALT_MODE_DFP -#define CONFIG_USB_PD_COMM_LOCKED -#define CONFIG_USB_PD_DUAL_ROLE -#define CONFIG_USB_PD_LOGGING -#define CONFIG_USB_PD_PORT_MAX_COUNT 2 -#define CONFIG_USB_PD_TCPM_TCPCI -#define CONFIG_USB_PD_TRY_SRC -#define CONFIG_USB_PD_VBUS_DETECT_GPIO -#define CONFIG_BC12_DETECT_PI3USB9281 -#define CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT 2 -#define CONFIG_USBC_SS_MUX -#define CONFIG_USBC_SS_MUX_DFP_ONLY -#define CONFIG_USBC_VCONN -#define CONFIG_USBC_VCONN_SWAP -#define CONFIG_VBOOT_HASH - -#define CONFIG_SPI_FLASH_PORT 1 -#define CONFIG_SPI_FLASH -#define CONFIG_FLASH_SIZE 524288 -#define CONFIG_SPI_FLASH_W25X40 - -#define CONFIG_TEMP_SENSOR -#define CONFIG_TEMP_SENSOR_BD99992GW -#define CONFIG_THERMISTOR_NCP15WB -#define CONFIG_DPTF - -/* - * Enable 1 slot of secure temporary storage to support - * suspend/resume with read/write memory training. - */ -#define CONFIG_VSTORE -#define CONFIG_VSTORE_SLOT_COUNT 1 - -#define CONFIG_WATCHDOG_HELP - -#define CONFIG_WIRELESS -#define CONFIG_WIRELESS_SUSPEND \ - (EC_WIRELESS_SWITCH_WLAN | EC_WIRELESS_SWITCH_WLAN_POWER) - -/* Wireless signals */ -#define WIRELESS_GPIO_WLAN GPIO_WLAN_OFF_L -#define WIRELESS_GPIO_WLAN_POWER GPIO_PP3300_DX_WLAN_EN - -/* LED signals */ -#define GPIO_BAT_LED_RED GPIO_CHARGE_LED_1 -#define GPIO_BAT_LED_GREEN GPIO_CHARGE_LED_2 - -/* I2C ports */ -#define I2C_PORT_PMIC MEC1322_I2C0_0 -#define I2C_PORT_USB_CHARGER_1 MEC1322_I2C0_1 -#define I2C_PORT_USB_MUX MEC1322_I2C0_1 -#define I2C_PORT_USB_CHARGER_2 MEC1322_I2C0_0 -#define I2C_PORT_PD_MCU MEC1322_I2C1 -#define I2C_PORT_TCPC MEC1322_I2C1 -#define I2C_PORT_BATTERY MEC1322_I2C3 -#define I2C_PORT_CHARGER MEC1322_I2C3 - -/* Thermal sensors read through PMIC ADC interface */ -#define I2C_PORT_THERMAL I2C_PORT_PMIC - -/* Modules we want to exclude */ -#undef CONFIG_CMD_ACCELSPOOF -#undef CONFIG_CMD_BATTFAKE -#undef CONFIG_CMD_FLASH -#undef CONFIG_CMD_HASH -#undef CONFIG_CMD_HCDEBUG -#undef CONFIG_CMD_I2C_SCAN -#undef CONFIG_CMD_MD -#undef CONFIG_CMD_MMAPINFO -#undef CONFIG_CMD_POWERINDEBUG -#undef CONFIG_CMD_PWR_AVG -#undef CONFIG_CMD_SLEEPMASK -#undef CONFIG_CMD_SLEEPMASK_SET -#undef CONFIG_CMD_SYSLOCK -#undef CONFIG_CMD_TEMP_SENSOR -#undef CONFIG_CMD_TIMERINFO -#undef CONFIG_CONSOLE_CMDHELP -#undef CONFIG_CONSOLE_HISTORY -#undef CONFIG_EC_CMD_PD_CHIP_INFO -#undef CONFIG_CMD_I2C_XFER - -#ifndef __ASSEMBLER__ - -#include "gpio_signal.h" -#include "registers.h" - -/* ADC signal */ -enum adc_channel { - ADC_VBUS, - ADC_AMON_BMON, - ADC_PSYS, - /* Number of ADC channels */ - ADC_CH_COUNT -}; - -enum pwm_channel { - PWM_CH_KBLIGHT, - - /* Number of PWM channels */ - PWM_CH_COUNT -}; - -enum temp_sensor_id { - TEMP_SENSOR_BATTERY, - - /* These temp sensors are only readable in S0 */ - TEMP_SENSOR_AMBIENT, - TEMP_SENSOR_CHARGER, - TEMP_SENSOR_DRAM, - TEMP_SENSOR_WIFI, - - TEMP_SENSOR_COUNT -}; - -/* TODO: determine the following board specific type-C power constants */ -/* - * delay to turn on the power supply max is ~16ms. - * delay to turn off the power supply max is about ~180ms. - */ -#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */ -#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */ - -/* delay to turn on/off vconn */ -#define PD_VCONN_SWAP_DELAY 5000 /* us */ - -/* Define typical operating power and max power */ -#define PD_OPERATING_POWER_MW 15000 -#define PD_MAX_POWER_MW 45000 -#define PD_MAX_CURRENT_MA 3000 - -/* Try to negotiate to 20V since i2c noise problems should be fixed. */ -#define PD_MAX_VOLTAGE_MV 20000 - -#ifdef CONFIG_KEYBOARD_FACTORY_TEST -extern const int keyboard_factory_scan_pins[][2]; -extern const int keyboard_factory_scan_pins_used; -#endif - -/* Reset PD MCU */ -void board_reset_pd_mcu(void); - -#endif /* !__ASSEMBLER__ */ - -#endif /* __CROS_EC_BOARD_H */ diff --git a/board/chell/build.mk b/board/chell/build.mk deleted file mode 100644 index 3995654f1e..0000000000 --- a/board/chell/build.mk +++ /dev/null @@ -1,15 +0,0 @@ -# -*- makefile -*- -# Copyright 2015 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 SMSC MEC1322 / external SPI is 512KB / external clock is crystal -CHIP:=mec1322 -CHIP_SPI_SIZE_KB:=512 - -board-y=board.o led.o -board-$(CONFIG_BATTERY_SMART)+=battery.o -board-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o diff --git a/board/chell/ec.tasklist b/board/chell/ec.tasklist deleted file mode 100644 index 2ae8c29075..0000000000 --- a/board/chell/ec.tasklist +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 2015 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, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(USB_CHG_P0, usb_charger_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(USB_CHG_P1, usb_charger_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(PDCMD, pd_command_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(POWERBTN, power_button_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE) diff --git a/board/chell/gpio.inc b/board/chell/gpio.inc deleted file mode 100644 index 4529d8df7c..0000000000 --- a/board/chell/gpio.inc +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- mode:c -*- - * - * Copyright 2015 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. */ - -GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH, lid_interrupt) -GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH, extpower_interrupt) -GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt) -/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */ -GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH, power_button_interrupt) -#ifdef CONFIG_POWER_S0IX -GPIO_INT(PCH_SLP_S0_L, PIN(211), GPIO_INT_BOTH, power_signal_interrupt) -#endif -/* RSMRST from PMIC */ -GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PMIC_INT_L, PIN(50), GPIO_INT_FALLING, power_signal_interrupt) -GPIO_INT(PD_MCU_INT, PIN(122), GPIO_INT_FALLING | GPIO_PULL_UP, pd_mcu_interrupt) -GPIO_INT(USB_C0_VBUS_WAKE_L,PIN(152), GPIO_INT_BOTH, vbus0_evt) -GPIO_INT(USB_C1_VBUS_WAKE_L,PIN(123), GPIO_INT_BOTH, vbus1_evt) -GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt) -GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt) -GPIO_INT(PMIC_DPWROK, PIN(133), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(UART0_RX, PIN(162), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) - -/* PMIC */ -GPIO(PMIC_LDO_EN, PIN(55), GPIO_OUT_LOW) -GPIO(PMIC_SLP_SUS_L, PIN(201), GPIO_OUT_LOW) - -/* I2C pins - these will be reconfigured for alternate function below */ -GPIO(I2C0_0_SCL, PIN(15), GPIO_INPUT) -GPIO(I2C0_0_SDA, PIN(16), GPIO_INPUT) -GPIO(I2C0_1_SCL, PIN(134), GPIO_INPUT) -GPIO(I2C0_1_SDA, PIN(17), GPIO_INPUT) -GPIO(I2C1_SCL, PIN(22), GPIO_INPUT) -GPIO(I2C1_SDA, PIN(23), GPIO_INPUT) -GPIO(I2C2_SCL, PIN(20), GPIO_INPUT) -GPIO(I2C2_SDA, PIN(21), GPIO_INPUT) -GPIO(I2C3_SCL, PIN(24), GPIO_INPUT) -GPIO(I2C3_SDA, PIN(25), GPIO_INPUT) - -/* PCH */ -GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH) -GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH) -GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUTPUT) -GPIO(PCH_SEC_DISABLE_L, PIN(65), GPIO_OUT_HIGH) -GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH) -GPIO(PCH_ACOK, PIN(110), GPIO_OUT_LOW) -GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH) -GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW) -GPIO(PCH_RTCRST, PIN(163), GPIO_OUT_LOW) -GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH) -GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW) -#ifndef CONFIG_POWER_S0IX -GPIO(PCH_SLP_S0_L, PIN(211), GPIO_INPUT) -#endif - -/* Devices and power */ -GPIO(PP1800_DX_DMIC_EN, PIN(11), GPIO_OUT_LOW) -GPIO(PP1800_DX_AUDIO_EN, PIN(141), GPIO_OUT_LOW) -GPIO(PP3300_DX_WLAN_EN, PIN(203), GPIO_OUT_LOW) -GPIO(WLAN_OFF_L, PIN(132), GPIO_OUT_LOW) -GPIO(TRACKPAD_INT_L, PIN(127), GPIO_INPUT) -GPIO(ENABLE_BACKLIGHT, PIN(202), GPIO_OUT_LOW) -GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_LOW) -GPIO(BAT_PRESENT_L, PIN(56), GPIO_INPUT) -GPIO(PLATFORM_EC_PROCHOT, PIN(151), GPIO_INPUT) -GPIO(CPU_PROCHOT, PIN(52), GPIO_OUT_LOW) - -/* USB PD and port power */ -GPIO(PD_RST_L, PIN(130), GPIO_ODR_HIGH) -GPIO(USB_PD_WAKE, PIN(60), GPIO_OUT_HIGH) -GPIO(USB_C0_DP_HPD, PIN(46), GPIO_OUT_LOW) -GPIO(USB_C1_DP_HPD, PIN(51), GPIO_OUT_LOW) -GPIO(USB_C0_5V_EN, PIN(154), GPIO_OUT_LOW) -GPIO(USB_C1_5V_EN, PIN(204), GPIO_OUT_LOW) -GPIO(USB_C0_CHARGE_EN_L, PIN(64), GPIO_OUT_LOW) -GPIO(USB_C1_CHARGE_EN_L, PIN(210), GPIO_OUT_LOW) -GPIO(USB1_ENABLE, PIN(36), GPIO_OUT_LOW) -GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_LOW) -GPIO(USB2_OTG_VBUSSENSE, PIN(140), GPIO_OUT_LOW) - -#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP) -#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH) -#define GPIO_KB_OUTPUT_COL2 (GPIO_OUT_LOW) - -/* Board version */ -GPIO(BOARD_VERSION1, PIN(10), GPIO_INPUT) -GPIO(BOARD_VERSION2, PIN(7), GPIO_INPUT) -GPIO(BOARD_VERSION3, PIN(6), GPIO_INPUT) -GPIO(KBD_KSO2, PIN(101), GPIO_KB_OUTPUT_COL2) -GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) -GPIO(KEYBOARD_BACKLIGHT, PIN(34), GPIO_OUT_LOW) - -/* - * TODO(crosbug.com/p/40848): These LEDs should be under control of the mec1322 - * LED control unit. Remove these GPIO definitions once the LED control unit - * is functional. - */ -GPIO(CHARGE_LED_1, PIN(155), GPIO_OUT_LOW) -GPIO(CHARGE_LED_2, PIN(156), GPIO_OUT_LOW) - -/* This pins are either NC, NC / pulled up, or connected to test points */ -GPIO(NC_031, PIN(31), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_047, PIN(47), GPIO_INPUT | GPIO_PULL_UP) -GPIO(NC_067, PIN(67), GPIO_INPUT | GPIO_PULL_UP) -GPIO(EC_FAN1_TTACH, PIN(105), GPIO_INPUT | GPIO_PULL_UP) -GPIO(EC_FAN1_PWM, PIN(136), GPIO_INPUT | GPIO_PULL_UP) -GPIO(ACCELGYRO3_INT_L, PIN(147), GPIO_INPUT) -GPIO(SHD_CS0_L, PIN(150), GPIO_INPUT) -GPIO(ACCELGYRO4_INT_L, PIN(157), GPIO_INPUT) -GPIO(TABLET_MODE_EC, PIN(160), GPIO_INPUT | GPIO_PULL_UP) -GPIO(ACCEL1_INT_L, PIN(161), GPIO_INPUT) - -/* Alternate functions GPIO definitions */ - -/* GPIO162(UART_RX), GPIO165(UART_TX) */ -ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) - -/* KB pins */ -/* KB ROW - GPIO000-GPIO005 */ -ALTERNATE(PIN_MASK(0, 0x3f), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) -/* KB ROW - GPIO100, GPIO102-GPIO104, GPIO106-GPIO107 */ -ALTERNATE(PIN_MASK(10, 0xdd), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) -/* KB COL - GPIO032 */ -ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO040, GPIO42-GPIO43 */ -ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO125-GPIO126 */ -ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO142, GPIO144 */ -ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* Keyboard Backlight PWM - GPIO34 */ -ALTERNATE(PIN_MASK(3, 0x10), 1, MODULE_PWM, 0) - -/* LPC pins */ -/* LPC_CLK_RUN_L - GPIO014 */ -ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0) -/* LAD[0:3] - GPIO111-GPIO114, SERIRQ - GPIO115, PCI_CLK - GPIO117 */ -ALTERNATE(PIN_MASK(11, 0xbe), 1, MODULE_LPC, 0) -/* LRESET# - GPIO116 */ -ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH) -/* LFRAME# - GPIO120 */ -ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0) - -/* SPI pins */ -/* MOSI - GPIO054 */ -ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) -/* MISO - GPIO164 */ -ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, GPIO_PULL_UP) -/* PVT_SCLK - GPIO153 */ -ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) - -/* I2C pins */ -/* I2C0_0 CLK - GPIO015, I2C0_0 DAT - GPIO016, I2C0_1 DAT - GPIO017 */ -ALTERNATE(PIN_MASK(1, 0xe0), 2, MODULE_I2C, GPIO_ODR_HIGH) -/* I2C{1,3} CLK / DAT - GPIO022-GPIO025*/ -ALTERNATE(PIN_MASK(2, 0x3c), 2, MODULE_I2C, GPIO_ODR_HIGH) -/* I2C0_1 CLK - GPIO134 */ -ALTERNATE(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_ODR_HIGH) - -/* ADC pins */ -/* ADC1 - GPIO057 / PPVAR_BOOSTIN_SENSE */ -ALTERNATE(PIN_MASK(5, 0x80), 1, MODULE_ADC, GPIO_ANALOG) -/* ADC3 - GPIO061 / IADP_ACMON_BMON. ADC4 - GPIO062 / PMON_PSYS */ -ALTERNATE(PIN_MASK(6, 0x06), 1, MODULE_ADC, GPIO_ANALOG) - -/* LED1 - GPIO155. LED2 - GPIO156 */ -/* ALTERNATE(PIN_MASK(15, 0x60), 2, MODULE_POWER_LED, 0) */ - -/* VCC1_RST# - GPIO131 */ -ALTERNATE(PIN_MASK(13, 0x02), 1, MODULE_PMU, GPIO_ODR_HIGH) -/* nRESET_OUT - GPIO121 */ -ALTERNATE(PIN_MASK(12, 0x02), 1, MODULE_PMU, GPIO_ODR_HIGH) diff --git a/board/chell/led.c b/board/chell/led.c deleted file mode 100644 index 51808e9071..0000000000 --- a/board/chell/led.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Copyright 2015 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. - * - * Power and battery LED control. - */ - -#include "battery.h" -#include "charge_state.h" -#include "chipset.h" -#include "ec_commands.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "led_common.h" -#include "util.h" - -#define BAT_LED_ON 1 -#define BAT_LED_OFF 0 - -const enum ec_led_id supported_led_ids[] = { - EC_LED_ID_BATTERY_LED}; - -const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids); - -enum led_color { - LED_OFF = 0, - LED_AMBER, - LED_WHITE, - LED_COLOR_COUNT /* Number of colors, not a color itself */ -}; - -static int bat_led_set_color(enum led_color color) -{ - switch (color) { - case LED_OFF: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_OFF); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_OFF); - break; - case LED_AMBER: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_ON); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_OFF); - break; - case LED_WHITE: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_OFF); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_ON); - break; - default: - return EC_ERROR_UNKNOWN; - } - return EC_SUCCESS; -} - -void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range) -{ - brightness_range[EC_LED_COLOR_YELLOW] = 1; - brightness_range[EC_LED_COLOR_WHITE] = 1; -} - -int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness) -{ - switch (led_id) { - case EC_LED_ID_BATTERY_LED: - if (brightness[EC_LED_COLOR_WHITE] != 0) - bat_led_set_color(LED_WHITE); - else if (brightness[EC_LED_COLOR_YELLOW] != 0) - bat_led_set_color(LED_AMBER); - else - bat_led_set_color(LED_OFF); - break; - default: - break; - } - - return EC_SUCCESS; -} - -static void board_led_set_battery(void) -{ - static int battery_ticks; - uint32_t chflags = charge_get_flags(); - static int power_ticks; - static int previous_state_suspend; - - battery_ticks++; - power_ticks++; - - if (chipset_in_state(CHIPSET_STATE_ANY_SUSPEND)) { - /* - * Reset ticks if entering suspend so LED turns white - * as soon as possible. - */ - if (!previous_state_suspend) - power_ticks = 0; - - if (charge_get_state() == PWR_STATE_CHARGE) - /* Always indicate when charging, even in suspend. */ - bat_led_set_color(LED_AMBER); - else - /* Blink once every one second. */ - bat_led_set_color((power_ticks & 0x4) ? - LED_WHITE : LED_OFF); - - previous_state_suspend = 1; - return; - } - previous_state_suspend = 0; - - switch (charge_get_state()) { - case PWR_STATE_CHARGE: - bat_led_set_color(LED_AMBER); - break; - case PWR_STATE_DISCHARGE: - if (charge_get_percent() < 12) - bat_led_set_color( - (battery_ticks & 0x4) ? LED_WHITE : LED_OFF); - else - bat_led_set_color(LED_OFF); - break; - case PWR_STATE_ERROR: - bat_led_set_color((battery_ticks & 0x2) ? LED_WHITE : LED_OFF); - break; - case PWR_STATE_CHARGE_NEAR_FULL: - bat_led_set_color(LED_WHITE); - break; - case PWR_STATE_IDLE: /* External power connected in IDLE */ - if (chflags & CHARGE_FLAG_FORCE_IDLE) - bat_led_set_color( - (battery_ticks & 0x4) ? LED_AMBER : LED_OFF); - else - bat_led_set_color(LED_WHITE); - break; - default: - /* Other states don't alter LED behavior */ - break; - } -} - -/* Called by hook task every TICK */ -static void led_tick(void) -{ - if (led_auto_control_is_enabled(EC_LED_ID_BATTERY_LED)) - board_led_set_battery(); -} -DECLARE_HOOK(HOOK_TICK, led_tick, HOOK_PRIO_DEFAULT); diff --git a/board/chell/lfw/gpio.inc b/board/chell/lfw/gpio.inc deleted file mode 100644 index ab49347562..0000000000 --- a/board/chell/lfw/gpio.inc +++ /dev/null @@ -1,22 +0,0 @@ -/* -*- mode:c -*- - * - * Copyright 2015 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. - * - * Minimal set of GPIOs needed for LFW loader - */ - -/* Declare symbolic names for all the GPIOs that we care about. - * Note: Those with interrupt handlers must be declared first. */ - -/* SPI PVT chip select */ -GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) - -/* Alternate functions GPIO definition */ -/* UART */ -ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) -/* SPI pins */ -ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) -ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0) -ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) diff --git a/board/chell/usb_pd_policy.c b/board/chell/usb_pd_policy.c deleted file mode 100644 index 2123c45d86..0000000000 --- a/board/chell/usb_pd_policy.c +++ /dev/null @@ -1,380 +0,0 @@ -/* Copyright 2015 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 "atomic.h" -#include "charge_manager.h" -#include "common.h" -#include "console.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "registers.h" -#include "system.h" -#include "task.h" -#include "timer.h" -#include "util.h" -#include "usb_mux.h" -#include "usb_pd.h" - -#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) -#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) - -#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\ - PDO_FIXED_COMM_CAP) - -/* TODO: fill in correct source and sink capabilities */ -const uint32_t pd_src_pdo[] = { - PDO_FIXED(5000, 1500, PDO_FIXED_FLAGS), -}; -const int pd_src_pdo_cnt = ARRAY_SIZE(pd_src_pdo); - -const uint32_t pd_snk_pdo[] = { - PDO_FIXED(5000, 500, PDO_FIXED_FLAGS), - PDO_BATT(4750, 21000, 15000), - PDO_VAR(4750, 21000, 3000), -}; -const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo); - -int pd_is_valid_input_voltage(int mv) -{ - return 1; -} - -void pd_transition_voltage(int idx) -{ - /* No-operation: we are always 5V */ -} - -int pd_set_power_supply_ready(int port) -{ - /* Disable charging */ - gpio_set_level(port ? GPIO_USB_C1_CHARGE_EN_L : - GPIO_USB_C0_CHARGE_EN_L, 1); - /* Provide VBUS */ - gpio_set_level(port ? GPIO_USB_C1_5V_EN : - GPIO_USB_C0_5V_EN, 1); - - /* notify host of power info change */ - pd_send_host_event(PD_EVENT_POWER_CHANGE); - - return EC_SUCCESS; /* we are ready */ -} - -void pd_power_supply_reset(int port) -{ - /* Disable VBUS */ - gpio_set_level(port ? GPIO_USB_C1_5V_EN : - GPIO_USB_C0_5V_EN, 0); - - /* notify host of power info change */ - pd_send_host_event(PD_EVENT_POWER_CHANGE); -} - -int pd_snk_is_vbus_provided(int port) -{ - return !gpio_get_level(port ? GPIO_USB_C1_VBUS_WAKE_L : - GPIO_USB_C0_VBUS_WAKE_L); -} - -int pd_board_checks(void) -{ - return EC_SUCCESS; -} - -int pd_check_power_swap(int port) -{ - /* - * Allow power swap as long as we are acting as a dual role device, - * otherwise assume our role is fixed (not in S0 or console command - * to fix our role). - */ - return pd_get_dual_role(port) == PD_DRP_TOGGLE_ON ? 1 : 0; -} - -int pd_check_data_swap(int port, - enum pd_data_role data_role) -{ - /* Allow data swap if we are a UFP, otherwise don't allow */ - return (data_role == PD_ROLE_UFP) ? 1 : 0; -} - -int pd_check_vconn_swap(int port) -{ - /* in G3, do not allow vconn swap since pp5000_A rail is off */ - return gpio_get_level(GPIO_PMIC_SLP_SUS_L); -} - -void pd_execute_data_swap(int port, - enum pd_data_role data_role) -{ - /* Do nothing */ -} - -void pd_check_pr_role(int port, - enum pd_power_role pr_role, - int flags) -{ - /* - * If partner is dual-role power and dualrole toggling is on, consider - * if a power swap is necessary. - */ - if ((flags & PD_FLAGS_PARTNER_DR_POWER) && - pd_get_dual_role(port) == PD_DRP_TOGGLE_ON) { - /* - * If we are a sink and partner is not unconstrained, then - * swap to become a source. If we are source and partner is - * unconstrained, swap to become a sink. - */ - int partner_unconstrained = flags & PD_FLAGS_PARTNER_UNCONSTR; - - if ((!partner_unconstrained && pr_role == PD_ROLE_SINK) || - (partner_unconstrained && pr_role == PD_ROLE_SOURCE)) - pd_request_power_swap(port); - } -} - -void pd_check_dr_role(int port, - enum pd_data_role dr_role, - int flags) -{ - /* If UFP, try to switch to DFP */ - if ((flags & PD_FLAGS_PARTNER_DR_DATA) && dr_role == PD_ROLE_UFP) - pd_request_data_swap(port); -} -/* ----------------- Vendor Defined Messages ------------------ */ -const struct svdm_response svdm_rsp = { - .identity = NULL, - .svids = NULL, - .modes = NULL, -}; - -int pd_custom_vdm(int port, int cnt, uint32_t *payload, - uint32_t **rpayload) -{ - int cmd = PD_VDO_CMD(payload[0]); - uint16_t dev_id = 0; - int is_rw; - - /* make sure we have some payload */ - if (cnt == 0) - return 0; - - switch (cmd) { - case VDO_CMD_VERSION: - /* guarantee last byte of payload is null character */ - *(payload + cnt - 1) = 0; - CPRINTF("version: %s\n", (char *)(payload+1)); - break; - case VDO_CMD_READ_INFO: - case VDO_CMD_SEND_INFO: - /* copy hash */ - if (cnt == 7) { - dev_id = VDO_INFO_HW_DEV_ID(payload[6]); - is_rw = VDO_INFO_IS_RW(payload[6]); - - CPRINTF("DevId:%d.%d SW:%d RW:%d\n", - HW_DEV_ID_MAJ(dev_id), - HW_DEV_ID_MIN(dev_id), - VDO_INFO_SW_DBG_VER(payload[6]), - is_rw); - } else if (cnt == 6) { - /* really old devices don't have last byte */ - pd_dev_store_rw_hash(port, dev_id, payload + 1, - EC_IMAGE_UNKNOWN); - } - break; - case VDO_CMD_CURRENT: - CPRINTF("Current: %dmA\n", payload[1]); - break; - case VDO_CMD_FLIP: - usb_mux_flip(port); - break; -#ifdef CONFIG_USB_PD_LOGGING - case VDO_CMD_GET_LOG: - pd_log_recv_vdm(port, cnt, payload); - break; -#endif /* CONFIG_USB_PD_LOGGING */ - } - - return 0; -} - -#ifdef CONFIG_USB_PD_ALT_MODE_DFP -static int dp_flags[CONFIG_USB_PD_PORT_MAX_COUNT]; -/* DP Status VDM as returned by UFP */ -static uint32_t dp_status[CONFIG_USB_PD_PORT_MAX_COUNT]; - -static void svdm_safe_dp_mode(int port) -{ - /* make DP interface safe until configure */ - dp_flags[port] = 0; - dp_status[port] = 0; - usb_mux_set(port, USB_PD_MUX_NONE, - USB_SWITCH_CONNECT, pd_get_polarity(port)); -} - -static int svdm_enter_dp_mode(int port, uint32_t mode_caps) -{ - /* Only enter mode if device is DFP_D capable */ - if (mode_caps & MODE_DP_SNK) { - svdm_safe_dp_mode(port); - return 0; - } - - return -1; -} - -static int svdm_dp_status(int port, uint32_t *payload) -{ - int opos = pd_alt_mode(port, TCPC_TX_SOP, USB_SID_DISPLAYPORT); - - payload[0] = VDO(USB_SID_DISPLAYPORT, 1, - CMD_DP_STATUS | VDO_OPOS(opos)); - payload[1] = VDO_DP_STATUS(0, /* HPD IRQ ... not applicable */ - 0, /* HPD level ... not applicable */ - 0, /* exit DP? ... no */ - 0, /* usb mode? ... no */ - 0, /* multi-function ... no */ - (!!(dp_flags[port] & DP_FLAGS_DP_ON)), - 0, /* power low? ... no */ - (!!(dp_flags[port] & DP_FLAGS_DP_ON))); - return 2; -}; - -static int svdm_dp_config(int port, uint32_t *payload) -{ - int opos = pd_alt_mode(port, TCPC_TX_SOP, USB_SID_DISPLAYPORT); - int mf_pref = PD_VDO_DPSTS_MF_PREF(dp_status[port]); - int pin_mode = pd_dfp_dp_get_pin_mode(port, dp_status[port]); - - if (!pin_mode) - return 0; - - usb_mux_set(port, mf_pref ? USB_PD_MUX_DOCK : USB_PD_MUX_DP_ENABLED, - USB_SWITCH_CONNECT, pd_get_polarity(port)); - - payload[0] = VDO(USB_SID_DISPLAYPORT, 1, - CMD_DP_CONFIG | VDO_OPOS(opos)); - payload[1] = VDO_DP_CFG(pin_mode, /* pin mode */ - 1, /* DPv1.3 signaling */ - 2); /* UFP connected */ - return 2; -}; - -#define PORT_TO_HPD(port) ((port) ? GPIO_USB_C1_DP_HPD : GPIO_USB_C0_DP_HPD) -__override void svdm_dp_post_config(int port) -{ - dp_flags[port] |= DP_FLAGS_DP_ON; - if (!(dp_flags[port] & DP_FLAGS_HPD_HI_PENDING)) - return; - - gpio_set_level(PORT_TO_HPD(port), 1); - - /* set the minimum time delay (2ms) for the next HPD IRQ */ - svdm_hpd_deadline[port] = get_time().val + HPD_USTREAM_DEBOUNCE_LVL; -} - -__override int svdm_dp_attention(int port, uint32_t *payload) -{ - int cur_lvl; - int lvl = PD_VDO_DPSTS_HPD_LVL(payload[1]); - int irq = PD_VDO_DPSTS_HPD_IRQ(payload[1]); - enum gpio_signal hpd = PORT_TO_HPD(port); - - cur_lvl = gpio_get_level(hpd); - dp_status[port] = payload[1]; - - /* Its initial DP status message prior to config */ - if (!(dp_flags[port] & DP_FLAGS_DP_ON)) { - if (lvl) - dp_flags[port] |= DP_FLAGS_HPD_HI_PENDING; - return 1; - } - - if (irq & cur_lvl) { - uint64_t now = get_time().val; - /* wait for the minimum spacing between IRQ_HPD if needed */ - if (now < svdm_hpd_deadline[port]) - usleep(svdm_hpd_deadline[port] - now); - - /* generate IRQ_HPD pulse */ - gpio_set_level(hpd, 0); - usleep(HPD_DSTREAM_DEBOUNCE_IRQ); - gpio_set_level(hpd, 1); - - /* set the minimum time delay (2ms) for the next HPD IRQ */ - svdm_hpd_deadline[port] = get_time().val + - HPD_USTREAM_DEBOUNCE_LVL; - } else if (irq & !cur_lvl) { - CPRINTF("ERR:HPD:IRQ&LOW\n"); - return 0; /* nak */ - } else { - gpio_set_level(hpd, lvl); - /* set the minimum time delay (2ms) for the next HPD IRQ */ - svdm_hpd_deadline[port] = get_time().val + - HPD_USTREAM_DEBOUNCE_LVL; - } - /* ack */ - return 1; -} - -static void svdm_exit_dp_mode(int port) -{ - svdm_safe_dp_mode(port); - gpio_set_level(PORT_TO_HPD(port), 0); -} - -static int svdm_enter_gfu_mode(int port, uint32_t mode_caps) -{ - /* Always enter GFU mode */ - return 0; -} - -static void svdm_exit_gfu_mode(int port) -{ -} - -static int svdm_gfu_status(int port, uint32_t *payload) -{ - /* - * This is called after enter mode is successful, send unstructured - * VDM to read info. - */ - pd_send_vdm(port, USB_VID_GOOGLE, VDO_CMD_READ_INFO, NULL, 0); - return 0; -} - -static int svdm_gfu_config(int port, uint32_t *payload) -{ - return 0; -} - -static int svdm_gfu_attention(int port, uint32_t *payload) -{ - return 0; -} - -const struct svdm_amode_fx supported_modes[] = { - { - .svid = USB_SID_DISPLAYPORT, - .enter = &svdm_enter_dp_mode, - .status = &svdm_dp_status, - .config = &svdm_dp_config, - .post_config = &svdm_dp_post_config, - .attention = &svdm_dp_attention, - .exit = &svdm_exit_dp_mode, - }, - { - .svid = USB_VID_GOOGLE, - .enter = &svdm_enter_gfu_mode, - .status = &svdm_gfu_status, - .config = &svdm_gfu_config, - .attention = &svdm_gfu_attention, - .exit = &svdm_exit_gfu_mode, - } -}; -const int supported_modes_cnt = ARRAY_SIZE(supported_modes); -#endif /* CONFIG_USB_PD_ALT_MODE_DFP */ - diff --git a/board/chell_pd b/board/chell_pd deleted file mode 120000 index eb83ce01b0..0000000000 --- a/board/chell_pd +++ /dev/null @@ -1 +0,0 @@ -glados_pd/ \ No newline at end of file diff --git a/board/glados/battery.c b/board/glados/battery.c deleted file mode 100644 index fcc09994bf..0000000000 --- a/board/glados/battery.c +++ /dev/null @@ -1,230 +0,0 @@ -/* Copyright 2015 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. - * - * Battery pack vendor provided charging profile - */ - -#include "battery.h" -#include "battery_smart.h" -#include "charge_state.h" -#include "console.h" -#include "ec_commands.h" -#include "i2c.h" -#include "util.h" - -/* Shutdown mode parameter to write to manufacturer access register */ -#define PARAM_CUT_OFF_LOW 0x10 -#define PARAM_CUT_OFF_HIGH 0x00 - -/* Battery info for BQ40Z55 */ -static const struct battery_info info = { - .voltage_max = 8700, /* mV */ - .voltage_normal = 7600, - .voltage_min = 6000, - .precharge_current = 256, /* mA */ - .start_charging_min_c = 0, - .start_charging_max_c = 46, - .charging_min_c = 0, - .charging_max_c = 60, - .discharging_min_c = 0, - .discharging_max_c = 60, -}; - -const struct battery_info *battery_get_info(void) -{ - return &info; -} - -int board_cut_off_battery(void) -{ - int rv; - uint8_t buf[3]; - - /* Ship mode command must be sent twice to take effect */ - buf[0] = SB_MANUFACTURER_ACCESS & 0xff; - buf[1] = PARAM_CUT_OFF_LOW; - buf[2] = PARAM_CUT_OFF_HIGH; - - i2c_lock(I2C_PORT_BATTERY, 1); - rv = i2c_xfer_unlocked(I2C_PORT_BATTERY, BATTERY_ADDR_FLAGS, - buf, 3, NULL, 0, I2C_XFER_SINGLE); - rv |= i2c_xfer_unlocked(I2C_PORT_BATTERY, BATTERY_ADDR_FLAGS, - buf, 3, NULL, 0, I2C_XFER_SINGLE); - i2c_lock(I2C_PORT_BATTERY, 0); - - return rv; -} - -#ifdef CONFIG_CHARGER_PROFILE_OVERRIDE - -static int fast_charging_allowed = 1; - -/* - * This can override the smart battery's charging profile. To make a change, - * modify one or more of requested_voltage, requested_current, or state. - * Leave everything else unchanged. - * - * Return the next poll period in usec, or zero to use the default (which is - * state dependent). - */ -int charger_profile_override(struct charge_state_data *curr) -{ - /* temp in 0.1 deg C */ - int temp_c = curr->batt.temperature - 2731; - /* keep track of last temperature range for hysteresis */ - static enum { - TEMP_RANGE_1, - TEMP_RANGE_2, - TEMP_RANGE_3, - TEMP_RANGE_4, - TEMP_RANGE_5, - } temp_range = TEMP_RANGE_3; - /* keep track of last voltage range for hysteresis */ - static enum { - VOLTAGE_RANGE_LOW, - VOLTAGE_RANGE_HIGH, - } voltage_range = VOLTAGE_RANGE_LOW; - - /* Current and previous battery voltage */ - int batt_voltage; - static int prev_batt_voltage; - - /* - * Determine temperature range. The five ranges are: - * < 10C - * 10-15C - * 15-23C - * 23-45C - * > 45C - * - * Add 0.2 degrees of hysteresis. - * If temp reading was bad, use last range. - */ - if (!(curr->batt.flags & BATT_FLAG_BAD_TEMPERATURE)) { - if (temp_c < 99) - temp_range = TEMP_RANGE_1; - else if (temp_c > 101 && temp_c < 149) - temp_range = TEMP_RANGE_2; - else if (temp_c > 151 && temp_c < 229) - temp_range = TEMP_RANGE_3; - else if (temp_c > 231 && temp_c < 449) - temp_range = TEMP_RANGE_4; - else if (temp_c > 451) - temp_range = TEMP_RANGE_5; - } - - /* - * If battery voltage reading is bad, use the last reading. Otherwise, - * determine voltage range with hysteresis. - */ - if (curr->batt.flags & BATT_FLAG_BAD_VOLTAGE) { - batt_voltage = prev_batt_voltage; - } else { - batt_voltage = prev_batt_voltage = curr->batt.voltage; - if (batt_voltage < 8200) - voltage_range = VOLTAGE_RANGE_LOW; - else if (batt_voltage > 8300) - voltage_range = VOLTAGE_RANGE_HIGH; - } - - /* - * If we are not charging or we aren't using fast charging profiles, - * then do not override desired current and voltage. - */ - if (curr->state != ST_CHARGE || !fast_charging_allowed) - return 0; - - /* - * Okay, impose our custom will: - * When battery is 0-10C: - * CC at 486mA @ 8.7V - * CV at 8.7V - * - * When battery is <15C: - * CC at 1458mA @ 8.7V - * CV at 8.7V - * - * When battery is <23C: - * CC at 3402mA until 8.3V @ 8.7V - * CC at 2430mA @ 8.7V - * CV at 8.7V - * - * When battery is <45C: - * CC at 4860mA until 8.3V @ 8.7V - * CC at 2430mA @ 8.7V - * CV at 8.7V until current drops to 450mA - * - * When battery is >45C: - * CC at 2430mA @ 8.3V - * CV at 8.3V (when battery is hot we don't go to fully charged) - */ - switch (temp_range) { - case TEMP_RANGE_1: - curr->requested_current = 486; - curr->requested_voltage = 8700; - break; - case TEMP_RANGE_2: - curr->requested_current = 1458; - curr->requested_voltage = 8700; - break; - case TEMP_RANGE_3: - curr->requested_voltage = 8700; - if (voltage_range == VOLTAGE_RANGE_HIGH) - curr->requested_current = 2430; - else - curr->requested_current = 3402; - break; - case TEMP_RANGE_4: - curr->requested_voltage = 8700; - if (voltage_range == VOLTAGE_RANGE_HIGH) - curr->requested_current = 2430; - else - curr->requested_current = 4860; - break; - case TEMP_RANGE_5: - curr->requested_current = 2430; - curr->requested_voltage = 8300; - break; - } - - return 0; -} - -/* Customs options controllable by host command. */ -#define PARAM_FASTCHARGE (CS_PARAM_CUSTOM_PROFILE_MIN + 0) - -enum ec_status charger_profile_override_get_param(uint32_t param, - uint32_t *value) -{ - if (param == PARAM_FASTCHARGE) { - *value = fast_charging_allowed; - return EC_RES_SUCCESS; - } - return EC_RES_INVALID_PARAM; -} - -enum ec_status charger_profile_override_set_param(uint32_t param, - uint32_t value) -{ - if (param == PARAM_FASTCHARGE) { - fast_charging_allowed = value; - return EC_RES_SUCCESS; - } - return EC_RES_INVALID_PARAM; -} - -static int command_fastcharge(int argc, char **argv) -{ - if (argc > 1 && !parse_bool(argv[1], &fast_charging_allowed)) - return EC_ERROR_PARAM1; - - ccprintf("fastcharge %s\n", fast_charging_allowed ? "on" : "off"); - - return EC_SUCCESS; -} -DECLARE_CONSOLE_COMMAND(fastcharge, command_fastcharge, - "[on|off]", - "Get or set fast charging profile"); - -#endif /* CONFIG_CHARGER_PROFILE_OVERRIDE */ diff --git a/board/glados/board.c b/board/glados/board.c deleted file mode 100644 index a72b43d765..0000000000 --- a/board/glados/board.c +++ /dev/null @@ -1,521 +0,0 @@ -/* Copyright 2015 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. - */ - -/* Glados board-specific configuration */ - -#include "adc_chip.h" -#include "als.h" -#include "bd99992gw.h" -#include "button.h" -#include "charge_manager.h" -#include "charge_state.h" -#include "charger.h" -#include "chipset.h" -#include "console.h" -#include "driver/als_opt3001.h" -#include "driver/accel_kionix.h" -#include "driver/accel_kx022.h" -#include "driver/accelgyro_bmi_common.h" -#include "driver/tcpm/tcpci.h" -#include "extpower.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "i2c.h" -#include "keyboard_scan.h" -#include "lid_switch.h" -#include "math_util.h" -#include "motion_sense.h" -#include "motion_lid.h" -#include "pi3usb9281.h" -#include "power.h" -#include "power_button.h" -#include "spi.h" -#include "switch.h" -#include "system.h" -#include "task.h" -#include "temp_sensor.h" -#include "timer.h" -#include "uart.h" -#include "usb_charge.h" -#include "usb_mux.h" -#include "usb_pd.h" -#include "usb_pd_tcpm.h" -#include "util.h" - -#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) -#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args) - -#define I2C_ADDR_BD99992_FLAGS 0x30 - -/* Exchange status with PD MCU. */ -static void pd_mcu_interrupt(enum gpio_signal signal) -{ -#ifdef HAS_TASK_PDCMD - /* Exchange status with PD MCU to determine interrupt cause */ - host_command_pd_send_status(0); -#endif -} - -void vbus0_evt(enum gpio_signal signal) -{ - /* VBUS present GPIO is inverted */ - usb_charger_vbus_change(0, !gpio_get_level(signal)); - task_wake(TASK_ID_PD_C0); -} - -void vbus1_evt(enum gpio_signal signal) -{ - /* VBUS present GPIO is inverted */ - usb_charger_vbus_change(1, !gpio_get_level(signal)); - task_wake(TASK_ID_PD_C1); -} - -void usb0_evt(enum gpio_signal signal) -{ - task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12, 0); -} - -void usb1_evt(enum gpio_signal signal) -{ - task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12, 0); -} - -/* - * enable_input_devices() is called by the tablet_mode ISR, but changes the - * state of GPIOs, so its definition must reside after including gpio_list. - */ -static void enable_input_devices(void); -DECLARE_DEFERRED(enable_input_devices); - -void tablet_mode_interrupt(enum gpio_signal signal) -{ - hook_call_deferred(&enable_input_devices_data, 0); -} - -#include "gpio_list.h" - -/* ADC channels */ -const struct adc_t adc_channels[] = { - /* Vbus sensing. Converted to mV, full ADC is equivalent to 30V. */ - [ADC_VBUS] = {"VBUS", 30000, 1024, 0, 1}, - /* Adapter current output or battery discharging current */ - [ADC_AMON_BMON] = {"AMON_BMON", 25000, 3072, 0, 3}, - /* System current consumption */ - [ADC_PSYS] = {"PSYS", 1, 1, 0, 4}, - -}; -BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); - -const struct i2c_port_t i2c_ports[] = { - {"pmic", MEC1322_I2C0_0, 400, GPIO_I2C0_0_SCL, GPIO_I2C0_0_SDA}, - {"muxes", MEC1322_I2C0_1, 400, GPIO_I2C0_1_SCL, GPIO_I2C0_1_SDA}, - {"pd_mcu", MEC1322_I2C1, 500, GPIO_I2C1_SCL, GPIO_I2C1_SDA}, - {"sensors", MEC1322_I2C2, 400, GPIO_I2C2_SCL, GPIO_I2C2_SDA }, - {"batt", MEC1322_I2C3, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA }, -}; -const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); - -const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC, - .addr_flags = CONFIG_TCPC_I2C_BASE_ADDR_FLAGS, - }, - .drv = &tcpci_tcpm_drv, - }, - { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC, - .addr_flags = CONFIG_TCPC_I2C_BASE_ADDR_FLAGS + 1, - }, - .drv = &tcpci_tcpm_drv, - }, -}; - -/* SPI devices */ -const struct spi_device_t spi_devices[] = { - { CONFIG_SPI_FLASH_PORT, 0, GPIO_PVT_CS0}, -}; -const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices); - -const enum gpio_signal hibernate_wake_pins[] = { - GPIO_AC_PRESENT, - GPIO_LID_OPEN, - GPIO_POWER_BUTTON_L, -}; - -const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins); - -struct pi3usb9281_config pi3usb9281_chips[] = { - { - .i2c_port = I2C_PORT_USB_CHARGER_1, - .mux_lock = NULL, - }, - { - .i2c_port = I2C_PORT_USB_CHARGER_2, - .mux_lock = NULL, - }, -}; -BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) == - CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT); - -struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = { - { - .usb_port = 0, - .i2c_port = I2C_PORT_USB_MUX, - .i2c_addr_flags = PI3USB3X532_I2C_ADDR0, - .driver = &pi3usb3x532_usb_mux_driver, - }, - { - .usb_port = 1, - .i2c_port = I2C_PORT_USB_MUX, - .i2c_addr_flags = 0x10, - .driver = &ps8740_usb_mux_driver, - } -}; - -/** - * Reset PD MCU - */ -void board_reset_pd_mcu(void) -{ - gpio_set_level(GPIO_PD_RST_L, 0); - usleep(100); - gpio_set_level(GPIO_PD_RST_L, 1); -} - -const struct temp_sensor_t temp_sensors[] = { - {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_get_battery_temp, 0, 4}, - - /* These BD99992GW temp sensors are only readable in S0 */ - {"Ambient", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM0, 4}, - {"Charger", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM1, 4}, - {"DRAM", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM2, 4}, - {"Wifi", TEMP_SENSOR_TYPE_BOARD, bd99992gw_get_val, - BD99992GW_ADC_CHANNEL_SYSTHERM3, 4}, -}; -BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT); - -/* ALS instances. Must be in same order as enum als_id. */ -struct als_t als[] = { - {"TI", opt3001_init, opt3001_read_lux, 5}, -}; -BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT); - -static void board_pmic_init(void) -{ - /* No need to re-init PMIC since settings are sticky across sysjump */ - if (system_jumped_late()) - return; - - /* Set CSDECAYEN / VCCIO decays to 0V at assertion of SLP_S0# */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x30, 0x4a); - - /* - * Set V100ACNT / V1.00A Control Register: - * Nominal output = 1.0V. - */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x37, 0x1a); - - /* - * Set V085ACNT / V0.85A Control Register: - * Lower power mode = 0.7V. - * Nominal output = 1.0V. - */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x38, 0x7a); - - /* VRMODECTRL - enable low-power mode for VCCIO and V0.85A */ - i2c_write8(I2C_PORT_PMIC, I2C_ADDR_BD99992_FLAGS, 0x3b, 0x18); -} -DECLARE_HOOK(HOOK_INIT, board_pmic_init, HOOK_PRIO_DEFAULT); - -/* Initialize board. */ -static void board_init(void) -{ - /* Enable PD MCU interrupt */ - gpio_enable_interrupt(GPIO_PD_MCU_INT); - /* Enable VBUS interrupt */ - gpio_enable_interrupt(GPIO_USB_C0_VBUS_WAKE_L); - gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE_L); - - /* Enable pericom BC1.2 interrupts */ - gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L); - gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L); - - /* Enable tablet mode interrupt for input device enable */ - gpio_enable_interrupt(GPIO_TABLET_MODE_L); - - /* Provide AC status to the PCH */ - gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); -} -DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); - -/** - * Buffer the AC present GPIO to the PCH. - */ -static void board_extpower(void) -{ - gpio_set_level(GPIO_PCH_ACOK, extpower_is_present()); -} -DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT); - -/** - * Set active charge port -- only one port can be active at a time. - * - * @param charge_port Charge port to enable. - * - * Returns EC_SUCCESS if charge port is accepted and made active, - * EC_ERROR_* otherwise. - */ -int board_set_active_charge_port(int charge_port) -{ - /* charge port is a realy physical port */ - int is_real_port = (charge_port >= 0 && - charge_port < CONFIG_USB_PD_PORT_MAX_COUNT); - /* check if we are source vbus on that port */ - int source = gpio_get_level(charge_port == 0 ? GPIO_USB_C0_5V_EN : - GPIO_USB_C1_5V_EN); - - if (is_real_port && source) { - CPRINTS("Skip enable p%d", charge_port); - return EC_ERROR_INVAL; - } - - CPRINTS("New chg p%d", charge_port); - - if (charge_port == CHARGE_PORT_NONE) { - /* Disable both ports */ - gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1); - gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1); - } else { - /* Make sure non-charging port is disabled */ - gpio_set_level(charge_port ? GPIO_USB_C0_CHARGE_EN_L : - GPIO_USB_C1_CHARGE_EN_L, 1); - /* Enable charging port */ - gpio_set_level(charge_port ? GPIO_USB_C1_CHARGE_EN_L : - GPIO_USB_C0_CHARGE_EN_L, 0); - } - - return EC_SUCCESS; -} - -/** - * Set the charge limit based upon desired maximum. - * - * @param port Port number. - * @param supplier Charge supplier type. - * @param charge_ma Desired charge limit (mA). - * @param charge_mv Negotiated charge voltage (mV). - */ -void board_set_charge_limit(int port, int supplier, int charge_ma, - int max_ma, int charge_mv) -{ - charge_set_input_current_limit(MAX(charge_ma, - CONFIG_CHARGER_INPUT_CURRENT), charge_mv); -} - -/* Enable or disable input devices, based upon chipset state and tablet mode */ -static void enable_input_devices(void) -{ - int kb_enable = 1; - int tp_enable = 1; - - /* Disable both TP and KB in tablet mode */ - if (!gpio_get_level(GPIO_TABLET_MODE_L)) - kb_enable = tp_enable = 0; - /* Disable TP if chipset is off */ - else if (chipset_in_state(CHIPSET_STATE_ANY_OFF)) - tp_enable = 0; - - keyboard_scan_enable(kb_enable, KB_SCAN_DISABLE_LID_ANGLE); - gpio_set_level(GPIO_ENABLE_TOUCHPAD, tp_enable); -} - -/* Called on AP S5 -> S3 transition */ -static void board_chipset_startup(void) -{ - gpio_set_level(GPIO_USB1_ENABLE, 1); - gpio_set_level(GPIO_USB2_ENABLE, 1); - hook_call_deferred(&enable_input_devices_data, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT); - -/* Called on AP S3 -> S5 transition */ -static void board_chipset_shutdown(void) -{ - gpio_set_level(GPIO_USB1_ENABLE, 0); - gpio_set_level(GPIO_USB2_ENABLE, 0); - hook_call_deferred(&enable_input_devices_data, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); - -/* Called on AP S3 -> S0 transition */ -static void board_chipset_resume(void) -{ - gpio_set_level(GPIO_ENABLE_BACKLIGHT, 1); - gpio_set_level(GPIO_PP1800_DX_AUDIO_EN, 1); - gpio_set_level(GPIO_PP1800_DX_SENSOR_EN, 1); - - /* - * Now that we have enabled the rail to the sensors, let's give enough - * time for the sensors to boot up. Without this delay, the very first - * i2c transactions always fail because the sensors aren't ready yet. - * In testing, a 2ms delay seemed to be reliable, but we'll delay for - * 3ms just to be safe. - * - * Additionally, this hook needs to be run before the motion sense hook - * tries to initialize the sensors. - */ - msleep(3); -} -DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, - MOTION_SENSE_HOOK_PRIO-1); - -/* Called on AP S0 -> S3 transition */ -static void board_chipset_suspend(void) -{ - gpio_set_level(GPIO_ENABLE_BACKLIGHT, 0); - gpio_set_level(GPIO_PP1800_DX_AUDIO_EN, 0); - gpio_set_level(GPIO_PP1800_DX_SENSOR_EN, 0); -} -DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); - -void board_hibernate_late(void) -{ - /* Turn off LEDs in hibernate */ - gpio_set_level(GPIO_CHARGE_LED_1, 0); - gpio_set_level(GPIO_CHARGE_LED_2, 0); - - /* - * Set PD wake low so that it toggles high to generate a wake - * event once we leave hibernate. - */ - gpio_set_level(GPIO_USB_PD_WAKE, 0); -} - -/* Any glados boards post version 2 should have ROP_LDO_EN stuffed. */ -#define BOARD_MIN_ID_LOD_EN 2 -/* Make the pmic re-sequence the power rails under these conditions. */ -#define PMIC_RESET_FLAGS \ - (EC_RESET_FLAG_WATCHDOG | EC_RESET_FLAG_SOFT | EC_RESET_FLAG_HARD) -static void board_handle_reboot(void) -{ - int flags; - - if (system_jumped_late()) - return; - - if (system_get_board_version() < BOARD_MIN_ID_LOD_EN) - return; - - /* Interrogate current reset flags from previous reboot. */ - flags = system_get_reset_flags(); - - if (!(flags & PMIC_RESET_FLAGS)) - return; - - /* Preserve AP off request. */ - if (flags & EC_RESET_FLAG_AP_OFF) - chip_save_reset_flags(EC_RESET_FLAG_AP_OFF); - - ccprintf("Restarting system with PMIC.\n"); - /* Flush console */ - cflush(); - - /* Bring down all rails but RTC rail (including EC power). */ - gpio_set_flags(GPIO_BATLOW_L_PMIC_LDO_EN, GPIO_OUT_HIGH); - while (1) - ; /* wait here */ -} -DECLARE_HOOK(HOOK_INIT, board_handle_reboot, HOOK_PRIO_FIRST); - -#ifdef HAS_TASK_MOTIONSENSE -/* Motion sensors */ -/* Mutexes */ -static struct mutex g_lid_mutex; -static struct mutex g_base_mutex; - -static struct kionix_accel_data g_kx022_data; -static struct bmi_drv_data_t g_bmi160_data; - -struct motion_sensor_t motion_sensors[] = { - /* - * Note: bmi160: supports accelerometer and gyro sensor - * Requirement: accelerometer sensor must init before gyro sensor - * DO NOT change the order of the following table. - */ - [BASE_ACCEL] = { - .name = "Base Accel", - .active_mask = SENSOR_ACTIVE_S0, - .chip = MOTIONSENSE_CHIP_BMI160, - .type = MOTIONSENSE_TYPE_ACCEL, - .location = MOTIONSENSE_LOC_BASE, - .drv = &bmi160_drv, - .mutex = &g_base_mutex, - .drv_data = &g_bmi160_data, - .port = I2C_PORT_ACCEL, - .addr = BMI160_ADDR0, - .rot_standard_ref = NULL, /* Identity matrix. */ - .default_range = 4, /* g, to meet CDD 7.3.1/C-1-4 reqs */ - .min_frequency = BMI_ACCEL_MIN_FREQ, - .max_frequency = BMI_ACCEL_MAX_FREQ, - .config = { - /* EC use accel for angle detection */ - [SENSOR_CONFIG_EC_S0] = { - .odr = 10000 | ROUND_UP_FLAG, - .ec_rate = 100 * MSEC, - }, - }, - }, - - [BASE_GYRO] = { - .name = "Base Gyro", - .active_mask = SENSOR_ACTIVE_S0, - .chip = MOTIONSENSE_CHIP_BMI160, - .type = MOTIONSENSE_TYPE_GYRO, - .location = MOTIONSENSE_LOC_BASE, - .drv = &bmi160_drv, - .mutex = &g_base_mutex, - .drv_data = &g_bmi160_data, - .port = I2C_PORT_ACCEL, - .addr = BMI160_ADDR0, - .default_range = 1000, /* dps */ - .rot_standard_ref = NULL, /* Identity Matrix. */ - .min_frequency = BMI_GYRO_MIN_FREQ, - .max_frequency = BMI_GYRO_MAX_FREQ, - }, - - [LID_ACCEL] = { - .name = "Lid Accel", - .active_mask = SENSOR_ACTIVE_S0, - .chip = MOTIONSENSE_CHIP_KX022, - .type = MOTIONSENSE_TYPE_ACCEL, - .location = MOTIONSENSE_LOC_LID, - .drv = &kionix_accel_drv, - .mutex = &g_lid_mutex, - .drv_data = &g_kx022_data, - .port = I2C_PORT_ACCEL, - .addr = KX022_ADDR1, - .rot_standard_ref = NULL, /* Identity matrix. */ - .default_range = 2, /* g, enough for laptop. */ - .min_frequency = KX022_ACCEL_MIN_FREQ, - .max_frequency = KX022_ACCEL_MAX_FREQ, - .config = { - /* EC use accel for angle detection */ - [SENSOR_CONFIG_EC_S0] = { - .odr = 10000 | ROUND_UP_FLAG, - .ec_rate = 100 * MSEC, - }, - }, - }, -}; -const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors); -#endif /* defined(HAS_TASK_MOTIONSENSE) */ diff --git a/board/glados/board.h b/board/glados/board.h deleted file mode 100644 index 9a5f407710..0000000000 --- a/board/glados/board.h +++ /dev/null @@ -1,220 +0,0 @@ -/* Copyright 2015 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. - */ - -/* Glados board configuration */ - -#ifndef __CROS_EC_BOARD_H -#define __CROS_EC_BOARD_H - -/* - * Allow dangerous commands. - * TODO(shawnn): Remove this config before production. - */ -#define CONFIG_SYSTEM_UNLOCKED - -/* Optional features */ -#define CONFIG_ACCELGYRO_BMI160 -#define CONFIG_ACCEL_KX022 -#define CONFIG_ADC -#define CONFIG_ALS_OPT3001 -#define CONFIG_BATTERY_CUT_OFF -#define CONFIG_BATTERY_PRESENT_GPIO GPIO_BAT_PRESENT_L -#define CONFIG_BATTERY_SMART -#define CONFIG_BOARD_VERSION_GPIO -#define CONFIG_CHARGE_MANAGER -#define CONFIG_CHARGE_RAMP_HW - -#define CONFIG_CHARGER - -#define CONFIG_CHARGER_DISCHARGE_ON_AC -#define CONFIG_CHARGER_ISL9237 -#define CONFIG_CHARGER_ILIM_PIN_DISABLED -#define CONFIG_CHARGER_INPUT_CURRENT 512 -#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1 -#define CONFIG_CHARGER_PROFILE_OVERRIDE -#define CONFIG_CHARGER_SENSE_RESISTOR 10 -#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20 -#define CONFIG_CMD_CHARGER_ADC_AMON_BMON - -#define CONFIG_CHIPSET_SKYLAKE -#define CONFIG_CHIPSET_RESET_HOOK -#define CONFIG_CLOCK_CRYSTAL -#define CONFIG_EXTPOWER_GPIO -#define CONFIG_HOSTCMD_PD -#define CONFIG_HOSTCMD_PD_PANIC -#define CONFIG_I2C -#define CONFIG_I2C_MASTER -#define CONFIG_KEYBOARD_PROTOCOL_8042 -#define CONFIG_LED_COMMON -#define CONFIG_LID_ANGLE -#define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL -#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL -#define CONFIG_LID_SWITCH -#define CONFIG_LOW_POWER_IDLE -#define CONFIG_LTO -#define CONFIG_POWER_BUTTON -#define CONFIG_POWER_BUTTON_X86 -#define CONFIG_POWER_COMMON -#define CONFIG_POWER_SIGNAL_INTERRUPT_STORM_DETECT_THRESHOLD 30 -/* All data won't fit in data RAM. So, moving boundary slightly. */ -#undef CONFIG_RO_SIZE -#define CONFIG_RO_SIZE (108 * 1024) -#define CONFIG_SCI_GPIO GPIO_PCH_SCI_L -/* We're space constrained on GLaDOS, so reduce the UART TX buffer size. */ -#undef CONFIG_UART_TX_BUF_SIZE -#define CONFIG_UART_TX_BUF_SIZE 512 -#define CONFIG_USB_CHARGER -#define CONFIG_USB_MUX_PI3USB30532 -#define CONFIG_USB_MUX_PS8740 -#define CONFIG_USB_POWER_DELIVERY -#define CONFIG_USB_PD_TCPMV1 -#define CONFIG_USB_PD_ALT_MODE -#define CONFIG_USB_PD_ALT_MODE_DFP -#define CONFIG_USB_PD_DP_HPD_GPIO -#define CONFIG_USB_PD_DUAL_ROLE -#define CONFIG_USB_PD_LOGGING -#define CONFIG_USB_PD_PORT_MAX_COUNT 2 -#define CONFIG_USB_PD_TCPM_TCPCI -#define CONFIG_USB_PD_TRY_SRC -#define CONFIG_USB_PD_VBUS_DETECT_GPIO -#define CONFIG_BC12_DETECT_PI3USB9281 -#define CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT 2 -#define CONFIG_USBC_SS_MUX -#define CONFIG_USBC_SS_MUX_DFP_ONLY -#define CONFIG_USBC_VCONN -#define CONFIG_USBC_VCONN_SWAP -#define CONFIG_VBOOT_HASH -#define CONFIG_VOLUME_BUTTONS - -#define CONFIG_SPI_FLASH_PORT 1 -#define CONFIG_SPI_FLASH -#define CONFIG_FLASH_SIZE 524288 -#define CONFIG_SPI_FLASH_W25X40 - -#define CONFIG_TEMP_SENSOR -#define CONFIG_TEMP_SENSOR_BD99992GW -#define CONFIG_THERMISTOR_NCP15WB -#define CONFIG_DPTF - -/* - * Enable 1 slot of secure temporary storage to support - * suspend/resume with read/write memory training. - */ -#define CONFIG_VSTORE -#define CONFIG_VSTORE_SLOT_COUNT 1 - -#define CONFIG_WATCHDOG_HELP - -#define CONFIG_WIRELESS -#define CONFIG_WIRELESS_SUSPEND \ - (EC_WIRELESS_SWITCH_WLAN | EC_WIRELESS_SWITCH_WLAN_POWER) - -/* Wireless signals */ -#define WIRELESS_GPIO_WLAN GPIO_WLAN_OFF_L -#define WIRELESS_GPIO_WLAN_POWER GPIO_PP3300_WLAN_EN - -/* LED signals */ -#define GPIO_BAT_LED_RED GPIO_CHARGE_LED_1 -#define GPIO_BAT_LED_GREEN GPIO_CHARGE_LED_2 - -/* I2C ports */ -#define I2C_PORT_PMIC MEC1322_I2C0_0 -#define I2C_PORT_USB_CHARGER_1 MEC1322_I2C0_1 -#define I2C_PORT_USB_MUX MEC1322_I2C0_1 -#define I2C_PORT_USB_CHARGER_2 MEC1322_I2C0_0 -#define I2C_PORT_PD_MCU MEC1322_I2C1 -#define I2C_PORT_TCPC MEC1322_I2C1 -#define I2C_PORT_ALS MEC1322_I2C2 -#define I2C_PORT_ACCEL MEC1322_I2C2 -#define I2C_PORT_BATTERY MEC1322_I2C3 -#define I2C_PORT_CHARGER MEC1322_I2C3 - -/* Thermal sensors read through PMIC ADC interface */ -#define I2C_PORT_THERMAL I2C_PORT_PMIC - -/* Ambient Light Sensor address */ -#define OPT3001_I2C_ADDR_FLAGS OPT3001_I2C_ADDR1_FLAGS - -/* Modules we want to exclude */ -#undef CONFIG_CMD_HASH -#undef CONFIG_CMD_TEMP_SENSOR -#undef CONFIG_CMD_TIMERINFO -#undef CONFIG_CONSOLE_CMDHELP -#undef CONFIG_CMD_ADC -#undef CONFIG_CMD_ACCELSPOOF -#undef CONFIG_CMD_FASTCHARGE -#undef CONFIG_CMD_GETTIME -#undef CONFIG_CMD_MEM -#ifdef SECTION_IS_RO -#undef CONFIG_CMD_BATTFAKE -#undef CONFIG_CMD_MD -#undef CONFIG_CMD_POWERINDEBUG -#endif - -#ifndef __ASSEMBLER__ - -#include "gpio_signal.h" -#include "registers.h" - -/* ADC signal */ -enum adc_channel { - ADC_VBUS, - ADC_AMON_BMON, - ADC_PSYS, - /* Number of ADC channels */ - ADC_CH_COUNT -}; - -enum temp_sensor_id { - TEMP_SENSOR_BATTERY, - - /* These temp sensors are only readable in S0 */ - TEMP_SENSOR_AMBIENT, - TEMP_SENSOR_CHARGER, - TEMP_SENSOR_DRAM, - TEMP_SENSOR_WIFI, - - TEMP_SENSOR_COUNT -}; - -enum sensor_id { - BASE_ACCEL, - BASE_GYRO, - LID_ACCEL, - SENSOR_COUNT, -}; - -/* Light sensors */ -enum als_id { - ALS_OPT3001 = 0, - - ALS_COUNT -}; - -/* TODO: determine the following board specific type-C power constants */ -/* - * delay to turn on the power supply max is ~16ms. - * delay to turn off the power supply max is about ~180ms. - */ -#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */ -#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */ - -/* delay to turn on/off vconn */ -#define PD_VCONN_SWAP_DELAY 5000 /* us */ - -/* Define typical operating power and max power */ -#define PD_OPERATING_POWER_MW 15000 -#define PD_MAX_POWER_MW 45000 -#define PD_MAX_CURRENT_MA 3000 - -/* Try to negotiate to 20V since i2c noise problems should be fixed. */ -#define PD_MAX_VOLTAGE_MV 20000 - -/* Reset PD MCU */ -void board_reset_pd_mcu(void); - -#endif /* !__ASSEMBLER__ */ - -#endif /* __CROS_EC_BOARD_H */ diff --git a/board/glados/build.mk b/board/glados/build.mk deleted file mode 100644 index 3995654f1e..0000000000 --- a/board/glados/build.mk +++ /dev/null @@ -1,15 +0,0 @@ -# -*- makefile -*- -# Copyright 2015 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 SMSC MEC1322 / external SPI is 512KB / external clock is crystal -CHIP:=mec1322 -CHIP_SPI_SIZE_KB:=512 - -board-y=board.o led.o -board-$(CONFIG_BATTERY_SMART)+=battery.o -board-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o diff --git a/board/glados/ec.tasklist b/board/glados/ec.tasklist deleted file mode 100644 index f5fab4ed97..0000000000 --- a/board/glados/ec.tasklist +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2015 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, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(ALS, als_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(USB_CHG_P0, usb_charger_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(USB_CHG_P1, usb_charger_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ - TASK_NOTEST(PDCMD, pd_command_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(POWERBTN, power_button_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE) - diff --git a/board/glados/gpio.inc b/board/glados/gpio.inc deleted file mode 100644 index 0dd48835a5..0000000000 --- a/board/glados/gpio.inc +++ /dev/null @@ -1,185 +0,0 @@ -/* -*- mode:c -*- - * - * Copyright 2015 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. */ - -GPIO_INT(LID_OPEN, PIN(27), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt) -GPIO_INT(AC_PRESENT, PIN(30), GPIO_INT_BOTH, extpower_interrupt) -GPIO_INT(WP_L, PIN(33), GPIO_INT_BOTH, switch_interrupt) -/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */ -GPIO_INT(POWER_BUTTON_L, PIN(35), GPIO_INT_BOTH, power_button_interrupt) -/* RSMRST from PMIC */ -GPIO_INT(RSMRST_L_PGOOD, PIN(63), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_S4_L, PIN(200), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_S3_L, PIN(206), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(PCH_SLP_SUS_L, PIN(12), GPIO_INT_BOTH, power_signal_interrupt) -GPIO_INT(VOLUME_UP_L, PIN(31), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) -GPIO_INT(VOLUME_DOWN_L, PIN(47), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) -GPIO_INT(PMIC_INT_L, PIN(50), GPIO_INT_FALLING, power_signal_interrupt) -GPIO_INT(PD_MCU_INT, PIN(122), GPIO_INT_FALLING | GPIO_PULL_UP, pd_mcu_interrupt) -GPIO_INT(USB_C0_VBUS_WAKE_L,PIN(152), GPIO_INT_BOTH, vbus0_evt) -GPIO_INT(USB_C1_VBUS_WAKE_L,PIN(123), GPIO_INT_BOTH, vbus1_evt) -GPIO_INT(USB_C0_BC12_INT_L, PIN(124), GPIO_INT_FALLING, usb0_evt) -GPIO_INT(USB_C1_BC12_INT_L, PIN(145), GPIO_INT_FALLING, usb1_evt) -GPIO_INT(TABLET_MODE_L, PIN(160), GPIO_INT_BOTH | GPIO_PULL_UP, tablet_mode_interrupt) -/* Delayed PWR_OK from PMIC */ -GPIO_INT(PMIC_DPWROK, PIN(133), GPIO_INT_BOTH, power_signal_interrupt) -/* UART input */ -GPIO_INT(UART0_RX, PIN(162), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, uart_deepsleep_interrupt) - -/* - * This pulldown should be removed and SLP_S0 should be enabled as a power - * signal interrupt in future hardware followers. The signal is pulled up in - * the SoC when the primary rails are on and/or ramping. - * In order to not get interrupt storms there should be external logic - * which makes this a true binary signal into the EC. - */ -GPIO(PCH_SLP_S0_L, PIN(211), GPIO_INPUT | GPIO_PULL_DOWN) - -GPIO(PD_RST_L, PIN(130), GPIO_ODR_HIGH) -GPIO(USB2_OTG_ID, PIN(13), GPIO_ODR_LOW) -/* I2C pins - these will be reconfigured for alternate function below */ -GPIO(I2C0_0_SCL, PIN(15), GPIO_INPUT) -GPIO(I2C0_0_SDA, PIN(16), GPIO_INPUT) -GPIO(I2C0_1_SCL, PIN(134), GPIO_INPUT) -GPIO(I2C0_1_SDA, PIN(17), GPIO_INPUT) -GPIO(I2C1_SCL, PIN(22), GPIO_INPUT) -GPIO(I2C1_SDA, PIN(23), GPIO_INPUT) -GPIO(I2C2_SCL, PIN(20), GPIO_INPUT) -GPIO(I2C2_SDA, PIN(21), GPIO_INPUT) -GPIO(I2C3_SCL, PIN(24), GPIO_INPUT) -GPIO(I2C3_SDA, PIN(25), GPIO_INPUT) -GPIO(PCH_SCI_L, PIN(26), GPIO_ODR_HIGH) -/* KB BL PWM, only connected to TP */ -GPIO(PWM_KBLIGHT, PIN(34), GPIO_OUT_LOW) -GPIO(USB1_ENABLE, PIN(36), GPIO_OUT_LOW) -GPIO(USB2_ENABLE, PIN(67), GPIO_OUT_LOW) -GPIO(ENTERING_RW, PIN(41), GPIO_OUT_LOW) -GPIO(PCH_SMI_L, PIN(44), GPIO_ODR_HIGH) -GPIO(PCH_PWRBTN_L, PIN(45), GPIO_OUTPUT) -GPIO(USB_C0_DP_HPD, PIN(46), GPIO_OUT_LOW) -GPIO(USB_C1_DP_HPD, PIN(51), GPIO_OUT_LOW) -GPIO(CPU_PROCHOT, PIN(52), GPIO_OUT_LOW) -GPIO(ENABLE_TOUCHPAD, PIN(53), GPIO_OUT_LOW) -GPIO(BAT_PRESENT_L, PIN(56), GPIO_INPUT) -GPIO(USB_PD_WAKE, PIN(60), GPIO_OUT_HIGH) -/* When asserted, ME does not lock security descriptor */ -GPIO(PCH_SEC_DISABLE_L, PIN(65), GPIO_OUT_HIGH) -GPIO(PCH_WAKE_L, PIN(66), GPIO_ODR_HIGH) -GPIO(EC_FAN1_TTACH, PIN(105), GPIO_INPUT | GPIO_PULL_UP) -/* Fan PWM output - NC / testing only */ -GPIO(EC_FAN1_PWM, PIN(136), GPIO_OUT_LOW) -GPIO(PCH_ACOK, PIN(110), GPIO_OUT_LOW) -/* Interrupts from accelerometer / gyro -- not yet implemented */ -GPIO(ACCEL1_INT, PIN(161), GPIO_INPUT) -GPIO(ACCEL2_INT, PIN(127), GPIO_INPUT) -GPIO(ACCEL3_INT, PIN(147), GPIO_INPUT) -GPIO(WLAN_OFF_L, PIN(132), GPIO_OUT_LOW) -/* RCIN# line to PCH for 8042 emulation */ -GPIO(PCH_RCIN_L, PIN(135), GPIO_ODR_HIGH) -GPIO(USB2_OTG_VBUSSENSE, PIN(140), GPIO_OUT_LOW) -GPIO(PCH_RSMRST_L, PIN(143), GPIO_OUT_LOW) -/* prochot input from devices */ -GPIO(PLATFORM_EC_PROCHOT, PIN(151), GPIO_INPUT | GPIO_PULL_UP) -GPIO(USB_C0_5V_EN, PIN(154), GPIO_OUT_LOW) -GPIO(USB_C1_5V_EN, PIN(204), GPIO_OUT_LOW) -GPIO(USB_C0_CHARGE_EN_L, PIN(64), GPIO_OUT_LOW) -GPIO(PP1800_DX_SENSOR_EN, PIN(11), GPIO_OUT_LOW) -/* From lid sensor */ -GPIO(ENABLE_BACKLIGHT, PIN(202), GPIO_OUT_LOW) -GPIO(PP3300_WLAN_EN, PIN(203), GPIO_OUT_LOW) -GPIO(BOARD_VERSION1, PIN(6), GPIO_INPUT) -GPIO(BOARD_VERSION2, PIN(7), GPIO_INPUT) -GPIO(BOARD_VERSION3, PIN(10), GPIO_INPUT) -GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) -GPIO(SYS_RESET_L, PIN(121), GPIO_ODR_HIGH) - -/* - * TODO(crosbug.com/p/40848): These LEDs should be under control of the mec1322 - * LED control unit. Remove these GPIO definitions once the LED control unit - * is functional. - */ -GPIO(CHARGE_LED_1, PIN(155), GPIO_OUT_LOW) -GPIO(CHARGE_LED_2, PIN(156), GPIO_OUT_LOW) - -/* - * BATLOW_L and ROP_LDO_EN are stuffing options. Set as input to dynamically - * handle the stuffing option based on board id. As both signals have external - * pulls setting this pin as input won't harm anything. - */ -GPIO(BATLOW_L_PMIC_LDO_EN, PIN(55), GPIO_INPUT) -GPIO(ACCEL4_INT, PIN(157), GPIO_INPUT) -GPIO(PP1800_DX_AUDIO_EN, PIN(141), GPIO_OUT_LOW) -/* NC / stuffing option */ -GPIO(PCH_RTCRST, PIN(163), GPIO_OUT_LOW) -GPIO(PMIC_SLP_SUS_L, PIN(201), GPIO_OUT_LOW) -GPIO(USB_C1_CHARGE_EN_L, PIN(210), GPIO_OUT_LOW) - -/* Alternate functions GPIO definitions */ - -/* GPIO162(UART_RX), GPIO165(UART_TX) */ -ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) - -/* KB pins */ -#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP) -#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH) - -/* KB ROW - GPIO000-GPIO005 */ -ALTERNATE(PIN_MASK(0, 0x3f), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) -/* KB ROW - GPIO100-GPIO104, GPIO106-GPIO107 */ -ALTERNATE(PIN_MASK(10, 0xdf), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT) -/* KB COL - GPIO032 */ -ALTERNATE(PIN_MASK(3, 0x04), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO040, GPIO42-GPIO43 */ -ALTERNATE(PIN_MASK(4, 0x0d), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO125-GPIO126 */ -ALTERNATE(PIN_MASK(12, 0x60), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) -/* KB COL - GPIO142, GPIO144 */ -ALTERNATE(PIN_MASK(14, 0x14), 3, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT) - -/* LPC pins */ -/* LPC_CLK_RUN_L - GPIO014 */ -ALTERNATE(PIN_MASK(1, 0x10), 1, MODULE_LPC, 0) -/* LAD[0:3] - GPIO111-GPIO114, SERIRQ - GPIO115, PCI_CLK - GPIO117 */ -ALTERNATE(PIN_MASK(11, 0xbe), 1, MODULE_LPC, 0) -/* LRESET# - GPIO116 */ -ALTERNATE(PIN_MASK(11, 0x40), 1, MODULE_LPC, GPIO_INT_BOTH) -/* LFRAME# - GPIO120 */ -ALTERNATE(PIN_MASK(12, 0x01), 1, MODULE_LPC, 0) - -/* SPI pins */ -/* MOSI - GPIO054 */ -ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) -/* MISO - GPIO164 */ -ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, GPIO_PULL_UP) -/* PVT_SCLK - GPIO153 */ -ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) -/* SHD_CS0# - GPIO150. Shared SPI chip select */ -ALTERNATE(PIN_MASK(15, 0x00), 1, MODULE_SPI, 0) - -/* I2C pins */ -/* I2C0_0 CLK - GPIO015, I2C0_0 DAT - GPIO016, I2C0_1 DAT - GPIO017 */ -ALTERNATE(PIN_MASK(1, 0xe0), 2, MODULE_I2C, GPIO_ODR_HIGH) -/* I2C{1,2,3} CLK / DAT - GPIO020-GPIO025*/ -ALTERNATE(PIN_MASK(2, 0x3f), 2, MODULE_I2C, GPIO_ODR_HIGH) -/* I2C0_1 CLK - GPIO134 */ -ALTERNATE(PIN_MASK(13, 0x10), 2, MODULE_I2C, GPIO_ODR_HIGH) - -/* ADC pins */ -/* ADC1 - GPIO057 / PPVAR_BOOSTIN_SENSE */ -ALTERNATE(PIN_MASK(5, 0x80), 1, MODULE_ADC, GPIO_ANALOG) -/* ADC3 - GPIO061 / IADP_ACMON_BMON. ADC4 - GPIO062 / PMON_PSYS */ -ALTERNATE(PIN_MASK(6, 0x06), 1, MODULE_ADC, GPIO_ANALOG) - -/* LED1 - GPIO155. LED2 - GPIO156 */ -ALTERNATE(PIN_MASK(15, 0x60), 2, MODULE_POWER_LED, 0) - -/* VCC1_RST# - GPIO131 */ -ALTERNATE(PIN_MASK(13, 0x02), 1, MODULE_PMU, 0) -/* nRESET_OUT - GPIO121 */ -ALTERNATE(PIN_MASK(12, 0x02), 1, MODULE_PMU, 0) diff --git a/board/glados/led.c b/board/glados/led.c deleted file mode 100644 index ef6c5d9b76..0000000000 --- a/board/glados/led.c +++ /dev/null @@ -1,167 +0,0 @@ -/* Copyright 2015 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. - * - * Power and battery LED control for Glados. - */ - -#include "battery.h" -#include "charge_state.h" -#include "chipset.h" -#include "ec_commands.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "led_common.h" -#include "util.h" - -#define BAT_LED_ON 1 -#define BAT_LED_OFF 0 - -#define CRITICAL_LOW_BATTERY_PERCENTAGE 3 -#define LOW_BATTERY_PERCENTAGE 10 - -#define LED_TOTAL_4SECS_TICKS 4 -#define LED_TOTAL_2SECS_TICKS 2 -#define LED_ON_1SEC_TICKS 1 -#define LED_ON_2SECS_TICKS 2 - -const enum ec_led_id supported_led_ids[] = { - EC_LED_ID_BATTERY_LED}; - -const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids); - -enum led_color { - LED_OFF = 0, - LED_RED, - LED_AMBER, - LED_GREEN, - LED_COLOR_COUNT /* Number of colors, not a color itself */ -}; - -static int bat_led_set_color(enum led_color color) -{ - switch (color) { - case LED_OFF: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_OFF); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_OFF); - break; - case LED_RED: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_ON); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_OFF); - break; - case LED_AMBER: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_ON); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_ON); - break; - case LED_GREEN: - gpio_set_level(GPIO_BAT_LED_RED, BAT_LED_OFF); - gpio_set_level(GPIO_BAT_LED_GREEN, BAT_LED_ON); - break; - default: - return EC_ERROR_UNKNOWN; - } - return EC_SUCCESS; -} - -void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range) -{ - brightness_range[EC_LED_COLOR_RED] = 1; - brightness_range[EC_LED_COLOR_GREEN] = 1; -} - -static int glados_led_set_color_battery(enum led_color color) -{ - return bat_led_set_color(color); -} - -static int glados_led_set_color(enum ec_led_id led_id, enum led_color color) -{ - int rv; - - led_auto_control(led_id, 0); - switch (led_id) { - case EC_LED_ID_BATTERY_LED: - rv = glados_led_set_color_battery(color); - break; - default: - return EC_ERROR_UNKNOWN; - } - return rv; -} - -int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness) -{ - if (brightness[EC_LED_COLOR_RED] != 0 && - brightness[EC_LED_COLOR_GREEN] != 0) - glados_led_set_color(led_id, LED_AMBER); - else if (brightness[EC_LED_COLOR_RED] != 0) - glados_led_set_color(led_id, LED_RED); - else if (brightness[EC_LED_COLOR_GREEN] != 0) - glados_led_set_color(led_id, LED_GREEN); - else - glados_led_set_color(led_id, LED_OFF); - - return EC_SUCCESS; -} - -static void glados_led_set_battery(void) -{ - static int battery_ticks; - uint32_t chflags = charge_get_flags(); - - battery_ticks++; - - /* BAT LED behavior: - * Same as the chromeos spec - * Green/Amber for CHARGE_FLAG_FORCE_IDLE - */ - switch (charge_get_state()) { - case PWR_STATE_CHARGE: - glados_led_set_color_battery(LED_AMBER); - break; - case PWR_STATE_DISCHARGE: - /* Less than 3%, blink one second every two second */ - if (!chipset_in_state(CHIPSET_STATE_ANY_OFF) && - charge_get_percent() < CRITICAL_LOW_BATTERY_PERCENTAGE) - glados_led_set_color_battery( - (battery_ticks % LED_TOTAL_2SECS_TICKS < - LED_ON_1SEC_TICKS) ? LED_AMBER : LED_OFF); - /* Less than 10%, blink one second every four seconds */ - else if (!chipset_in_state(CHIPSET_STATE_ANY_OFF) && - charge_get_percent() < LOW_BATTERY_PERCENTAGE) - glados_led_set_color_battery( - (battery_ticks % LED_TOTAL_4SECS_TICKS < - LED_ON_1SEC_TICKS) ? LED_AMBER : LED_OFF); - else - glados_led_set_color_battery(LED_OFF); - break; - case PWR_STATE_ERROR: - glados_led_set_color_battery( - (battery_ticks % LED_TOTAL_2SECS_TICKS < - LED_ON_1SEC_TICKS) ? LED_RED : LED_OFF); - break; - case PWR_STATE_CHARGE_NEAR_FULL: - glados_led_set_color_battery(LED_GREEN); - break; - case PWR_STATE_IDLE: /* External power connected in IDLE */ - if (chflags & CHARGE_FLAG_FORCE_IDLE) - glados_led_set_color_battery( - (battery_ticks % LED_TOTAL_4SECS_TICKS < - LED_ON_2SECS_TICKS) ? LED_GREEN : LED_AMBER); - else - glados_led_set_color_battery(LED_GREEN); - break; - default: - /* Other states don't alter LED behavior */ - break; - } -} - -/** * Called by hook task every 1 sec */ -static void led_second(void) -{ - if (led_auto_control_is_enabled(EC_LED_ID_BATTERY_LED)) - glados_led_set_battery(); -} -DECLARE_HOOK(HOOK_SECOND, led_second, HOOK_PRIO_DEFAULT); diff --git a/board/glados/lfw/gpio.inc b/board/glados/lfw/gpio.inc deleted file mode 100644 index ab49347562..0000000000 --- a/board/glados/lfw/gpio.inc +++ /dev/null @@ -1,22 +0,0 @@ -/* -*- mode:c -*- - * - * Copyright 2015 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. - * - * Minimal set of GPIOs needed for LFW loader - */ - -/* Declare symbolic names for all the GPIOs that we care about. - * Note: Those with interrupt handlers must be declared first. */ - -/* SPI PVT chip select */ -GPIO(PVT_CS0, PIN(146), GPIO_ODR_HIGH) - -/* Alternate functions GPIO definition */ -/* UART */ -ALTERNATE(PIN_MASK(16, 0x24), 1, MODULE_UART, 0) -/* SPI pins */ -ALTERNATE(PIN_MASK(5, 0x10), 1, MODULE_SPI, 0) -ALTERNATE(PIN_MASK(16, 0x10), 1, MODULE_SPI, 0) -ALTERNATE(PIN_MASK(15, 0x08), 1, MODULE_SPI, 0) diff --git a/board/glados/usb_pd_policy.c b/board/glados/usb_pd_policy.c deleted file mode 100644 index 72490a8d3c..0000000000 --- a/board/glados/usb_pd_policy.c +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright 2015 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 "atomic.h" -#include "charge_manager.h" -#include "common.h" -#include "console.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "registers.h" -#include "system.h" -#include "task.h" -#include "timer.h" -#include "util.h" -#include "usb_mux.h" -#include "usb_pd.h" - -#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) -#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) - -int pd_set_power_supply_ready(int port) -{ - /* Disable charging */ - gpio_set_level(port ? GPIO_USB_C1_CHARGE_EN_L : - GPIO_USB_C0_CHARGE_EN_L, 1); - /* Provide VBUS */ - gpio_set_level(port ? GPIO_USB_C1_5V_EN : - GPIO_USB_C0_5V_EN, 1); - - /* notify host of power info change */ - pd_send_host_event(PD_EVENT_POWER_CHANGE); - - return EC_SUCCESS; /* we are ready */ -} - -void pd_power_supply_reset(int port) -{ - /* Disable VBUS */ - gpio_set_level(port ? GPIO_USB_C1_5V_EN : - GPIO_USB_C0_5V_EN, 0); - - /* notify host of power info change */ - pd_send_host_event(PD_EVENT_POWER_CHANGE); -} - -int pd_snk_is_vbus_provided(int port) -{ - return !gpio_get_level(port ? GPIO_USB_C1_VBUS_WAKE_L : - GPIO_USB_C0_VBUS_WAKE_L); -} - -int pd_check_vconn_swap(int port) -{ - /* in G3, do not allow vconn swap since pp5000_A rail is off */ - return gpio_get_level(GPIO_PMIC_SLP_SUS_L); -} diff --git a/board/glados_pd/block.png b/board/glados_pd/block.png deleted file mode 100644 index 0e1a68bbc9894e8cbc244b59feec9f06325363d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101649 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 ISFjBIA3p0w4gdfE diff --git a/board/glados_pd/board.c b/board/glados_pd/board.c deleted file mode 100644 index ad23131a3c..0000000000 --- a/board/glados_pd/board.c +++ /dev/null @@ -1,169 +0,0 @@ -/* Copyright 2015 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. - */ - -/* glados_pd board configuration */ - -#include "adc.h" -#include "adc_chip.h" -#include "common.h" -#include "console.h" -#include "gpio.h" -#include "hooks.h" -#include "host_command.h" -#include "i2c.h" -#include "registers.h" -#include "switch.h" -#include "system.h" -#include "task.h" -#include "usb_pd.h" -#include "usb_pd_tcpc.h" -#include "util.h" - -#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args) - -/* Indicate which source is driving the ec_int line. */ -static uint32_t ec_int_status; - -static uint32_t pd_status_flags; - -void pd_send_ec_int(void) -{ - /* If any sources are active, then drive the line low */ - gpio_set_level(GPIO_EC_INT, !ec_int_status); -} - -void board_config_pre_init(void) -{ - /* enable SYSCFG clock */ - STM32_RCC_APB2ENR |= BIT(0); - /* - * the DMA mapping is : - * Chan 2 : TIM1_CH1 (C0 RX) - * Chan 3 : SPI1_TX (C0 TX) - * Chan 4 : TIM3_CH1 (C1 RX) - * Chan 5 : SPI2_TX (C1 TX) - */ -} - -#include "gpio_list.h" - -__override uint8_t board_get_usb_pd_port_count(void) -{ - return CONFIG_USB_PD_PORT_MAX_COUNT; -} - -void pd_set_suspend(int port, int suspend) -{ - /* - * Do nothing. This is only here to make the linker happy for this - * old board on ToT. - */ -} - -/* Initialize board. */ -static void board_init(void) -{ - /* Enable interrupts on VBUS transitions. */ - gpio_enable_interrupt(GPIO_USB_C0_VBUS_WAKE_L); - gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE_L); - - /* Set PD MCU system status bits */ - if (system_jumped_late()) - pd_status_flags |= PD_STATUS_JUMPED_TO_IMAGE; - if (system_is_in_rw()) - pd_status_flags |= PD_STATUS_IN_RW; -} -DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); - -/* ADC channels */ -const struct adc_t adc_channels[] = { - /* USB PD CC lines sensing. Converted to mV (3300mV/4096). */ - [ADC_C1_CC1_PD] = {"C1_CC1_PD", 3300, 4096, 0, STM32_AIN(0)}, - [ADC_C0_CC1_PD] = {"C0_CC1_PD", 3300, 4096, 0, STM32_AIN(2)}, - [ADC_C0_CC2_PD] = {"C0_CC2_PD", 3300, 4096, 0, STM32_AIN(4)}, - [ADC_C1_CC2_PD] = {"C1_CC2_PD", 3300, 4096, 0, STM32_AIN(5)}, -}; -BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT); - -/* I2C ports */ -const struct i2c_port_t i2c_ports[] = { - {"slave", I2C_PORT_SLAVE, 1000, GPIO_SLAVE_I2C_SCL, GPIO_SLAVE_I2C_SDA} -}; -const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); - -void tcpc_alert(int port) -{ - /* - * This function is called when the TCPC sets one of - * bits in the Alert register and that bit's corresponding - * location in the Alert_Mask register is set. - */ - atomic_or(&ec_int_status, port ? - PD_STATUS_TCPC_ALERT_1 : PD_STATUS_TCPC_ALERT_0); - pd_send_ec_int(); -} - -void tcpc_alert_clear(int port) -{ - /* - * The TCPM has acknowledged all Alert bits and the - * Alert# line needs to be set inactive. Clear - * the corresponding port's bit in the static variable. - */ - atomic_clear(&ec_int_status, port ? - PD_STATUS_TCPC_ALERT_1 : PD_STATUS_TCPC_ALERT_0); - pd_send_ec_int(); -} - -static void system_hibernate_deferred(void) -{ - ccprintf("EC requested hibernate\n"); - cflush(); - system_hibernate(0, 0); -} -DECLARE_DEFERRED(system_hibernate_deferred); - -/****************************************************************************/ -/* Console commands */ -static int command_ec_int(int argc, char **argv) -{ - /* Indicate that ec_int gpio is active due to host command */ - atomic_or(&ec_int_status, PD_STATUS_HOST_EVENT); - pd_send_ec_int(); - - return EC_SUCCESS; -} -DECLARE_CONSOLE_COMMAND(ecint, command_ec_int, - "", - "Toggle EC interrupt line"); - -static enum ec_status ec_status_host_cmd(struct host_cmd_handler_args *args) -{ - const struct ec_params_pd_status *p = args->params; - struct ec_response_pd_status *r = args->response; - - /* - * ec_int_status is used to store state for HOST_EVENT, - * TCPC 0 Alert, and TCPC 1 Alert bits. - */ - r->status = ec_int_status | pd_status_flags; - args->response_size = sizeof(*r); - - /* Have the PD follow the EC into hibernate. */ - if (p->status & EC_STATUS_HIBERNATING) - hook_call_deferred(&system_hibernate_deferred_data, 0); - - /* - * If the source of the EC int line was HOST_EVENT, it has - * been acknowledged so can always clear HOST_EVENT bit - * from the ec_int_status variable - */ - atomic_clear(&ec_int_status, PD_STATUS_HOST_EVENT); - - return EC_RES_SUCCESS; -} -DECLARE_HOST_COMMAND(EC_CMD_PD_EXCHANGE_STATUS, ec_status_host_cmd, - EC_VER_MASK(EC_VER_PD_EXCHANGE_STATUS)); - diff --git a/board/glados_pd/board.h b/board/glados_pd/board.h deleted file mode 100644 index 287cb32b09..0000000000 --- a/board/glados_pd/board.h +++ /dev/null @@ -1,127 +0,0 @@ -/* Copyright 2015 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. - */ - -/* glados_pd board configuration */ - -#ifndef __CROS_EC_BOARD_H -#define __CROS_EC_BOARD_H - -/* - * The console task is too big to include in both RO and RW images. Therefore, - * if the console task is defined, then only build an RW image. This can be - * useful for debugging to have a full console. Otherwise, without this task, - * a full RO and RW is built with a limited one-way output console. - */ -#ifdef HAS_TASK_CONSOLE -/* - * The flash size is only 32kB. - * No space for 2 partitions, - * put only RW at the beginning of the flash - */ -#undef CONFIG_FW_INCLUDE_RO -#undef CONFIG_RW_MEM_OFF -#define CONFIG_RW_MEM_OFF 0 -#undef CONFIG_RO_SIZE -#define CONFIG_RO_SIZE 0 -/* Fake full size if we had a RO partition */ -#undef CONFIG_RW_SIZE -#define CONFIG_RW_SIZE CONFIG_FLASH_SIZE -#endif /* HAS_TASK_CONSOLE */ - -/* 48 MHz SYSCLK clock frequency */ -#define CPU_CLOCK 48000000 - -/* the UART console is on USART1 (PA9/PA10) */ -#undef CONFIG_UART_CONSOLE -#define CONFIG_UART_CONSOLE 1 - -/* Optional features */ -#define CONFIG_ADC -#undef CONFIG_ADC_WATCHDOG -#define CONFIG_BOARD_PRE_INIT -#define CONFIG_COMMON_GPIO_SHORTNAMES -#undef CONFIG_DEBUG_ASSERT -#define CONFIG_FORCE_CONSOLE_RESUME -#define CONFIG_HIBERNATE -#define CONFIG_HIBERNATE_WAKEUP_PINS STM32_PWR_CSR_EWUP2 -#undef CONFIG_HOSTCMD_EVENTS -#define CONFIG_HW_CRC -#define CONFIG_I2C -#define CONFIG_I2C_SLAVE -#undef CONFIG_LID_SWITCH -#define CONFIG_LOW_POWER_IDLE -#define CONFIG_LTO -#define CONFIG_STM_HWTIMER32 -#undef CONFIG_TASK_PROFILING -#undef CONFIG_UART_TX_BUF_SIZE -#undef CONFIG_UART_TX_DMA -#undef CONFIG_UART_RX_DMA -#define CONFIG_UART_TX_BUF_SIZE 128 -#define CONFIG_USB_PD_DUAL_ROLE -#define CONFIG_USB_PD_INTERNAL_COMP -#define CONFIG_USB_PD_PORT_MAX_COUNT 2 -#define CONFIG_USB_PD_TCPC -#define CONFIG_USB_PD_TCPC_TRACK_VBUS -#define CONFIG_USBC_VCONN -#define CONFIG_VBOOT_HASH -#define CONFIG_WATCHDOG -#undef CONFIG_WATCHDOG_HELP - -/* - * TODO(crosbug.com/p/50519): Remove CONFIG_SYSTEM_UNLOCKED prior to building - * MP FW. - */ -#define CONFIG_SYSTEM_UNLOCKED - -#ifdef HAS_TASK_CONSOLE -#undef CONFIG_CONSOLE_HISTORY -#define CONFIG_CONSOLE_HISTORY 2 - -#else -#undef CONFIG_CONSOLE_CMDHELP -#define CONFIG_DEBUG_PRINTF -#define UARTN CONFIG_UART_CONSOLE -#define UARTN_BASE STM32_USART_BASE(CONFIG_UART_CONSOLE) -#endif /* HAS_TASK_CONSOLE */ - -/* Use PSTATE embedded in the RO image, not in its own erase block */ -#undef CONFIG_FLASH_PSTATE_BANK -#undef CONFIG_FW_PSTATE_SIZE -#define CONFIG_FW_PSTATE_SIZE 0 - -/* I2C ports configuration */ -#define I2C_PORT_SLAVE 0 -#define I2C_PORT_EC I2C_PORT_SLAVE - -/* slave address for host commands */ -#ifdef HAS_TASK_HOSTCMD -#define CONFIG_HOSTCMD_I2C_SLAVE_ADDR_FLAGS CONFIG_USB_PD_I2C_SLAVE_ADDR_FLAGS -#endif - -#ifndef __ASSEMBLER__ - -/* Timer selection */ -#define TIM_CLOCK32 2 -#define TIM_ADC 3 - -#include "gpio_signal.h" - -/* ADC signal */ -enum adc_channel { - ADC_C1_CC1_PD = 0, - ADC_C0_CC1_PD, - ADC_C0_CC2_PD, - ADC_C1_CC2_PD, - /* Number of ADC channels */ - ADC_CH_COUNT -}; - -/* 1.5A Rp */ -#define PD_SRC_VNC PD_SRC_1_5_VNC_MV -#define PD_SRC_RD_THRESHOLD PD_SRC_1_5_RD_THRESH_MV - -#endif /* !__ASSEMBLER__ */ - -#endif /* __CROS_EC_BOARD_H */ diff --git a/board/glados_pd/build.mk b/board/glados_pd/build.mk deleted file mode 100644 index 3508c6c173..0000000000 --- a/board/glados_pd/build.mk +++ /dev/null @@ -1,19 +0,0 @@ -# -*- makefile -*- -# Copyright 2015 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 STM32F051C8T -CHIP:=stm32 -CHIP_FAMILY:=stm32f0 -CHIP_VARIANT:=stm32f05x - -# Not enough SRAM: Disable all tests -test-list-y= - -board-y=board.o - -# This target builds RW only. Therefore, remove RO from dependencies. -all_deps=$(patsubst ro,,$(def_all_deps)) diff --git a/board/glados_pd/dualtcpc.md b/board/glados_pd/dualtcpc.md deleted file mode 100644 index 80f1df7425..0000000000 --- a/board/glados_pd/dualtcpc.md +++ /dev/null @@ -1,119 +0,0 @@ -USB-C Dual TCPC Example -======================= - -This board configuration implements a USB-C TCPC for two ports. - -The design uses a microcontroller running code from the Chromium EC -codebase to implement the TCPC. The code tries to follow the "USB -Type-C Port Controller Interface Specification" that is released as -part of the -[USB 3.1 Specification](http://www.usb.org/developers/docs/). - -Building --------- - -### Chromium OS chroot - -All the following instructions have been verified in a Chromium OS -chroot. You can find how to set one up on the -[Chromium development -wiki](http://dev.chromium.org/chromium-os/quick-start-guide). - -### Build the TCPM code - -`cd src/platform/ec` - -`make BOARD=glados_pd` - - -Schematic ---------- - -![schematic image](glados_pd.png) - -Note that you may need to zoom in the browser to read the image if -reading this through the git source tree browser. A -[pdf of this schematic](glados_pd.pdf) is in the -[`board/glados_pd`](.) directory. It shows three main areas. - -The two (identical) sections on the left provide the analog interface -to the CC line. Each CC line is identical. Resistors are used in -combination to set the resistor applied to CC: - -Resistor |`USB_Cx_CCy_DEVICE_ODL`|`USB_Cx_CCy_HOST_HIGH`|Value ----------|-----------------------|----------------------|----- -1.5A Rp | high impedance | high 3.3V | 5.11k+6.98k pullup -3A Rp | high 3.3V | high impedance | 5.11k pullup -Rd | low 0V | high impedance | 5.11k pulldown - -When USB-PD transmission is required the `USB_Cx_CCy_MCU` is set low -and the data transmitted on `USB_Cx_CCy_TX_DATA`. The two resistors -form a divider that sets the level to match the BMC -specification. These resistors and the capacitor on the pulldown may -need tuning for a given application to meet the required TX eye mask. - -The `EN_PP3300_USB_PD` is a critical enable output from the MCU. It -must be pulled down when power is off (not shown here, it is done as -part of the load switch on the power supply page) and remains low -until the microcontroller is ready for operation. It: - -1. Enables the `PP3300_USB_PD` power supply that powers -all the USB-C port related components (eg the low speed mux `U24` -shown here and the high speed mux that is not part of this example -page) -2. Controls the isolation FET (two parts of `Q1`,two parts of `Q6`) to -disconnet the CC lines when power is off or the MCU is -intializing. When power is enabled the enable will put the gate at -3.3V and ensure no higher voltage on CC will reach the MCU. -3. Disables the Dead Battery pulldown once the MCU is ready for -operation. The Dead Battery Rd pulldown is provided by a FET (two -parts of `Q24` and `Q12`) and resistor. When there is no power, the -gate is pulled down to ground. A DFP application of Rp will pull up -the source and provide the required Vgs=-0.7 (Vgsth max should be 1V) -to turn on the FET and connect the Rd pulldown. Once there is power -and the MCU is running it will drive `EN_PP3300_USB_PD` high and -disable the FET. - -There is a load switch (`U9`,`U10`,`U11`,`U12`) to provide current -limited **Vconn**. - -The main area of the schematic is the STM32F051 microcontroller that -runs the [`glados_pd`](.) code. - -There is a quirk in `U24`. For port `C0` the transmit data is provided -by the SPI1 controller as `SPI1_MISO`. The internal I/O multiplex -allows this to be driven on either pin `PB4` or `PA6` and thus support -driving whichever CC line is needed. Port `C1` uses the SPI2 -controller which (on this package) can only use pin `PB14`, so an -external mux is used to direct this to the appropriate port. - -### Replacement with Two TCPC parts - -This schematic page can be replaced by two TCPC parts. - -![Two TCPC block diagram](block.png) - -Flashing and Running --------------------- - -### Flashing the firmware binary - -The microcontroller can be pre-programmed or is programmed in the -factory by pulling `USB_PD_BOOT0` high and resetting the part to -initiate a firmware update over UART. During development the -[Servo board](http://www.chromium.org/chromium-os/servo) can be used -for this. - -Once programmed for the first time, the part supports secure update of -the Read/Write copy. - -Known Issues ------------- - -1. This is the first version of the documentation... - - -Troubleshooting ---------------- - - diff --git a/board/glados_pd/ec.tasklist b/board/glados_pd/ec.tasklist deleted file mode 100644 index cfcb5007af..0000000000 --- a/board/glados_pd/ec.tasklist +++ /dev/null @@ -1,14 +0,0 @@ -/* Copyright 2015 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, LARGER_TASK_STACK_SIZE) \ - TASK_NOTEST(HOSTCMD, host_command_task, NULL, TASK_STACK_SIZE) \ - /* TASK_ALWAYS(CONSOLE, console_task, NULL, TASK_STACK_SIZE) */ \ - TASK_ALWAYS(PD_C0, pd_task, NULL, TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_C1, pd_task, NULL, TASK_STACK_SIZE) diff --git a/board/glados_pd/glados_pd.pdf b/board/glados_pd/glados_pd.pdf deleted file mode 100644 index 55920d29c40d4f3df93f151e3622160df909e973..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 101626 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�ky#%G+9wLee{-DegV~0>`QC4ciQ*ItlIF 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 diff --git a/board/glados_pd/glados_pd.png b/board/glados_pd/glados_pd.png deleted file mode 100644 index df14ed5b0937a96255e383532c15b43af66463f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205363 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
Nh6$tRz>(8R4<(mO$aqn#ZPsZ5E(~B2$vC1 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 diff --git a/board/glados_pd/gpio.inc b/board/glados_pd/gpio.inc deleted file mode 100644 index 083085d094..0000000000 --- a/board/glados_pd/gpio.inc +++ /dev/null @@ -1,84 +0,0 @@ -/* -*- mode:c -*- - * - * Copyright 2015 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. */ - -/* Interrupts */ -GPIO_INT(USB_C0_VBUS_WAKE_L, PIN(C, 14), GPIO_INT_BOTH, pd_vbus_evt_p0) -GPIO_INT(USB_C1_VBUS_WAKE_L, PIN(C, 15), GPIO_INT_BOTH, pd_vbus_evt_p1) - -/* - * Older boards have A13 connected to a test point with no PU / PD, so we must - * enable an internal PU. - * Newer boards have A13 connected to 3.3V / GND through a 100K resistor, so - * we must not enable an internal PU. All MP boards will use the newer config. - * TODO(crosbug.com/p/50518): Remove CONFIG_SYSTEM_UNLOCKED prior to building - * MP FW. - */ -#ifdef CONFIG_SYSTEM_UNLOCKED -GPIO_INT(WP_L, PIN(A, 13), GPIO_INT_BOTH | GPIO_PULL_UP, - switch_interrupt) -#else -GPIO_INT(WP_L, PIN(A, 13), GPIO_INT_BOTH, switch_interrupt) -#endif - -/* PD RX/TX */ -GPIO(USB_C0_CC1_PD, PIN(A, 2), GPIO_ANALOG) -GPIO(USB_C_REF, PIN(A, 1), GPIO_ANALOG) -GPIO(USB_C1_CC1_PD, PIN(A, 0), GPIO_ANALOG) -GPIO(USB_C0_CC2_PD, PIN(A, 4), GPIO_ANALOG) -GPIO(USB_C1_CC2_PD, PIN(A, 5), GPIO_ANALOG) - -GPIO(USB_C1_CCX_TX_DATA, PIN(B, 14), GPIO_INPUT) -GPIO(USB_C0_CC1_TX_DATA, PIN(B, 4), GPIO_INPUT) -GPIO(USB_C1_CC2_TX_SEL, PIN(B, 0), GPIO_OUT_LOW) /* C1_CC2_TX_SEL */ -GPIO(USB_C0_CC2_TX_DATA, PIN(A, 6), GPIO_INPUT) -GPIO(USB_PD_VBUS_WAKE, PIN(C, 13), GPIO_INPUT) - -GPIO(PP3300_USB_PD_EN, PIN(A, 15), GPIO_OUT_HIGH) -GPIO(USB_C0_CC1_VCONN1_EN, PIN(B, 1), GPIO_OUT_LOW) -GPIO(USB_C0_CC2_VCONN1_EN, PIN(B, 2), GPIO_OUT_LOW) -GPIO(USB_C1_CC1_VCONN1_EN, PIN(B, 9), GPIO_OUT_LOW) -GPIO(USB_C1_CC2_VCONN1_EN, PIN(F, 0), GPIO_OUT_LOW) - -GPIO(USB_C0_HOST_HIGH, PIN(A, 3), GPIO_OUT_LOW) -GPIO(USB_C1_HOST_HIGH, PIN(A, 7), GPIO_OUT_LOW) -GPIO(USB_C0_CC1_ODL, PIN(A, 11), GPIO_ODR_LOW) -GPIO(USB_C0_CC2_ODL, PIN(A, 12), GPIO_ODR_LOW) -GPIO(USB_C1_CC1_ODL, PIN(B, 12), GPIO_ODR_LOW) -GPIO(USB_C1_CC2_ODL, PIN(A, 8), GPIO_ODR_LOW) - -/* - * I2C pins should be configured as inputs until I2C module is - * initialized. This will avoid driving the lines unintentionally. - */ -GPIO(SLAVE_I2C_SCL, PIN(B, 6), GPIO_INPUT) -GPIO(SLAVE_I2C_SDA, PIN(B, 7), GPIO_INPUT) - -#ifdef BOARD_OAK_PD -GPIO(EC_INT, PIN(B, 5), GPIO_OUT_HIGH) -#else -GPIO(EC_INT, PIN(A, 14), GPIO_ODR_HIGH) -#endif - -UNIMPLEMENTED(ENTERING_RW) - -#if 0 -/* Alternate functions */ -GPIO(USB_C1_TX_CLKOUT, PIN(B, 15), GPIO_OUT_LOW) -GPIO(USB_C0_TX_CLKOUT, PIN(B, 8), GPIO_OUT_LOW) -GPIO(USB_C1_TX_CLKIN, PIN(B, 13), GPIO_OUT_LOW) -GPIO(USB_C0_TX_CLKIN, PIN(B, 3), GPIO_OUT_LOW) -#endif - -ALTERNATE(PIN_MASK(B, 0x0008), 0, MODULE_USB_PD, 0) /* SPI1: SCK(PB3) */ -ALTERNATE(PIN_MASK(B, 0x2000), 0, MODULE_USB_PD, 0) /* SPI2: SCK(PB13) */ -ALTERNATE(PIN_MASK(B, 0x0100), 2, MODULE_USB_PD, 0) /* TIM16_CH1: PB8 */ -ALTERNATE(PIN_MASK(B, 0x8000), 1, MODULE_USB_PD, 0) /* TIM15_CH2: PB15 */ -ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0) /* USART1: PA9/PA10 */ -ALTERNATE(PIN_MASK(B, 0x00c0), 1, MODULE_I2C, 0) /* I2C SLAVE:PB6/7 */ diff --git a/board/glados_pd/usb_pd_config.h b/board/glados_pd/usb_pd_config.h deleted file mode 100644 index 4eee78383d..0000000000 --- a/board/glados_pd/usb_pd_config.h +++ /dev/null @@ -1,327 +0,0 @@ -/* Copyright 2015 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 "adc.h" -#include "chip/stm32/registers.h" -#include "gpio.h" -#include "ec_commands.h" - -/* USB Power delivery board configuration */ - -#ifndef __CROS_EC_USB_PD_CONFIG_H -#define __CROS_EC_USB_PD_CONFIG_H - -/* Timer selection for baseband PD communication */ -#define TIM_CLOCK_PD_TX_C0 16 -#define TIM_CLOCK_PD_RX_C0 1 -#define TIM_CLOCK_PD_TX_C1 15 -#define TIM_CLOCK_PD_RX_C1 3 - -/* Timer channel */ -#define TIM_TX_CCR_C0 1 -#define TIM_RX_CCR_C0 1 -#define TIM_TX_CCR_C1 2 -#define TIM_RX_CCR_C1 1 - -#define TIM_CLOCK_PD_TX(p) ((p) ? TIM_CLOCK_PD_TX_C1 : TIM_CLOCK_PD_TX_C0) -#define TIM_CLOCK_PD_RX(p) ((p) ? TIM_CLOCK_PD_RX_C1 : TIM_CLOCK_PD_RX_C0) - -/* RX timer capture/compare register */ -#define TIM_CCR_C0 (&STM32_TIM_CCRx(TIM_CLOCK_PD_RX_C0, TIM_RX_CCR_C0)) -#define TIM_CCR_C1 (&STM32_TIM_CCRx(TIM_CLOCK_PD_RX_C1, TIM_RX_CCR_C1)) -#define TIM_RX_CCR_REG(p) ((p) ? TIM_CCR_C1 : TIM_CCR_C0) - -/* TX and RX timer register */ -#define TIM_REG_TX_C0 (STM32_TIM_BASE(TIM_CLOCK_PD_TX_C0)) -#define TIM_REG_RX_C0 (STM32_TIM_BASE(TIM_CLOCK_PD_RX_C0)) -#define TIM_REG_TX_C1 (STM32_TIM_BASE(TIM_CLOCK_PD_TX_C1)) -#define TIM_REG_RX_C1 (STM32_TIM_BASE(TIM_CLOCK_PD_RX_C1)) -#define TIM_REG_TX(p) ((p) ? TIM_REG_TX_C1 : TIM_REG_TX_C0) -#define TIM_REG_RX(p) ((p) ? TIM_REG_RX_C1 : TIM_REG_RX_C0) - -/* use the hardware accelerator for CRC */ -#define CONFIG_HW_CRC - -/* TX uses SPI1 on PB3-4 for port C0, SPI2 on PB 13-14 for port C1 */ -#define SPI_REGS(p) ((p) ? STM32_SPI2_REGS : STM32_SPI1_REGS) -static inline void spi_enable_clock(int port) -{ - if (port == 0) - STM32_RCC_APB2ENR |= STM32_RCC_PB2_SPI1; - else - STM32_RCC_APB1ENR |= STM32_RCC_PB1_SPI2; -} - -/* DMA for transmit uses DMA CH3 for C0 and DMA_CH5 for C1 */ -#define DMAC_SPI_TX(p) ((p) ? STM32_DMAC_CH5 : STM32_DMAC_CH3) - -/* RX uses COMP1 and TIM1 CH1 on port C0 and COMP2 and TIM3_CH1 for port C1*/ -/* C1 RX use CMP1, TIM3_CH1, DMA_CH4 */ -#define CMP1OUTSEL STM32_COMP_CMP1OUTSEL_TIM3_IC1 -/* C0 RX use CMP2, TIM1_CH1, DMA_CH2 */ -#define CMP2OUTSEL STM32_COMP_CMP2OUTSEL_TIM1_IC1 - -#define TIM_TX_CCR_IDX(p) ((p) ? TIM_TX_CCR_C1 : TIM_TX_CCR_C0) -#define TIM_RX_CCR_IDX(p) ((p) ? TIM_RX_CCR_C1 : TIM_RX_CCR_C0) -#define TIM_CCR_CS 1 - -/* - * EXTI line 21 is connected to the CMP1 output, - * EXTI line 22 is connected to the CMP2 output, - * C0 uses CMP2, and C1 uses CMP1. - */ -#define EXTI_COMP_MASK(p) ((p) ? BIT(21) : BIT(22)) - -#define IRQ_COMP STM32_IRQ_COMP -/* triggers packet detection on comparator falling edge */ -#define EXTI_XTSR STM32_EXTI_FTSR - -/* DMA for receive uses DMA_CH2 for C0 and DMA_CH4 for C1 */ -#define DMAC_TIM_RX(p) ((p) ? STM32_DMAC_CH4 : STM32_DMAC_CH2) - -/* the pins used for communication need to be hi-speed */ -static inline void pd_set_pins_speed(int port) -{ - if (port == 0) { - /* 40 MHz pin speed on SPI PB3&4, - * (USB_C0_TX_CLKIN & USB_C0_CC1_TX_DATA) - */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0x000003C0; - /* 40 MHz pin speed on TIM16_CH1 (PB8), - * (USB_C0_TX_CLKOUT) - */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0x00030000; - } else { - /* 40 MHz pin speed on SPI PB13/14, - * (USB_C1_TX_CLKIN & USB_C1_CCX_TX_DATA) - */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0x3C000000; - /* 40 MHz pin speed on TIM15_CH2 (PB15) */ - STM32_GPIO_OSPEEDR(GPIO_B) |= 0xC0000000; - } -} - -/* Reset SPI peripheral used for TX */ -static inline void pd_tx_spi_reset(int port) -{ - if (port == 0) { - /* Reset SPI1 */ - STM32_RCC_APB2RSTR |= BIT(12); - STM32_RCC_APB2RSTR &= ~BIT(12); - } else { - /* Reset SPI2 */ - STM32_RCC_APB1RSTR |= BIT(14); - STM32_RCC_APB1RSTR &= ~BIT(14); - } -} - -/* Drive the CC line from the TX block */ -static inline void pd_tx_enable(int port, int polarity) -{ - if (port == 0) { - /* put SPI function on TX pin */ - if (polarity) { - /* USB_C0_CC2_TX_DATA: PA6 is SPI1 MISO */ - gpio_set_alternate_function(GPIO_A, 0x0040, 0); - /* MCU ADC PA4 pin output low */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - & ~(3 << (2*4))) /* PA4 disable ADC */ - | (1 << (2*4)); /* Set as GPO */ - gpio_set_level(GPIO_USB_C0_CC2_PD, 0); - } else { - /* USB_C0_CC1_TX_DATA: PB4 is SPI1 MISO */ - gpio_set_alternate_function(GPIO_B, 0x0010, 0); - /* MCU ADC PA2 pin output low */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - & ~(3 << (2*2))) /* PA2 disable ADC */ - | (1 << (2*2)); /* Set as GPO */ - gpio_set_level(GPIO_USB_C0_CC1_PD, 0); - } - } else { - /* put SPI function on TX pin */ - /* USB_C1_CCX_TX_DATA: PB14 is SPI1 MISO */ - gpio_set_alternate_function(GPIO_B, 0x4000, 0); - /* MCU ADC pin output low */ - if (polarity) { - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - & ~(3 << (2*5))) /* PA5 disable ADC */ - | (1 << (2*5)); /* Set as GPO */ - gpio_set_level(GPIO_USB_C1_CC2_PD, 0); - } else { - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - & ~(3 << (2*0))) /* PA0 disable ADC */ - | (1 << (2*0)); /* Set as GPO */ - gpio_set_level(GPIO_USB_C1_CC1_PD, 0); - } - - /* - * There is a pin muxer to select CC1 or CC2 TX_DATA, - * Pin mux is controlled by USB_C1_CC2_TX_SEL pin, - * USB_C1_CC1_TX_DATA will be selected, if polarity is 0, - * USB_C1_CC2_TX_DATA will be selected, if polarity is 1 . - */ - gpio_set_level(GPIO_USB_C1_CC2_TX_SEL, polarity); - } -} - -/* Put the TX driver in Hi-Z state */ -static inline void pd_tx_disable(int port, int polarity) -{ - if (port == 0) { - if (polarity) { - /* Set TX_DATA to Hi-Z, PA6 is SPI1 MISO */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - & ~(3 << (2*6))); - /* set ADC PA4 pin to ADC function (Hi-Z) */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - | (3 << (2*4))); /* PA4 as ADC */ - } else { - /* Set TX_DATA to Hi-Z, PB4 is SPI1 MISO */ - STM32_GPIO_MODER(GPIO_B) = (STM32_GPIO_MODER(GPIO_B) - & ~(3 << (2*4))); - /* set ADC PA2 pin to ADC function (Hi-Z) */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - | (3 << (2*2))); /* PA2 as ADC */ - } - } else { - /* Set TX_DATA (PB14) Hi-Z */ - STM32_GPIO_MODER(GPIO_B) = (STM32_GPIO_MODER(GPIO_B) - & ~(3 << (2*14))); - if (polarity) { - /* set ADC PA5 pin to ADC function (Hi-Z) */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - | (3 << (2*5))); /* PA5 as ADC */ - } else { - /* set ADC PA0 pin to ADC function (Hi-Z) */ - STM32_GPIO_MODER(GPIO_A) = (STM32_GPIO_MODER(GPIO_A) - | (3 << (2*0))); /* PA0 as ADC */ - } - } -} - -/* we know the plug polarity, do the right configuration */ -static inline void pd_select_polarity(int port, int polarity) -{ - uint32_t val = STM32_COMP_CSR; - - /* Use window mode so that COMP1 and COMP2 share non-inverting input */ - val |= STM32_COMP_CMP1EN | STM32_COMP_CMP2EN | STM32_COMP_WNDWEN; - - if (port == 0) { - /* C0 use the right comparator inverted input for COMP2 */ - STM32_COMP_CSR = (val & ~STM32_COMP_CMP2INSEL_MASK) | - (polarity ? STM32_COMP_CMP2INSEL_INM4 /* PA4: C0_CC2 */ - : STM32_COMP_CMP2INSEL_INM6);/* PA2: C0_CC1 */ - } else { - /* C1 use the right comparator inverted input for COMP1 */ - STM32_COMP_CSR = (val & ~STM32_COMP_CMP1INSEL_MASK) | - (polarity ? STM32_COMP_CMP1INSEL_INM5 /* PA5: C1_CC2 */ - : STM32_COMP_CMP1INSEL_INM6);/* PA0: C1_CC1 */ - } -} - -/* Initialize pins used for TX and put them in Hi-Z */ -static inline void pd_tx_init(void) -{ - gpio_config_module(MODULE_USB_PD, 1); -} -static inline void pd_set_host_mode(int port, int enable) -{ - if (port == 0) { - if (enable) { - /* Pull up for host mode */ - gpio_set_flags(GPIO_USB_C0_HOST_HIGH, GPIO_OUTPUT); - gpio_set_level(GPIO_USB_C0_HOST_HIGH, 1); - /* High-Z is used for host mode. */ - gpio_set_level(GPIO_USB_C0_CC1_ODL, 1); - gpio_set_level(GPIO_USB_C0_CC2_ODL, 1); - /* Set TX Hi-Z */ - gpio_set_flags(GPIO_USB_C0_CC1_TX_DATA, GPIO_INPUT); - gpio_set_flags(GPIO_USB_C0_CC2_TX_DATA, GPIO_INPUT); - } else { - /* Set HOST_HIGH to High-Z for device mode. */ - gpio_set_flags(GPIO_USB_C0_HOST_HIGH, GPIO_INPUT); - /* Pull low for device mode. */ - gpio_set_level(GPIO_USB_C0_CC1_ODL, 0); - gpio_set_level(GPIO_USB_C0_CC2_ODL, 0); - } - } else { - if (enable) { - /* Pull up for host mode */ - gpio_set_flags(GPIO_USB_C1_HOST_HIGH, GPIO_OUTPUT); - gpio_set_level(GPIO_USB_C1_HOST_HIGH, 1); - /* High-Z is used for host mode. */ - gpio_set_level(GPIO_USB_C1_CC1_ODL, 1); - gpio_set_level(GPIO_USB_C1_CC2_ODL, 1); - /* Set TX Hi-Z */ - gpio_set_flags(GPIO_USB_C1_CCX_TX_DATA, GPIO_INPUT); - } else { - /* Set HOST_HIGH to High-Z for device mode. */ - gpio_set_flags(GPIO_USB_C1_HOST_HIGH, GPIO_INPUT); - /* Pull low for device mode. */ - gpio_set_level(GPIO_USB_C1_CC1_ODL, 0); - gpio_set_level(GPIO_USB_C1_CC2_ODL, 0); - } - } -} - -/** - * Initialize various GPIOs and interfaces to safe state at start of pd_task. - * - * These include: - * VBUS, charge path based on power role. - * Physical layer CC transmit. - * VCONNs disabled. - * - * @param port USB-C port number - * @param power_role Power role of device - */ -static inline void pd_config_init(int port, uint8_t power_role) -{ - /* - * Set CC pull resistors, and charge_en and vbus_en GPIOs to match - * the initial role. - */ - pd_set_host_mode(port, power_role); - - /* Initialize TX pins and put them in Hi-Z */ - pd_tx_init(); - - if (port == 0) { - gpio_set_level(GPIO_USB_C0_CC1_VCONN1_EN, 0); - gpio_set_level(GPIO_USB_C0_CC2_VCONN1_EN, 0); - } else { - gpio_set_level(GPIO_USB_C1_CC1_VCONN1_EN, 0); - gpio_set_level(GPIO_USB_C1_CC2_VCONN1_EN, 0); - } -} - -static inline int pd_adc_read(int port, int cc) -{ - if (port == 0) - return adc_read_channel(cc ? ADC_C0_CC2_PD : ADC_C0_CC1_PD); - else - return adc_read_channel(cc ? ADC_C1_CC2_PD : ADC_C1_CC1_PD); -} - -static inline void pd_set_vconn(int port, int polarity, int enable) -{ - /* Set VCONN on the opposite CC line from the polarity */ - if (port == 0) { - gpio_set_level(polarity ? GPIO_USB_C0_CC1_VCONN1_EN : - GPIO_USB_C0_CC2_VCONN1_EN, enable); - /* Set TX_DATA pin to Hi-Z */ - gpio_set_flags(polarity ? GPIO_USB_C0_CC1_TX_DATA : - GPIO_USB_C0_CC2_TX_DATA, GPIO_INPUT); - } else { - gpio_set_level(polarity ? GPIO_USB_C1_CC1_VCONN1_EN : - GPIO_USB_C1_CC2_VCONN1_EN, enable); - /* Set TX_DATA pin to Hi-Z */ - gpio_set_flags(GPIO_USB_C1_CCX_TX_DATA, GPIO_INPUT); - } -} - -#endif /* __CROS_EC_USB_PD_CONFIG_H */ - diff --git a/board/gru b/board/gru deleted file mode 120000 index 914012bd6e..0000000000 --- a/board/gru +++ /dev/null @@ -1 +0,0 @@ -kevin \ No newline at end of file diff --git a/board/kevin/board.c b/board/kevin/board.c deleted file mode 100644 index 7cafbebcef..0000000000 --- a/board/kevin/board.c +++ /dev/null @@ -1,9 +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. - */ - -/* Board is only valid for host tools */ -#ifndef HOST_TOOLS_BUILD -#error "Can only build for host tools" -#endif diff --git a/board/kevin/board.h b/board/kevin/board.h deleted file mode 100644 index 19953f2538..0000000000 --- a/board/kevin/board.h +++ /dev/null @@ -1,6 +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. - */ - -/* Board is only valid for host tools */ diff --git a/board/kevin/build.mk b/board/kevin/build.mk deleted file mode 100644 index ef2ea54f3f..0000000000 --- a/board/kevin/build.mk +++ /dev/null @@ -1,13 +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 -# - -# Board is only valid for host tools -CHIP:=npcx -CHIP_VARIANT:=npcx5m5g - -board-y=board.o diff --git a/board/kevin/ec.tasklist b/board/kevin/ec.tasklist deleted file mode 100644 index 7ab3eccbce..0000000000 --- a/board/kevin/ec.tasklist +++ /dev/null @@ -1,7 +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. - */ - -/* Board is only valid for host tools */ -#define CONFIG_TASK_LIST diff --git a/board/oak_pd b/board/oak_pd deleted file mode 120000 index 0b248b1273..0000000000 --- a/board/oak_pd +++ /dev/null @@ -1 +0,0 @@ -glados_pd \ No newline at end of file