summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-08-03 17:24:46 -0600
committerCommit Bot <commit-bot@chromium.org>2021-08-05 22:08:48 +0000
commit540c8f4113eed87b45dc0871e8862e12d3e19ade (patch)
treef286d0e716b7b7adf21cecf35abbef8e62157c51
parentc8af797e53fcacac5fde4c5f2beeb7bfce207146 (diff)
downloadchrome-ec-540c8f4113eed87b45dc0871e8862e12d3e19ade.tar.gz
Drop some obsolete boards
samus: AUE in M91, M92 pushed to stable already samus_pd: samus pd chip dragonegg: canceled cheza: canceled flapjack_scp: flapjack was canceled atlas_ish: atlas shipped, but ish project canceled sklrvp,glkrvp: these are pretty old intel reference boards and the portage overlays were already deleted ... assume nobody needs the EC firmware anymore either BUG=none BRANCH=none TEST=buildall Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I794867ac82f37ffa2267e2e59ac02bc381688c57 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3069716 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--baseboard/dragonegg/baseboard.c369
-rw-r--r--baseboard/dragonegg/baseboard.h142
-rw-r--r--baseboard/dragonegg/battery.c92
-rw-r--r--baseboard/dragonegg/build.mk11
-rw-r--r--baseboard/dragonegg/usb_pd_policy.c114
-rw-r--r--board/atlas_ish/board.c26
-rw-r--r--board/atlas_ish/board.h73
-rw-r--r--board/atlas_ish/build.mk13
-rw-r--r--board/atlas_ish/ec.tasklist14
-rw-r--r--board/atlas_ish/gpio.inc15
-rw-r--r--board/cheza/base_detect.c216
-rw-r--r--board/cheza/battery.c45
-rw-r--r--board/cheza/board.c707
-rw-r--r--board/cheza/board.h224
-rw-r--r--board/cheza/build.mk13
-rw-r--r--board/cheza/ec.tasklist22
-rw-r--r--board/cheza/gpio.inc169
-rw-r--r--board/cheza/led.c163
-rw-r--r--board/cheza/usb_pd_policy.c205
-rw-r--r--board/cheza/vif_override.xml3
-rw-r--r--board/dragonegg/battery.c65
-rw-r--r--board/dragonegg/board.c165
-rw-r--r--board/dragonegg/board.h85
-rw-r--r--board/dragonegg/build.mk16
-rw-r--r--board/dragonegg/ec.tasklist25
-rw-r--r--board/dragonegg/gpio.inc131
-rw-r--r--board/dragonegg/led.c81
-rw-r--r--board/dragonegg/vif_override.xml3
l---------board/flapjack_scp1
-rw-r--r--board/glkrvp/battery.c241
-rw-r--r--board/glkrvp/board.c186
-rw-r--r--board/glkrvp/board.h158
-rw-r--r--board/glkrvp/build.mk15
-rw-r--r--board/glkrvp/chg_usb_pd.c263
-rw-r--r--board/glkrvp/ec.tasklist25
-rw-r--r--board/glkrvp/gpio.inc180
-rw-r--r--board/glkrvp/usb_pd_policy.c75
-rw-r--r--board/glkrvp/vif_override.xml3
-rw-r--r--board/glkrvp_ite/battery.c237
-rw-r--r--board/glkrvp_ite/board.c209
-rw-r--r--board/glkrvp_ite/board.h155
-rw-r--r--board/glkrvp_ite/build.mk16
-rw-r--r--board/glkrvp_ite/chg_usb_pd.c261
-rw-r--r--board/glkrvp_ite/ec.tasklist24
-rw-r--r--board/glkrvp_ite/gpio.inc118
-rw-r--r--board/glkrvp_ite/usb_pd_policy.c52
-rw-r--r--board/glkrvp_ite/vif_override.xml3
-rw-r--r--board/samus/battery.c301
-rw-r--r--board/samus/board.c500
-rw-r--r--board/samus/board.h231
-rw-r--r--board/samus/build.mk16
-rw-r--r--board/samus/ec.tasklist22
-rw-r--r--board/samus/extpower.c433
-rw-r--r--board/samus/gpio.inc122
-rw-r--r--board/samus/panel.c195
-rw-r--r--board/samus/power_sequence.c563
-rw-r--r--board/samus_pd/board.c620
-rw-r--r--board/samus_pd/board.h160
-rw-r--r--board/samus_pd/build.mk17
-rw-r--r--board/samus_pd/ec.tasklist17
-rw-r--r--board/samus_pd/gpio.inc137
-rw-r--r--board/samus_pd/usb_mux.c117
-rw-r--r--board/samus_pd/usb_pd_config.h278
-rw-r--r--board/samus_pd/usb_pd_policy.c151
-rw-r--r--board/samus_pd/vif_override.xml3
l---------board/sklrvp_mchp/battery.c1
-rw-r--r--board/sklrvp_mchp/board.c344
-rw-r--r--board/sklrvp_mchp/board.h297
-rw-r--r--board/sklrvp_mchp/build.mk19
-rw-r--r--board/sklrvp_mchp/ec.tasklist25
-rw-r--r--board/sklrvp_mchp/gpio.inc312
-rw-r--r--board/sklrvp_mchp/lfw/vif_override.xml3
-rw-r--r--board/sklrvp_mchp/vif_override.xml3
l---------board/sklrvp_mchp1723/battery.c1
-rw-r--r--board/sklrvp_mchp1723/board.c344
-rw-r--r--board/sklrvp_mchp1723/board.h274
-rw-r--r--board/sklrvp_mchp1723/build.mk21
-rw-r--r--board/sklrvp_mchp1723/ec.tasklist25
-rw-r--r--board/sklrvp_mchp1723/gpio.inc259
-rw-r--r--board/sklrvp_mchp1723/vif_override.xml3
-rw-r--r--common/keyboard_scan.c41
-rw-r--r--common/lb_common.c12
-rw-r--r--driver/charger/bq24773.c9
-rwxr-xr-xutil/flash_ec6
84 files changed, 1 insertions, 11310 deletions
diff --git a/baseboard/dragonegg/baseboard.c b/baseboard/dragonegg/baseboard.c
deleted file mode 100644
index acbeadcf32..0000000000
--- a/baseboard/dragonegg/baseboard.c
+++ /dev/null
@@ -1,369 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* DragonEgg family-specific configuration */
-#include "charge_manager.h"
-#include "charge_state_v2.h"
-#include "chipset.h"
-#include "console.h"
-#include "driver/bc12/max14637.h"
-#include "driver/charger/bq25710.h"
-#include "driver/ppc/nx20p348x.h"
-#include "driver/ppc/sn5s330.h"
-#include "driver/ppc/syv682x.h"
-#include "driver/tcpm/it83xx_pd.h"
-#include "driver/tcpm/tcpci.h"
-#include "driver/tcpm/tcpm.h"
-#include "driver/tcpm/tusb422.h"
-#include "espi.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "i2c.h"
-#include "keyboard_scan.h"
-#include "power.h"
-#include "power/icelake.h"
-#include "timer.h"
-#include "util.h"
-#include "tcpm/tcpci.h"
-#include "usbc_ppc.h"
-#include "util.h"
-
-#define USB_PD_PORT_ITE_0 0
-#define USB_PD_PORT_ITE_1 1
-#define USB_PD_PORT_TUSB422_2 2
-
-#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_SYSTEM, format, ## args)
-
-#define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTFUSB(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-
-/******************************************************************************/
-/* Keyboard scan setting */
-__override struct keyboard_scan_config keyscan_config = {
- /*
- * F3 key scan cycle completed but scan input is not
- * charging to logic high when EC start scan next
- * column for "T" key, so we set .output_settle_us
- * to 80us from 50us.
- */
- .output_settle_us = 80,
- .debounce_down_us = 9 * MSEC,
- .debounce_up_us = 30 * MSEC,
- .scan_period_us = 3 * MSEC,
- .min_post_scan_delay_us = 1000,
- .poll_timeout_us = 100 * MSEC,
- .actual_key_mask = {
- 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
- 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca /* full set */
- },
-};
-
-/******************************************************************************/
-/* Wake up pins */
-const enum gpio_signal hibernate_wake_pins[] = {
- GPIO_LID_OPEN,
- GPIO_AC_PRESENT,
- GPIO_POWER_BUTTON_L,
-};
-const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins);
-
-/* I2C port map configuration */
-/* TODO(b/111125177): Increase these speeds to 400 kHz and verify operation */
-const struct i2c_port_t i2c_ports[] = {
- {"eeprom", IT83XX_I2C_CH_A, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA},
- {"sensor", IT83XX_I2C_CH_B, 100, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
- {"usbc12", IT83XX_I2C_CH_C, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA},
- {"usbc0", IT83XX_I2C_CH_E, 100, GPIO_I2C4_SCL, GPIO_I2C4_SDA},
- {"power", IT83XX_I2C_CH_F, 100, GPIO_I2C5_SCL, GPIO_I2C5_SDA}
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger Chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = BQ25710_SMBUS_ADDR1_FLAGS,
- .drv = &bq25710_drv,
- },
-};
-
-/******************************************************************************/
-/* PWROK signal configuration */
-/*
- * On Dragonegg the ALL_SYS_PWRGD, VCCST_PWRGD, PCH_PWROK, and SYS_PWROK
- * signals are handled by the board. No EC control needed.
- */
-const struct intel_x86_pwrok_signal pwrok_signal_assert_list[] = {};
-const int pwrok_signal_assert_count = ARRAY_SIZE(pwrok_signal_assert_list);
-
-const struct intel_x86_pwrok_signal pwrok_signal_deassert_list[] = {};
-const int pwrok_signal_deassert_count = ARRAY_SIZE(pwrok_signal_assert_list);
-
-/******************************************************************************/
-/* Chipset callbacks/hooks */
-
-/* Called on AP S5 -> S3 transition */
-static void baseboard_chipset_startup(void)
-{
- /* TODD(b/111121615): Need to fill out this hook */
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, baseboard_chipset_startup,
- HOOK_PRIO_DEFAULT);
-
-/* Called on AP S0iX -> S0 transition */
-static void baseboard_chipset_resume(void)
-{
- /* TODD(b/111121615): Need to fill out this hook */
- /* Enable display backlight. */
- gpio_set_level(GPIO_EDP_BKTLEN_OD, 1);
-}
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, baseboard_chipset_resume, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S0 -> S0iX transition */
-static void baseboard_chipset_suspend(void)
-{
- /* TODD(b/111121615): Need to fill out this hook */
- /* Enable display backlight. */
- gpio_set_level(GPIO_EDP_BKTLEN_OD, 0);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, baseboard_chipset_suspend,
- HOOK_PRIO_DEFAULT);
-
-/* Called on AP S3 -> S5 transition */
-static void baseboard_chipset_shutdown(void)
-{
- /* TODD(b/111121615): Need to fill out this hook */
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, baseboard_chipset_shutdown,
- HOOK_PRIO_DEFAULT);
-
-void board_hibernate(void)
-{
- int timeout_ms = 20;
- /*
- * Disable the TCPC power rail and the PP5000 rail before going into
- * hibernate. Note, these 2 rails are powered up as the default state in
- * gpio.inc.
- */
- gpio_set_level(GPIO_EN_PP5000, 0);
- /* Wait for PP5000 to drop before disabling PP3300_TCPC */
- while (gpio_get_level(GPIO_PP5000_PG_OD) && timeout_ms > 0) {
- msleep(1);
- timeout_ms--;
- }
- if (!timeout_ms)
- CPRINTS("PP5000_PG didn't go low after 20 msec");
- gpio_set_level(GPIO_EN_PP3300_TCPC, 0);
-}
-/******************************************************************************/
-/* USB-C TPCP Configuration */
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- [USB_PD_PORT_ITE_0] = {
- .bus_type = EC_BUS_TYPE_EMBEDDED,
- /* TCPC is embedded within EC so no i2c config needed */
- .drv = &it83xx_tcpm_drv,
- /* Alert is active-low, push-pull */
- .flags = 0,
- },
-
- [USB_PD_PORT_ITE_1] = {
- .bus_type = EC_BUS_TYPE_EMBEDDED,
- /* TCPC is embedded within EC so no i2c config needed */
- .drv = &it83xx_tcpm_drv,
- /* Alert is active-low, push-pull */
- .flags = 0,
- },
-
- [USB_PD_PORT_TUSB422_2] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_USBC1C2,
- .addr_flags = TUSB422_I2C_ADDR_FLAGS,
- },
- .drv = &tusb422_tcpm_drv,
- /* Alert is active-low, push-pull */
- .flags = 0,
- },
-};
-
-/******************************************************************************/
-/* USB-C PPC Configuration */
-struct ppc_config_t ppc_chips[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- [USB_PD_PORT_ITE_0] = {
- .i2c_port = I2C_PORT_USBC0,
- .i2c_addr_flags = SN5S330_ADDR0_FLAGS,
- .drv = &sn5s330_drv
- },
-
- [USB_PD_PORT_ITE_1] = {
- .i2c_port = I2C_PORT_USBC1C2,
- .i2c_addr_flags = SYV682X_ADDR0_FLAGS,
- .drv = &syv682x_drv
- },
-
- [USB_PD_PORT_TUSB422_2] = {
- .i2c_port = I2C_PORT_USBC1C2,
- .i2c_addr_flags = NX20P3481_ADDR2_FLAGS,
- .drv = &nx20p348x_drv,
- },
-};
-unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
-
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- [USB_PD_PORT_ITE_0] = {
- .usb_port = USB_PD_PORT_ITE_0,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
-
- [USB_PD_PORT_ITE_1] = {
- .usb_port = USB_PD_PORT_ITE_1,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
-
- [USB_PD_PORT_TUSB422_2] = {
- .usb_port = USB_PD_PORT_TUSB422_2,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
-};
-
-/******************************************************************************/
-/* BC 1.2 chip Configuration */
-const struct max14637_config_t max14637_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .chip_enable_pin = GPIO_USB_C0_BC12_VBUS_ON_ODL,
- .chg_det_pin = GPIO_USB_C0_BC12_CHG_MAX,
- .flags = MAX14637_FLAGS_ENABLE_ACTIVE_LOW,
- },
- {
- .chip_enable_pin = GPIO_USB_C1_BC12_VBUS_ON_ODL,
- .chg_det_pin = GPIO_USB_C1_BC12_CHG_MAX,
- .flags = MAX14637_FLAGS_ENABLE_ACTIVE_LOW,
- },
- {
- .chip_enable_pin = GPIO_USB_C2_BC12_VBUS_ON_ODL,
- .chg_det_pin = GPIO_USB_C2_BC12_CHG_MAX,
- .flags = MAX14637_FLAGS_ENABLE_ACTIVE_LOW,
- },
-};
-
-/* Power Delivery and charging functions */
-
-void baseboard_tcpc_init(void)
-{
- /* Enable PPC interrupts. */
- gpio_enable_interrupt(GPIO_USB_C0_TCPPC_INT_L);
- gpio_enable_interrupt(GPIO_USB_C2_TCPPC_INT_ODL);
-
- /* Enable TCPC interrupts. */
- gpio_enable_interrupt(GPIO_USB_C2_TCPC_INT_ODL);
-
-}
-DECLARE_HOOK(HOOK_INIT, baseboard_tcpc_init, HOOK_PRIO_INIT_I2C + 1);
-
-uint16_t tcpc_get_alert_status(void)
-{
- uint16_t status = 0;
- /*
- * Since C0/C1 TCPC are embedded within EC, we don't need the PDCMD
- * tasks.The (embedded) TCPC status since chip driver code will
- * handles its own interrupts and forward the correct events to
- * the PD_C0 task. See it83xx/intc.c
- */
-
- if (!gpio_get_level(GPIO_USB_C2_TCPC_INT_ODL))
- status = PD_STATUS_TCPC_ALERT_2;
-
- return status;
-}
-
-/**
- * Reset all system PD/TCPC MCUs -- currently only called from
- * handle_pending_reboot() in common/power.c just before hard
- * resetting the system. This logic is likely not needed as the
- * PP3300_A rail should be dropped on EC reset.
- */
-void board_reset_pd_mcu(void)
-{
- /*
- * C0 & C1: The internal TCPC on ITE EC does not have a reset signal,
- * but it will get reset when the EC gets reset.
- */
-}
-void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled)
-{
- /*
- * We ignore the cc_pin because the polarity should already be set
- * correctly in the PPC driver via the pd state machine.
- */
- if (ppc_set_vconn(port, enabled) != EC_SUCCESS)
- cprints(CC_USBPD, "C%d: Failed %sabling vconn",
- port, enabled ? "en" : "dis");
-}
-
-int board_set_active_charge_port(int port)
-{
- int is_valid_port = (port >= 0 &&
- port < CONFIG_USB_PD_PORT_MAX_COUNT);
- int i;
-
- if (!is_valid_port && port != CHARGE_PORT_NONE)
- return EC_ERROR_INVAL;
-
- if (port == CHARGE_PORT_NONE) {
- CPRINTSUSB("Disabling all charger ports");
-
- /* Disable all ports. */
- for (i = 0; i < ppc_cnt; i++) {
- /*
- * Do not return early if one fails otherwise we can
- * get into a boot loop assertion failure.
- */
- if (ppc_vbus_sink_enable(i, 0))
- CPRINTSUSB("Disabling C%d as sink failed.", i);
- }
-
- return EC_SUCCESS;
- }
-
- /* Check if the port is sourcing VBUS. */
- if (ppc_is_sourcing_vbus(port)) {
- CPRINTFUSB("Skip enable C%d", port);
- return EC_ERROR_INVAL;
- }
-
- CPRINTSUSB("New charge port: C%d", port);
-
- /*
- * Turn off the other ports' sink path FETs, before enabling the
- * requested charge port.
- */
- for (i = 0; i < ppc_cnt; i++) {
- if (i == port)
- continue;
-
- if (ppc_vbus_sink_enable(i, 0))
- CPRINTSUSB("C%d: sink path disable failed.", i);
- }
-
- /* Enable requested charge port. */
- if (ppc_vbus_sink_enable(port, 1)) {
- CPRINTSUSB("C%d: sink path enable failed.", port);
- return EC_ERROR_UNKNOWN;
- }
-
- return EC_SUCCESS;
-}
-
-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);
-}
diff --git a/baseboard/dragonegg/baseboard.h b/baseboard/dragonegg/baseboard.h
deleted file mode 100644
index 47edb8f314..0000000000
--- a/baseboard/dragonegg/baseboard.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* DragonEgg board configuration */
-
-#ifndef __CROS_EC_BASEBOARD_H
-#define __CROS_EC_BASEBOARD_H
-
-/* EC console commands */
-#define CONFIG_CMD_BATT_MFG_ACCESS
-
-#define CONFIG_CHIPSET_ICELAKE
-#define CONFIG_CHIPSET_RESET_HOOK
-#define CONFIG_EXTPOWER_GPIO
-#define CONFIG_HOSTCMD_ESPI
-#define CONFIG_HOSTCMD_ESPI_VW_SLP_S3
-#define CONFIG_HOSTCMD_ESPI_VW_SLP_S4
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_USE_HOST_EVENT
-#define CONFIG_POWER_BUTTON
-#define CONFIG_POWER_BUTTON_X86
-#define CONFIG_POWER_PP5000_CONTROL
-/* TODO(b/111155507): Don't enable SOiX for now */
-/* #define CONFIG_POWER_S0IX */
-/* #define CONFIG_POWER_TRACK_HOST_SLEEP_STATE */
-
-/* EC Defines */
-#define CONFIG_ADC
-#define CONFIG_PWM
-#define CONFIG_VBOOT_HASH
-#define CONFIG_VSTORE
-#define CONFIG_VSTORE_SLOT_COUNT 1
-
-/* CBI */
-/*
- * TODO (b/117174246): When EEPROMs are programmed, can use EEPROM for board
- * version. But for P0/P1 boards rely on GPIO signals.
- */
-/* #define CONFIG_BOARD_VERSION_CBI */
-#define CONFIG_CBI_EEPROM
-#define CONFIG_CRC8
-
-/* Common Keyboard Defines */
-#define CONFIG_CMD_KEYBOARD
-
-#define CONFIG_KEYBOARD_PROTOCOL_8042
-#define CONFIG_KEYBOARD_COL2_INVERTED
-#define CONFIG_KEYBOARD_PWRBTN_ASSERTS_KSI2
-
-/* Common charger defines */
-#define CONFIG_CHARGE_MANAGER
-#define CONFIG_CHARGE_RAMP_HW
-#define CONFIG_CHARGER
-#define CONFIG_CHARGER_BQ25710
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-#define CONFIG_CHARGER_INPUT_CURRENT 512 /* Allow low-current USB charging */
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-
-/* Common battery defines */
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
-#define CONFIG_BATTERY_FUEL_GAUGE
-#define CONFIG_BATTERY_HW_PRESENT_CUSTOM
-#define CONFIG_BATTERY_PRESENT_CUSTOM
-#define CONFIG_BATTERY_REVIVE_DISCONNECT
-#define CONFIG_BATTERY_SMART
-
-/* BC 1.2 Detection */
-#define CONFIG_BC12_DETECT_MAX14637
-#define CONFIG_USB_CHARGER
-
-/* USB Type C and USB PD defines */
-#undef CONFIG_USB_PD_TCPC_LOW_POWER
-#undef CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-#define CONFIG_USB_PD_VBUS_DETECT_PPC
-#define CONFIG_USB_PD_TCPM_ITE_ON_CHIP /* C0 & C1 TCPC: ITE EC */
-#define CONFIG_USB_PD_TCPM_TUSB422 /* C1 TCPC: TUSB422 */
-#define CONFIG_USB_POWER_DELIVERY
-#define CONFIG_USB_PD_TCPMV1
-#define CONFIG_USB_PD_ITE_ACTIVE_PORT_COUNT 2
-
-/*
- * TODO (b/111281797): DragonEgg has 3 ports. Only adding support for the port
- * on the MLB for now. In addition, this config option will likely move to
- * board.h as it likely board dependent and not same across all follower boards.
- */
-#define CONFIG_USB_PD_PORT_MAX_COUNT 3
-#define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_LOGGING
-#define CONFIG_USB_PD_ALT_MODE
-#define CONFIG_USB_PD_ALT_MODE_DFP
-#define CONFIG_USB_PD_DISCHARGE_PPC
-#define CONFIG_USB_PD_TRY_SRC
-#define CONFIG_USB_PD_VBUS_DETECT_PPC
-#define CONFIG_USB_PD_TCPM_TCPCI
-#define CONFIG_USB_MUX_VIRTUAL
-#define CONFIG_USBC_PPC_SN5S330 /* C0 PPC */
-#define CONFIG_USBC_PPC_SYV682X /* C1 PPC */
-#define CONFIG_USBC_PPC_NX20P3481 /* C2 PPC */
-#define CONFIG_USBC_PPC_VCONN
-#define CONFIG_USBC_SS_MUX
-#define CONFIG_USBC_VCONN
-#define CONFIG_USBC_VCONN_SWAP
-
-#define CONFIG_HOSTCMD_PD_CONTROL
-#define CONFIG_CMD_PPC_DUMP
-
-/* TODO(b/111281797): Use correct PD delay values */
-#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
-#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */
-
-/* TODO(b/111281797): Use correct PD power values */
-#define PD_OPERATING_POWER_MW 15000
-#define PD_MAX_POWER_MW 45000
-#define PD_MAX_CURRENT_MA 3000
-#define PD_MAX_VOLTAGE_MV 20000
-
-/* IT83XX config */
-#define CONFIG_IT83XX_VCC_1P8V
-/* I2C Bus Configuration */
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-#define I2C_PORT_BATTERY IT83XX_I2C_CH_F /* Shared bus */
-#define I2C_PORT_CHARGER IT83XX_I2C_CH_F /* Shared bus */
-#define I2C_PORT_SENSOR IT83XX_I2C_CH_B
-#define I2C_PORT_USBC0 IT83XX_I2C_CH_E
-#define I2C_PORT_USBC1C2 IT83XX_I2C_CH_C
-#define I2C_PORT_EEPROM IT83XX_I2C_CH_A
-#define I2C_ADDR_EEPROM_FLAGS 0x50
-
-#ifndef __ASSEMBLER__
-
-/* Forward declare common (within DragonEgg) board-specific functions */
-void board_reset_pd_mcu(void);
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BASEBOARD_H */
diff --git a/baseboard/dragonegg/battery.c b/baseboard/dragonegg/battery.c
deleted file mode 100644
index 0c4ec32903..0000000000
--- a/baseboard/dragonegg/battery.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* Copyright 2018 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_fuel_gauge.h"
-#include "battery_smart.h"
-#include "gpio.h"
-#include "system.h"
-
-static enum battery_present batt_pres_prev = BP_NOT_SURE;
-
-enum battery_present battery_hw_present(void)
-{
- enum battery_present bp;
- /* The GPIO is low when the battery is physically present */
- /*
- * TODO(b/111704193): The signal GPIO_EC_BATT_PRES_ODL has an issue
- * where it's floating (?) at ~2V when it should be low when the battery
- * is connected. The signal will read correctly following a cold reset
- * and the battery is connected, but following a warm reboot, it reads
- * high. In order to allow charging to work, replacing this with the a
- * check that the Operation Status register can be read. Once the HW
- * issue is resolved then change this back to checking the physical
- * presence pin.
- *
- */
-
- if (system_get_board_version() == 0)
- /* P0 boards can't use gpio signal */
- bp = (battery_get_disconnect_state() ==
- BATTERY_DISCONNECT_ERROR) ? BP_NO : BP_YES;
- else
- /* P1 boards can read presence from gpio signal */
- bp = gpio_get_level(GPIO_EC_BATT_PRES_ODL) ? BP_NO : BP_YES;
-
- return bp;
-}
-
-static int battery_init(void)
-{
- int batt_status;
-
- return battery_status(&batt_status) ? 0 :
- !!(batt_status & STATUS_INITIALIZED);
-}
-
-/*
- * Physical detection of battery.
- */
-static enum battery_present battery_check_present_status(void)
-{
- enum battery_present batt_pres;
-
- /* Get the physical hardware status */
- batt_pres = battery_hw_present();
-
- /*
- * If the battery is not physically connected, then no need to perform
- * any more checks.
- */
- if (batt_pres != BP_YES)
- return batt_pres;
-
- /*
- * If the battery is present now and was present last time we checked,
- * return early.
- */
- if (batt_pres == batt_pres_prev)
- return batt_pres;
-
- /*
- * Ensure that battery is:
- * 1. Not in cutoff
- * 2. Initialized
- */
- if (battery_is_cut_off() != BATTERY_CUTOFF_STATE_NORMAL ||
- battery_init() == 0) {
- batt_pres = BP_NO;
- }
-
- return batt_pres;
-}
-
-enum battery_present battery_is_present(void)
-{
- batt_pres_prev = battery_check_present_status();
- return batt_pres_prev;
-}
diff --git a/baseboard/dragonegg/build.mk b/baseboard/dragonegg/build.mk
deleted file mode 100644
index 7f3c8a3669..0000000000
--- a/baseboard/dragonegg/build.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- makefile -*-
-# Copyright 2018 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.
-#
-# DragonEgg baseboard specific files build
-#
-
-baseboard-y=baseboard.o
-baseboard-$(CONFIG_BATTERY_SMART)+=battery.o
-baseboard-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o
diff --git a/baseboard/dragonegg/usb_pd_policy.c b/baseboard/dragonegg/usb_pd_policy.c
deleted file mode 100644
index 85eeecdcf9..0000000000
--- a/baseboard/dragonegg/usb_pd_policy.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Shared USB-C policy for DragonEgg boards */
-
-#include "charge_manager.h"
-#include "common.h"
-#include "compile_time_macros.h"
-#include "console.h"
-#include "ec_commands.h"
-#include "gpio.h"
-#include "system.h"
-#include "tcpm/tcpci.h"
-#include "tcpm/tcpm.h"
-#include "usb_mux.h"
-#include "usb_pd.h"
-#include "usbc_ppc.h"
-#include "util.h"
-
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
-
-int pd_check_vconn_swap(int port)
-{
- /* Only allow vconn swap if pp5000_A rail is enabled */
- return gpio_get_level(GPIO_EN_PP5000);
-}
-
-__override void pd_execute_data_swap(int port,
- enum pd_data_role data_role)
-{
- /* On DragonEgg, only the first port can act as OTG */
- if (port == 0)
- gpio_set_level(GPIO_CHG_VAP_OTG_EN, (data_role == PD_ROLE_UFP));
-}
-
-void pd_power_supply_reset(int port)
-{
- int prev_en;
-
- prev_en = ppc_is_sourcing_vbus(port);
-
- /* Disable VBUS. */
- ppc_vbus_source_enable(port, 0);
-
- /* Enable discharge if we were previously sourcing 5V */
- if (prev_en)
- pd_set_vbus_discharge(port, 1);
-
-#ifdef CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT
- /* Give back the current quota we are no longer using */
- charge_manager_source_port(port, 0);
-#endif /* defined(CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT) */
-
- /* Notify host of power info change. */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-int pd_set_power_supply_ready(int port)
-{
- int rv;
-
- /* Disable charging. */
- rv = ppc_vbus_sink_enable(port, 0);
- if (rv)
- return rv;
-
- pd_set_vbus_discharge(port, 0);
-
- /* Provide Vbus. */
- rv = ppc_vbus_source_enable(port, 1);
- if (rv)
- return rv;
-
-#ifdef CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT
- /* Ensure we advertise the proper available current quota */
- charge_manager_source_port(port, 1);
-#endif /* defined(CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT) */
-
- /* Notify host of power info change. */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-
- return EC_SUCCESS;
-}
-
-#ifdef CONFIG_USB_PD_VBUS_DETECT_PPC
-int pd_snk_is_vbus_provided(int port)
-{
- /*
- * TODO(b/112661747): Until per port VBUS detection methods are
- * supported, DragonEgg needs to have CONFIG_USB_PD_VBUS_DETECT_PPC
- * defined, but the nx20p3481 PPC on port 2 does not support VBUS
- * detection. In the meantime, check specifically for port 2, and rely
- * on the TUSB422 TCPC for VBUS status. Note that the tcpm method can't
- * be called directly here as it's not supported unless
- * CONFIG_USB_PD_VBUS_DETECT_TCPC is defined.
- */
- int reg;
-
- if (port == 2) {
- if (tcpc_read(port, TCPC_REG_POWER_STATUS, &reg))
- return 0;
- return reg & TCPC_REG_POWER_STATUS_VBUS_PRES ? 1 : 0;
- }
- return ppc_is_vbus_present(port);
-}
-#endif
-
-int board_vbus_source_enabled(int port)
-{
- return ppc_is_sourcing_vbus(port);
-}
diff --git a/board/atlas_ish/board.c b/board/atlas_ish/board.c
deleted file mode 100644
index 066767638c..0000000000
--- a/board/atlas_ish/board.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Atlas ISH board-specific configuration */
-
-#include "console.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "math_util.h"
-#include "task.h"
-#include "uart.h"
-
-#include "gpio_list.h" /* has to be included last */
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-
-/* I2C port map */
-const struct i2c_port_t i2c_ports[] = {
- {"trackpad", I2C_PORT_TP, 1000,
- GPIO_I2C_PORT_TP_SCL, GPIO_I2C_PORT_TP_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
diff --git a/board/atlas_ish/board.h b/board/atlas_ish/board.h
deleted file mode 100644
index c9ee52395d..0000000000
--- a/board/atlas_ish/board.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Atlas ISH 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
-
-/*
- * By default, enable all console messages except HC, ACPI and event
- * The sensor stack is generating a lot of activity.
- */
-#undef CONFIG_HOSTCMD_DEBUG_MODE
-#define CONFIG_HOSTCMD_DEBUG_MODE HCDEBUG_OFF
-
-/* ISH specific*/
-#undef CONFIG_DEBUG_ASSERT
-#define CONFIG_CLOCK_CRYSTAL
-/* EC */
-#define CONFIG_FLASH_SIZE_BYTES 0x80000
-#define CONFIG_FPU
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-
-/* HID subsystem */
-#define CONFIG_HID_HECI
-
-/* I2C ports */
-#define I2C_PORT_TP ISH_I2C0
-#define GPIO_I2C_PORT_TP_SCL GPIO_ISH_I2C0_SCL
-#define GPIO_I2C_PORT_TP_SDA GPIO_ISH_I2C0_SDA
-
-/* Undefine unfeatures */
-#undef CONFIG_CMD_HASH
-#undef CONFIG_CMD_I2C_SCAN
-#undef CONFIG_CMD_I2C_XFER
-#undef CONFIG_CMD_KEYBOARD
-#undef CONFIG_CMD_POWER_AP
-#undef CONFIG_CMD_POWERINDEBUG
-#undef CONFIG_CMD_SHMEM
-#undef CONFIG_CMD_TIMERINFO
-#undef CONFIG_EXTPOWER
-#undef CONFIG_KEYBOARD_KSO_BASE
-#undef CONFIG_FLASH_CROS
-#undef CONFIG_FMAP
-#undef CONFIG_LID_SWITCH
-#undef CONFIG_SWITCH
-#undef CONFIG_WATCHDOG
-
-/* Modules we want to exclude */
-#undef CONFIG_CMD_ACCELS
-#undef CONFIG_CMD_HASH
-#undef CONFIG_CMD_TEMP_SENSOR
-#undef CONFIG_CMD_TIMERINFO
-#undef CONFIG_ADC
-#undef CONFIG_SHA256
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/atlas_ish/build.mk b/board/atlas_ish/build.mk
deleted file mode 100644
index 9cdcbb2253..0000000000
--- a/board/atlas_ish/build.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- makefile -*-
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-#
-
-CHIP:=ish
-CHIP_FAMILY:=ish3
-CHIP_VARIANT:=ish3p0
-
-board-y=board.o
diff --git a/board/atlas_ish/ec.tasklist b/board/atlas_ish/ec.tasklist
deleted file mode 100644
index 15f856131a..0000000000
--- a/board/atlas_ish/ec.tasklist
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Copyright 2018 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, HUGE_TASK_STACK_SIZE, 0) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_TASK_STACK_SIZE, 0) \
- TASK_ALWAYS(HECI_RX, heci_rx_task, NULL, HUGE_TASK_STACK_SIZE, 0) \
- TASK_ALWAYS(IPC_MNG, ipc_mng_task, NULL, LARGER_TASK_STACK_SIZE, 0)
diff --git a/board/atlas_ish/gpio.inc b/board/atlas_ish/gpio.inc
deleted file mode 100644
index 0ddac6ccbe..0000000000
--- a/board/atlas_ish/gpio.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2018 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.
- */
-
-/* Trackpad interrupt pin */
-/*TODO: touchpad driver is not in gerrit yet, so comment out this for now */
-/*GPIO_INT(TOUCHPAD_INT, PIN(1), GPIO_INT_F_FALLING, touchpad_event)*/
-
-/* Those are used by common code, don't change*/
-UNIMPLEMENTED(ENTERING_RW)
-UNIMPLEMENTED(ISH_I2C0_SDA)
-UNIMPLEMENTED(ISH_I2C0_SCL)
diff --git a/board/cheza/base_detect.c b/board/cheza/base_detect.c
deleted file mode 100644
index 1703588dd0..0000000000
--- a/board/cheza/base_detect.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Lux base without battery detection code */
-
-#include "adc.h"
-#include "adc_chip.h"
-#include "board.h"
-#include "chipset.h"
-#include "common.h"
-#include "console.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "system.h"
-#include "tablet_mode.h"
-#include "task.h"
-#include "timer.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_USB, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USB, format, ## args)
-
-/* Base detection and debouncing */
-#define BASE_DETECT_DEBOUNCE_US (20 * MSEC)
-
-/*
- * If the base status is unclear (i.e. not within expected ranges, read
- * the ADC value again every 500ms.
- */
-#define BASE_DETECT_RETRY_US (500 * MSEC)
-
-/*
- * When base is disconnected, and gets connected:
- * Lid has 1M pull-up, base has 200K pull-down, so the ADC
- * value should be around 200/(200+1000)*3300 = 550.
- *
- * Idle value should be ~3300: lid has 1M pull-up, and nothing else (i.e. ADC
- * maxing out at 2813).
- */
-#define BASE_DISCONNECTED_CONNECT_MIN_MV 450
-#define BASE_DISCONNECTED_CONNECT_MAX_MV 650
-
-#define BASE_DISCONNECTED_MIN_MV 2800
-#define BASE_DISCONNECTED_MAX_MV (ADC_MAX_VOLT+1)
-
-/*
- * When base is connected, then gets disconnected:
- * Lid has 1M pull-up, lid has 10.0K pull-down, so the ADC
- * value should be around 10.0/(10.0+1000)*3300 = 33.
- *
- * Idle level when connected should be:
- * Lid has 10K pull-down, base has 5.1K pull-up, so the ADC value should be
- * around 10.0/(10.0+5.1)*3300 = 2185 (actual value is 2153 as there is still
- * a 1M pull-up on lid, and 200K pull-down on base).
- */
-#define BASE_CONNECTED_DISCONNECT_MIN_MV 20
-#define BASE_CONNECTED_DISCONNECT_MAX_MV 45
-
-#define BASE_CONNECTED_MIN_MV 2050
-#define BASE_CONNECTED_MAX_MV 2300
-
-static uint64_t base_detect_debounce_time;
-
-static void base_detect_deferred(void);
-DECLARE_DEFERRED(base_detect_deferred);
-
-enum base_status {
- BASE_UNKNOWN = 0,
- BASE_DISCONNECTED = 1,
- BASE_CONNECTED = 2,
-};
-
-static enum base_status current_base_status;
-
-/*
- * This function is called whenever there is a change in the base detect
- * status. Actions taken include:
- * 1. Enable/disable pull-down on half-duplex UART line
- * 2. Enable/disable power to base.
- * 3. Indicate mode change to host.
- * 4. Indicate tablet mode to host. Current assumption is that if base is
- * disconnected then the system is in tablet mode, else if the base is
- * connected, then the system is not in tablet mode.
- */
-static void base_detect_change(enum base_status status)
-{
- int connected = (status == BASE_CONNECTED);
-
- if (current_base_status == status)
- return;
-
- current_base_status = status;
-
- /* Enable pull-down if connected. */
- gpio_set_level(GPIO_EN_CC_LID_BASE_PULLDN, !connected);
-
- /* We don't enable dual-battery support. Set the base power directly. */
- gpio_set_level(GPIO_EN_PPVAR_VAR_BASE, connected);
-
- tablet_set_mode(!connected, TABLET_TRIGGER_BASE);
-}
-
-static void print_base_detect_value(const char *str, int v)
-{
- CPRINTS("Base %s. ADC: %d", str, v);
-}
-
-static void base_detect_deferred(void)
-{
- uint64_t time_now = get_time().val;
- int v;
-
- if (base_detect_debounce_time > time_now) {
- hook_call_deferred(&base_detect_deferred_data,
- base_detect_debounce_time - time_now);
- return;
- }
-
- v = adc_read_channel(ADC_BASE_DET);
- if (v == ADC_READ_ERROR)
- goto retry;
-
- if (current_base_status == BASE_CONNECTED) {
- if (v >= BASE_CONNECTED_DISCONNECT_MIN_MV &&
- v <= BASE_CONNECTED_DISCONNECT_MAX_MV) {
- print_base_detect_value("disconnected", v);
- base_detect_change(BASE_DISCONNECTED);
- return;
- } else if (v >= BASE_CONNECTED_MIN_MV &&
- v <= BASE_CONNECTED_MAX_MV) {
- /* Still connected. */
- return;
- }
- } else { /* Disconnected or unknown. */
- if (v >= BASE_DISCONNECTED_CONNECT_MIN_MV &&
- v <= BASE_DISCONNECTED_CONNECT_MAX_MV) {
- print_base_detect_value("connected", v);
- base_detect_change(BASE_CONNECTED);
- return;
- } else if (v >= BASE_DISCONNECTED_MIN_MV &&
- v <= BASE_DISCONNECTED_MAX_MV) {
- if (current_base_status == BASE_UNKNOWN) {
- print_base_detect_value("disconnected", v);
- base_detect_change(BASE_DISCONNECTED);
- }
- /* Still disconnected. */
- return;
- }
- }
-
-retry:
- print_base_detect_value("status unclear", v);
- /* Unclear base status, schedule again in a while. */
- hook_call_deferred(&base_detect_deferred_data,
- BASE_DETECT_RETRY_US);
-}
-
-void base_detect_interrupt(enum gpio_signal signal)
-{
- uint64_t time_now = get_time().val;
-
- if (base_detect_debounce_time <= time_now)
- hook_call_deferred(&base_detect_deferred_data,
- BASE_DETECT_DEBOUNCE_US);
-
- base_detect_debounce_time = time_now + BASE_DETECT_DEBOUNCE_US;
-}
-
-static void base_detect_enable(void)
-{
- /* Enable base detection interrupt. */
- base_detect_debounce_time = get_time().val;
- hook_call_deferred(&base_detect_deferred_data, 0);
- gpio_enable_interrupt(GPIO_CC_LID_BASE_ADC);
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, base_detect_enable, HOOK_PRIO_DEFAULT);
-
-static void base_detect_disable(void)
-{
- /* Disable base detection interrupt and disable power to base. */
- gpio_disable_interrupt(GPIO_CC_LID_BASE_ADC);
- base_detect_change(BASE_DISCONNECTED);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, base_detect_disable, HOOK_PRIO_DEFAULT);
-
-static void base_init(void)
-{
- /*
- * Make sure base power and pull-down are off. This will reset the base
- * if it is already connected.
- */
- gpio_set_level(GPIO_EN_PPVAR_VAR_BASE, 0);
- gpio_set_level(GPIO_EN_CC_LID_BASE_PULLDN, 1);
-}
-DECLARE_HOOK(HOOK_INIT, base_init, HOOK_PRIO_DEFAULT+1);
-
-void base_force_state(enum ec_set_base_state_cmd state)
-{
- if (state == EC_SET_BASE_STATE_ATTACH) {
- gpio_disable_interrupt(GPIO_CC_LID_BASE_ADC);
- base_detect_change(BASE_CONNECTED);
- CPRINTS("BD forced connected");
- } else if (state == EC_SET_BASE_STATE_DETACH) {
- gpio_disable_interrupt(GPIO_CC_LID_BASE_ADC);
- base_detect_change(BASE_DISCONNECTED);
- CPRINTS("BD forced disconnected");
- } else {
- hook_call_deferred(&base_detect_deferred_data, 0);
- gpio_enable_interrupt(GPIO_CC_LID_BASE_ADC);
- CPRINTS("BD forced reset");
- }
-}
diff --git a/board/cheza/battery.c b/board/cheza/battery.c
deleted file mode 100644
index ab98864a9a..0000000000
--- a/board/cheza/battery.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright 2018 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"
-
-/* Shutdown mode parameter to write to manufacturer access register */
-#define SB_SHIP_MODE_REG SB_MANUFACTURER_ACCESS
-#define SB_SHUTDOWN_DATA 0x0010
-
-/* Battery info */
-static const struct battery_info info = {
- .voltage_max = 8800,
- .voltage_normal = 7700,
- .voltage_min = 6000,
- .precharge_current = 256, /* mA */
- .start_charging_min_c = 0,
- .start_charging_max_c = 45,
- .charging_min_c = 0,
- .charging_max_c = 45,
- .discharging_min_c = -10,
- .discharging_max_c = 60,
-};
-
-const struct battery_info *battery_get_info(void)
-{
- return &info;
-}
-
-int board_cut_off_battery(void)
-{
- int rv;
-
- /* Ship mode command must be sent twice to take effect */
- rv = sb_write(SB_SHIP_MODE_REG, SB_SHUTDOWN_DATA);
-
- if (rv != EC_SUCCESS)
- return rv;
-
- return sb_write(SB_SHIP_MODE_REG, SB_SHUTDOWN_DATA);
-}
diff --git a/board/cheza/board.c b/board/cheza/board.c
deleted file mode 100644
index daf0a4af5c..0000000000
--- a/board/cheza/board.c
+++ /dev/null
@@ -1,707 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Cheza board-specific configuration */
-
-#include "adc_chip.h"
-#include "als.h"
-#include "button.h"
-#include "charge_manager.h"
-#include "charge_state.h"
-#include "chipset.h"
-#include "extpower.h"
-#include "driver/accelgyro_bmi_common.h"
-#include "driver/als_opt3001.h"
-#include "driver/charger/isl923x.h"
-#include "driver/ppc/sn5s330.h"
-#include "driver/tcpm/anx74xx.h"
-#include "driver/tcpm/ps8xxx.h"
-#include "driver/tcpm/tcpci.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "lid_switch.h"
-#include "pi3usb9281.h"
-#include "power.h"
-#include "power_button.h"
-#include "pwm.h"
-#include "pwm_chip.h"
-#include "system.h"
-#include "shi_chip.h"
-#include "switch.h"
-#include "task.h"
-#include "usb_charge.h"
-#include "usb_mux.h"
-#include "usb_pd.h"
-#include "usbc_ocp.h"
-#include "usbc_ppc.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-
-#define USB_PD_PORT_ANX3429 0
-#define USB_PD_PORT_PS8751 1
-
-/* Forward declaration */
-static void tcpc_alert_event(enum gpio_signal signal);
-static void vbus0_evt(enum gpio_signal signal);
-static void vbus1_evt(enum gpio_signal signal);
-static void usb0_evt(enum gpio_signal signal);
-static void usb1_evt(enum gpio_signal signal);
-static void ppc_interrupt(enum gpio_signal signal);
-static void anx74xx_cable_det_interrupt(enum gpio_signal signal);
-static void usb1_oc_evt(enum gpio_signal signal);
-
-#include "gpio_list.h"
-
-/* GPIO Interrupt Handlers */
-static void tcpc_alert_event(enum gpio_signal signal)
-{
- int port = -1;
-
- switch (signal) {
- case GPIO_USB_C0_PD_INT_ODL:
- port = 0;
- break;
- case GPIO_USB_C1_PD_INT_ODL:
- port = 1;
- break;
- default:
- return;
- }
-
- schedule_deferred_pd_interrupt(port);
-}
-
-static void vbus0_evt(enum gpio_signal signal)
-{
- /* VBUS present GPIO is inverted */
- usb_charger_vbus_change(0, !gpio_get_level(GPIO_USB_C0_VBUS_DET_L));
- task_wake(TASK_ID_PD_C0);
-}
-
-static void vbus1_evt(enum gpio_signal signal)
-{
- /* VBUS present GPIO is inverted */
- usb_charger_vbus_change(1, !gpio_get_level(GPIO_USB_C1_VBUS_DET_L));
- task_wake(TASK_ID_PD_C1);
-}
-
-static void usb0_evt(enum gpio_signal signal)
-{
- task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12);
-}
-
-static void usb1_evt(enum gpio_signal signal)
-{
- task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12);
-}
-
-static void anx74xx_cable_det_handler(void)
-{
- int cable_det = gpio_get_level(GPIO_USB_C0_CABLE_DET);
- int reset_n = gpio_get_level(GPIO_USB_C0_PD_RST_R_L);
-
- /*
- * A cable_det low->high transition was detected. If following the
- * debounce time, cable_det is high, and reset_n is low, then ANX3429 is
- * currently in standby mode and needs to be woken up. Set the
- * TCPC_RESET event which will bring the ANX3429 out of standby
- * mode. Setting this event is gated on reset_n being low because the
- * ANX3429 will always set cable_det when transitioning to normal mode
- * and if in normal mode, then there is no need to trigger a tcpc reset.
- */
- if (cable_det && !reset_n)
- task_set_event(TASK_ID_PD_C0, PD_EVENT_TCPC_RESET);
-}
-DECLARE_DEFERRED(anx74xx_cable_det_handler);
-
-static void anx74xx_cable_det_interrupt(enum gpio_signal signal)
-{
- /* debounce for 2 msec */
- hook_call_deferred(&anx74xx_cable_det_handler_data, (2 * MSEC));
-}
-
-static void ppc_interrupt(enum gpio_signal signal)
-{
- /* Only port-0 uses PPC chip */
- sn5s330_interrupt(0);
-}
-
-static void usb1_oc_evt_deferred(void)
-{
- /* Only port-1 has overcurrent GPIO interrupt */
- board_overcurrent_event(1, 1);
-}
-DECLARE_DEFERRED(usb1_oc_evt_deferred);
-
-static void usb1_oc_evt(enum gpio_signal signal)
-{
- /* Switch the context to handle the event */
- hook_call_deferred(&usb1_oc_evt_deferred_data, 0);
-}
-
-/* Wake-up pins for hibernate */
-const enum gpio_signal hibernate_wake_pins[] = {
- GPIO_LID_OPEN,
- GPIO_AC_PRESENT,
- GPIO_POWER_BUTTON_L,
- GPIO_EC_RST_ODL,
-};
-const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins);
-
-/* ADC channels */
-const struct adc_t adc_channels[] = {
- /* Base detection */
- [ADC_BASE_DET] = {
- "BASE_DET",
- NPCX_ADC_CH0,
- ADC_MAX_VOLT,
- ADC_READ_MAX + 1,
- 0
- },
- /* Measure VBUS through a 1/10 voltage divider */
- [ADC_VBUS] = {
- "VBUS",
- NPCX_ADC_CH1,
- ADC_MAX_VOLT * 10,
- ADC_READ_MAX + 1,
- 0
- },
- /*
- * Adapter current output or battery charging/discharging current (uV)
- * 18x amplification on charger side.
- */
- [ADC_AMON_BMON] = {
- "AMON_BMON",
- NPCX_ADC_CH2,
- ADC_MAX_VOLT * 1000 / 18,
- ADC_READ_MAX + 1,
- 0
- },
- /*
- * ISL9238 PSYS output is 1.44 uA/W over 5.6K resistor, to read
- * 0.8V @ 99 W, i.e. 124000 uW/mV. Using ADC_MAX_VOLT*124000 and
- * ADC_READ_MAX+1 as multiplier/divider leads to overflows, so we
- * only divide by 2 (enough to avoid precision issues).
- */
- [ADC_PSYS] = {
- "PSYS",
- NPCX_ADC_CH3,
- ADC_MAX_VOLT * 124000 * 2 / (ADC_READ_MAX + 1),
- 2,
- 0
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
-
-const struct pwm_t pwm_channels[] = {
- /* TODO(waihong): Assign a proper frequency. */
- [PWM_CH_DISPLIGHT] = { 5, 0, 4800 },
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-
-
-/* Power signal list. Must match order of enum power_signal. */
-const struct power_signal_info power_signal_list[] = {
- [SDM845_AP_RST_ASSERTED] = {
- GPIO_AP_RST_L,
- POWER_SIGNAL_ACTIVE_LOW | POWER_SIGNAL_DISABLE_AT_BOOT,
- "AP_RST_ASSERTED"},
- [SDM845_PS_HOLD] = {
- GPIO_PS_HOLD,
- POWER_SIGNAL_ACTIVE_HIGH,
- "PS_HOLD"},
- [SDM845_PMIC_FAULT_L] = {
- GPIO_PMIC_FAULT_L,
- POWER_SIGNAL_ACTIVE_HIGH | POWER_SIGNAL_DISABLE_AT_BOOT,
- "PMIC_FAULT_L"},
- [SDM845_POWER_GOOD] = {
- GPIO_POWER_GOOD,
- POWER_SIGNAL_ACTIVE_HIGH,
- "POWER_GOOD"},
- [SDM845_WARM_RESET] = {
- GPIO_WARM_RESET_L,
- POWER_SIGNAL_ACTIVE_HIGH,
- "WARM_RESET_L"},
-};
-BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
-
-/* I2C port map */
-const struct i2c_port_t i2c_ports[] = {
- {"power", I2C_PORT_POWER, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA},
- /* TODO(b/78189419): ANX7428 operates at 400kHz initially. */
- {"tcpc0", I2C_PORT_TCPC0, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
- {"tcpc1", I2C_PORT_TCPC1, 1000, GPIO_I2C2_SCL, GPIO_I2C2_SDA},
- {"eeprom", I2C_PORT_EEPROM, 400, GPIO_I2C5_SCL, GPIO_I2C5_SDA},
- {"sensor", I2C_PORT_SENSOR, 400, GPIO_I2C7_SCL, GPIO_I2C7_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Power Path Controller */
-struct ppc_config_t ppc_chips[] = {
- {
- .i2c_port = I2C_PORT_TCPC0,
- .i2c_addr_flags = SN5S330_ADDR0_FLAGS,
- .drv = &sn5s330_drv
- },
- /*
- * Port 1 uses two power switches instead:
- * NX5P3290: to source VBUS
- * NX20P5090: to sink VBUS (charge battery)
- * which are controlled directly by EC GPIOs.
- */
-};
-unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips);
-
-/* TCPC mux configuration */
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- /* Alert is active-low, open-drain */
- [USB_PD_PORT_ANX3429] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_TCPC0,
- .addr_flags = 0x28,
- },
- .drv = &anx74xx_tcpm_drv,
- .flags = TCPC_FLAGS_ALERT_OD,
- },
- [USB_PD_PORT_PS8751] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_TCPC1,
- .addr_flags = 0x0B,
- },
- .drv = &ps8xxx_tcpm_drv,
- },
-};
-
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-};
-
-/*
- * Port-0 USB mux driver.
- *
- * The USB mux is handled by TCPC chip and the HPD is handled by AP.
- * Redirect to anx74xx_tcpm_usb_mux_driver but override the get() function
- * to check the HPD_IRQ mask from virtual_usb_mux_driver.
- */
-static int port0_usb_mux_init(const struct usb_mux *me)
-{
- return anx74xx_tcpm_usb_mux_driver.init(me);
-}
-
-static int port0_usb_mux_set(const struct usb_mux *me, mux_state_t mux_state)
-{
- return anx74xx_tcpm_usb_mux_driver.set(me, mux_state);
-}
-
-static int port0_usb_mux_get(const struct usb_mux *me, mux_state_t *mux_state)
-{
- int rv;
- mux_state_t virtual_mux_state;
-
- rv = anx74xx_tcpm_usb_mux_driver.get(me, mux_state);
- rv |= virtual_usb_mux_driver.get(me, &virtual_mux_state);
-
- if (virtual_mux_state & USB_PD_MUX_HPD_IRQ)
- *mux_state |= USB_PD_MUX_HPD_IRQ;
- return rv;
-}
-
-const struct usb_mux_driver port0_usb_mux_driver = {
- .init = port0_usb_mux_init,
- .set = port0_usb_mux_set,
- .get = port0_usb_mux_get,
-};
-
-/*
- * Port-1 USB mux driver.
- *
- * The USB mux is handled by TCPC chip and the HPD is handled by AP.
- * Redirect to tcpci_tcpm_usb_mux_driver but override the get() function
- * to check the HPD_IRQ mask from virtual_usb_mux_driver.
- */
-static int port1_usb_mux_init(const struct usb_mux *me)
-{
- return tcpci_tcpm_usb_mux_driver.init(me);
-}
-
-static int port1_usb_mux_set(const struct usb_mux *me, mux_state_t mux_state)
-{
- return tcpci_tcpm_usb_mux_driver.set(me, mux_state);
-}
-
-static int port1_usb_mux_get(const struct usb_mux *me, mux_state_t *mux_state)
-{
- int rv;
- mux_state_t virtual_mux_state;
-
- rv = tcpci_tcpm_usb_mux_driver.get(me, mux_state);
- rv |= virtual_usb_mux_driver.get(me, &virtual_mux_state);
-
- if (virtual_mux_state & USB_PD_MUX_HPD_IRQ)
- *mux_state |= USB_PD_MUX_HPD_IRQ;
- return rv;
-}
-
-static int port1_usb_mux_enter_low_power(const struct usb_mux *me)
-{
- return tcpci_tcpm_usb_mux_driver.enter_low_power_mode(me);
-}
-
-const struct usb_mux_driver port1_usb_mux_driver = {
- .init = &port1_usb_mux_init,
- .set = &port1_usb_mux_set,
- .get = &port1_usb_mux_get,
- .enter_low_power_mode = &port1_usb_mux_enter_low_power,
-};
-
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .usb_port = 0,
- .driver = &port0_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
- {
- .usb_port = 1,
- .driver = &port1_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- }
-};
-
-/* BC1.2 */
-struct pi3usb9281_config pi3usb9281_chips[] = {
- {
- .i2c_port = I2C_PORT_POWER,
- },
- {
- .i2c_port = I2C_PORT_EEPROM,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) ==
- CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT);
-
-/* Initialize board. */
-static void board_init(void)
-{
- /* Enable BC1.2 VBUS detection */
- gpio_enable_interrupt(GPIO_USB_C0_VBUS_DET_L);
- gpio_enable_interrupt(GPIO_USB_C1_VBUS_DET_L);
-
- /* Enable BC1.2 interrupts */
- gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L);
- gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L);
-
- /* Enable interrupt for BMI160 sensor */
- gpio_enable_interrupt(GPIO_ACCEL_GYRO_INT_L);
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
-
-void board_tcpc_init(void)
-{
- /* Only reset TCPC if not sysjump */
- if (!system_jumped_late()) {
- /* TODO(crosbug.com/p/61098): How long do we need to wait? */
- board_reset_pd_mcu();
- }
-
- /* Enable PPC interrupts */
- gpio_enable_interrupt(GPIO_USB_C0_SWCTL_INT_ODL);
-
- /* Enable TCPC interrupts */
- gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C1_PD_INT_ODL);
-
- /* Enable CABLE_DET interrupt for ANX3429 wake from standby */
- gpio_enable_interrupt(GPIO_USB_C0_CABLE_DET);
-
- /*
- * Initialize HPD to low; after sysjump SOC needs to see
- * HPD pulse to enable video path
- */
- for (int port = 0; port < CONFIG_USB_PD_PORT_MAX_COUNT; ++port)
- usb_mux_hpd_update(port, 0, 0);
-}
-DECLARE_HOOK(HOOK_INIT, board_tcpc_init, HOOK_PRIO_INIT_I2C+1);
-
-/* Called on AP S0 -> S3 transition */
-static void board_chipset_suspend(void)
-{
- /*
- * Turn off display backlight in S3. AP has its own control. The EC's
- * and the AP's will be AND'ed together in hardware.
- */
- gpio_set_level(GPIO_ENABLE_BACKLIGHT, 0);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S3 -> S0 transition */
-static void board_chipset_resume(void)
-{
- /* Turn on display backlight in S0. */
- gpio_set_level(GPIO_ENABLE_BACKLIGHT, 1);
-}
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S5 -> S3 transition */
-static void board_chipset_startup(void)
-{
- gpio_set_flags(GPIO_USB_C1_OC_ODL, GPIO_INT_FALLING | GPIO_PULL_UP);
- gpio_enable_interrupt(GPIO_USB_C1_OC_ODL);
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S3 -> S5 transition */
-static void board_chipset_shutdown(void)
-{
- /* 5V is off in S5. Disable pull-up to prevent current leak. */
- gpio_disable_interrupt(GPIO_USB_C1_OC_ODL);
- gpio_set_flags(GPIO_USB_C1_OC_ODL, GPIO_INT_FALLING);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT);
-
-/**
- * Power on (or off) a single TCPC.
- * minimum on/off delays are included.
- *
- * @param port Port number of TCPC.
- * @param mode 0: power off, 1: power on.
- */
-void board_set_tcpc_power_mode(int port, int mode)
-{
- if (port != USB_PD_PORT_ANX3429)
- return;
-
- if (mode) {
- gpio_set_level(GPIO_EN_USB_C0_TCPC_PWR, 1);
- msleep(ANX74XX_PWR_H_RST_H_DELAY_MS);
- gpio_set_level(GPIO_USB_C0_PD_RST_R_L, 1);
- } else {
- gpio_set_level(GPIO_USB_C0_PD_RST_R_L, 0);
- msleep(ANX74XX_RST_L_PWR_L_DELAY_MS);
- gpio_set_level(GPIO_EN_USB_C0_TCPC_PWR, 0);
- msleep(ANX74XX_PWR_L_PWR_H_DELAY_MS);
- }
-}
-
-void board_reset_pd_mcu(void)
-{
- /* Assert reset */
- gpio_set_level(GPIO_USB_C0_PD_RST_R_L, 0);
- gpio_set_level(GPIO_USB_C1_PD_RST_ODL, 0);
-
- msleep(MAX(1, ANX74XX_RST_L_PWR_L_DELAY_MS));
- gpio_set_level(GPIO_USB_C1_PD_RST_ODL, 1);
- /* Disable TCPC0 (anx3429) power */
- gpio_set_level(GPIO_EN_USB_C0_TCPC_PWR, 0);
-
- msleep(ANX74XX_PWR_L_PWR_H_DELAY_MS);
- board_set_tcpc_power_mode(USB_PD_PORT_ANX3429, 1);
-}
-
-int board_vbus_sink_enable(int port, int enable)
-{
- if (port == USB_PD_PORT_ANX3429) {
- /* Port 0 is controlled by a PPC SN5S330 */
- return ppc_vbus_sink_enable(port, enable);
- } else if (port == USB_PD_PORT_PS8751) {
- /* Port 1 is controlled by a power switch NX20P5090 */
- gpio_set_level(GPIO_EN_USB_C1_CHARGE_EC_L, !enable);
- return EC_SUCCESS;
- }
- return EC_ERROR_INVAL;
-}
-
-int board_is_sourcing_vbus(int port)
-{
- if (port == USB_PD_PORT_ANX3429) {
- /* Port 0 is controlled by a PPC SN5S330 */
- return ppc_is_sourcing_vbus(port);
- } else if (port == USB_PD_PORT_PS8751) {
- /* Port 1 is controlled by a power switch NX5P3290 */
- return gpio_get_level(GPIO_EN_USB_C1_5V_OUT);
- }
- return EC_ERROR_INVAL;
-}
-
-void board_overcurrent_event(int port, int is_overcurrented)
-{
- /* TODO(b/120231371): Notify AP */
- CPRINTS("p%d: overcurrent!", port);
-}
-
-int board_set_active_charge_port(int port)
-{
- int is_real_port = (port >= 0 &&
- port < CONFIG_USB_PD_PORT_MAX_COUNT);
- int i;
- int rv;
-
- if (!is_real_port && port != CHARGE_PORT_NONE)
- return EC_ERROR_INVAL;
-
- CPRINTS("New chg p%d", port);
-
- if (port == CHARGE_PORT_NONE) {
- /* Disable all ports. */
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
- rv = board_vbus_sink_enable(i, 0);
- if (rv) {
- CPRINTS("Disabling p%d sink path failed.", i);
- return rv;
- }
- }
-
- return EC_SUCCESS;
- }
-
- /* Check if the port is sourcing VBUS. */
- if (board_is_sourcing_vbus(port)) {
- CPRINTF("Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
-
- /*
- * Turn off the other ports' sink path FETs, before enabling the
- * requested charge port.
- */
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
- if (i == port)
- continue;
-
- if (board_vbus_sink_enable(i, 0))
- CPRINTS("p%d: sink path disable failed.", i);
- }
-
- /* Enable requested charge port. */
- if (board_vbus_sink_enable(port, 1)) {
- CPRINTS("p%d: sink path enable failed.", port);
- return EC_ERROR_UNKNOWN;
- }
-
- return EC_SUCCESS;
-}
-
-void board_set_charge_limit(int port, int supplier, int charge_ma,
- int max_ma, int charge_mv)
-{
- /*
- * Ignore lower charge ceiling on PD transition if our battery is
- * critical, as we may brownout.
- */
- if (supplier == CHARGE_SUPPLIER_PD &&
- charge_ma < 1500 &&
- charge_get_percent() < CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON) {
- CPRINTS("Using max ilim %d", max_ma);
- charge_ma = max_ma;
- }
-
- charge_set_input_current_limit(MAX(charge_ma,
- CONFIG_CHARGER_INPUT_CURRENT),
- charge_mv);
-}
-
-uint16_t tcpc_get_alert_status(void)
-{
- uint16_t status = 0;
-
- if (!gpio_get_level(GPIO_USB_C0_PD_INT_ODL))
- if (gpio_get_level(GPIO_USB_C0_PD_RST_R_L))
- status |= PD_STATUS_TCPC_ALERT_0;
- if (!gpio_get_level(GPIO_USB_C1_PD_INT_ODL))
- if (gpio_get_level(GPIO_USB_C1_PD_RST_ODL))
- status |= PD_STATUS_TCPC_ALERT_1;
-
- return status;
-}
-
-/* Mutexes */
-static struct mutex g_lid_mutex;
-
-static struct bmi_drv_data_t g_bmi160_data;
-static struct opt3001_drv_data_t g_opt3001_data = {
- .scale = 1,
- .uscale = 0,
- .offset = 0,
-};
-
-/* Matrix to rotate accelerometer into standard reference frame */
-const mat33_fp_t base_standard_ref = {
- { FLOAT_TO_FP(-1), 0, 0},
- { 0, FLOAT_TO_FP(-1), 0},
- { 0, 0, FLOAT_TO_FP(1)}
-};
-
-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.
- */
- [LID_ACCEL] = {
- .name = "Accel",
- .active_mask = SENSOR_ACTIVE_S0_S3_S5,
- .chip = MOTIONSENSE_CHIP_BMI160,
- .type = MOTIONSENSE_TYPE_ACCEL,
- .location = MOTIONSENSE_LOC_LID,
- .drv = &bmi160_drv,
- .mutex = &g_lid_mutex,
- .drv_data = &g_bmi160_data,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = BMI160_ADDR0_FLAGS,
- .rot_standard_ref = &base_standard_ref,
- .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 = {
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 10000 | ROUND_UP_FLAG,
- },
- },
- },
- [LID_GYRO] = {
- .name = "Gyro",
- .active_mask = SENSOR_ACTIVE_S0_S3_S5,
- .chip = MOTIONSENSE_CHIP_BMI160,
- .type = MOTIONSENSE_TYPE_GYRO,
- .location = MOTIONSENSE_LOC_LID,
- .drv = &bmi160_drv,
- .mutex = &g_lid_mutex,
- .drv_data = &g_bmi160_data,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = BMI160_ADDR0_FLAGS,
- .default_range = 1000, /* dps */
- .rot_standard_ref = &base_standard_ref,
- .min_frequency = BMI_GYRO_MIN_FREQ,
- .max_frequency = BMI_GYRO_MAX_FREQ,
- },
- [LID_ALS] = {
- .name = "Light",
- .active_mask = SENSOR_ACTIVE_S0,
- .chip = MOTIONSENSE_CHIP_OPT3001,
- .type = MOTIONSENSE_TYPE_LIGHT,
- .location = MOTIONSENSE_LOC_LID,
- .drv = &opt3001_drv,
- .drv_data = &g_opt3001_data,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = OPT3001_I2C_ADDR_FLAGS,
- .rot_standard_ref = NULL,
- .default_range = 0x10000, /* scale = 1; uscale = 0 */
- .min_frequency = OPT3001_LIGHT_MIN_FREQ,
- .max_frequency = OPT3001_LIGHT_MAX_FREQ,
- .config = {
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 1000,
- },
- },
- },
-};
-const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors);
diff --git a/board/cheza/board.h b/board/cheza/board.h
deleted file mode 100644
index 9246151698..0000000000
--- a/board/cheza/board.h
+++ /dev/null
@@ -1,224 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Cheza board configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/* TODO(waihong): Remove the following bringup features */
-#define CONFIG_BRINGUP
-#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands. */
-#define CONFIG_USB_PD_DEBUG_LEVEL 3
-#define CONFIG_CMD_AP_RESET_LOG
-#define CONFIG_HOSTCMD_AP_RESET
-
-/*
- * By default, enable all console messages excepted event and HC:
- * The sensor stack is generating a lot of activity.
- * They can be enabled through the console command 'chan'.
- */
-#define CC_DEFAULT (CC_ALL & ~(CC_MASK(CC_EVENTS) | CC_MASK(CC_HOSTCMD)))
-
-/* NPCX7 config */
-#define NPCX_UART_MODULE2 1 /* GPIO64/65 are used as UART pins. */
-#define NPCX_TACH_SEL2 0 /* No tach. */
-#define NPCX7_PWM1_SEL 0 /* GPIO C2 is not used as PWM1. */
-
-/* Internal SPI flash on NPCX7 */
-#define CONFIG_FLASH_SIZE_BYTES (1024 * 1024) /* 1MB internal spi flash */
-#define CONFIG_SPI_FLASH_REGS
-#define CONFIG_SPI_FLASH_W25Q80 /* Internal SPI flash type. */
-#define CONFIG_HOSTCMD_FLASH_SPI_INFO
-
-/* EC Modules */
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-#define CONFIG_LED_COMMON
-#define CONFIG_LOW_POWER_IDLE
-#define CONFIG_ADC
-#define CONFIG_BACKLIGHT_LID
-#define CONFIG_FPU
-#define CONFIG_PWM
-#define CONFIG_PWM_DISPLIGHT
-
-#define CONFIG_VBOOT_HASH
-
-#define CONFIG_DETACHABLE_BASE
-
-#undef CONFIG_PECI
-
-#define CONFIG_HOSTCMD_SHI
-#define CONFIG_HOST_COMMAND_STATUS
-#define CONFIG_HOSTCMD_SECTION_SORTED /* Host commands are sorted. */
-#define CONFIG_MKBP_EVENT
-#define CONFIG_MKBP_INPUT_DEVICES
-#define CONFIG_MKBP_USE_GPIO
-
-#define CONFIG_BOARD_VERSION_GPIO
-#define CONFIG_POWER_BUTTON
-#define CONFIG_VOLUME_BUTTONS
-#define CONFIG_BUTTON_TRIGGERED_RECOVERY
-#define CONFIG_EMULATED_SYSRQ
-#define CONFIG_CMD_BUTTON
-#define CONFIG_SWITCH
-#define CONFIG_LID_SWITCH
-#define CONFIG_EXTPOWER_GPIO
-
-#define CONFIG_TABLET_MODE
-#define CONFIG_TABLET_MODE_SWITCH
-
-/* Battery */
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_PRESENT_GPIO GPIO_BATT_PRES_ODL
-#define CONFIG_BATTERY_SMART
-
-/* Charger */
-#define CONFIG_CHARGER
-#define CONFIG_CHARGE_MANAGER
-#define CONFIG_CHARGER_ISL9238
-#define CONFIG_CHARGE_RAMP_HW
-#define CONFIG_USB_CHARGER
-#define CONFIG_CMD_CHARGER_ADC_AMON_BMON
-#define CONFIG_CHARGER_PSYS
-#define CONFIG_CHARGER_PSYS_READ
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-
-#define CONFIG_CHARGER_INPUT_CURRENT 512
-#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 2
-#define CONFIG_CHARGER_MIN_POWER_MW_FOR_POWER_ON 7500
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 20
-
-/* BC 1.2 Charger */
-#define CONFIG_BC12_DETECT_PI3USB9281
-#define CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT 2
-
-/* USB */
-#define CONFIG_USB_POWER_DELIVERY
-#define CONFIG_USB_PD_TCPMV1
-#define CONFIG_HOSTCMD_PD_CONTROL
-#define CONFIG_USB_PD_ALT_MODE
-#define CONFIG_USB_PD_ALT_MODE_DFP
-#define CONFIG_USB_PD_DISCHARGE_PPC
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-#define CONFIG_USB_PD_LOGGING
-#define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
-#define CONFIG_USB_PD_TCPC_LOW_POWER
-#define CONFIG_USB_PD_TCPM_ANX3429
-#define CONFIG_USB_PD_TCPM_PS8751
-#define CONFIG_USB_PD_TCPM_MUX
-#define CONFIG_USB_PD_TCPM_TCPCI
-#define CONFIG_USB_PD_TRY_SRC
-#define CONFIG_USB_PD_VBUS_DETECT_CHARGER
-#define CONFIG_USB_PD_5V_EN_CUSTOM
-#define CONFIG_USB_MUX_VIRTUAL
-#define CONFIG_USBC_PPC_SN5S330
-#define CONFIG_USBC_SS_MUX
-#define CONFIG_USBC_VCONN
-#define CONFIG_USBC_VCONN_SWAP
-
-/* RTC */
-#define CONFIG_CMD_RTC
-#define CONFIG_HOSTCMD_RTC
-
-/* Sensors */
-#define CONFIG_ACCELGYRO_BMI160
-#define CONFIG_ACCEL_INTERRUPTS
-#define CONFIG_ACCELGYRO_BMI160_INT_EVENT \
- TASK_EVENT_MOTION_SENSOR_INTERRUPT(LID_ACCEL)
-/* Enable sensor fifo, must also define the _SIZE and _THRES */
-#define CONFIG_ACCEL_FIFO
-/* FIFO size is a power of 2. */
-#define CONFIG_ACCEL_FIFO_SIZE 256
-/* Depends on how fast the AP boots and typical ODRs. */
-#define CONFIG_ACCEL_FIFO_THRES (CONFIG_ACCEL_FIFO_SIZE / 3)
-#define CONFIG_CMD_ACCELS
-#define CONFIG_CMD_ACCEL_INFO
-#define CONFIG_ALS
-#define CONFIG_ALS_OPT3001
-#define ALS_COUNT 1
-#define OPT3001_I2C_ADDR_FLAGS OPT3001_I2C_ADDR1_FLAGS
-
-/* PD */
-#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
-#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* us */
-
-#define PD_OPERATING_POWER_MW 15000
-#define PD_MAX_POWER_MW ((PD_MAX_VOLTAGE_MV * PD_MAX_CURRENT_MA) / 1000)
-#define PD_MAX_CURRENT_MA 3000
-#define PD_MAX_VOLTAGE_MV 20000
-
-/* Chipset */
-#define CONFIG_CHIPSET_SDM845
-#define CONFIG_CHIPSET_RESET_HOOK
-#define CONFIG_POWER_COMMON
-#define CONFIG_POWER_PP5000_CONTROL
-
-/* NPCX Features */
-#define CONFIG_HIBERNATE_PSL
-
-/* I2C Ports */
-#define I2C_PORT_BATTERY I2C_PORT_POWER
-#define I2C_PORT_CHARGER I2C_PORT_POWER
-#define I2C_PORT_ACCEL I2C_PORT_SENSOR
-#define I2C_PORT_POWER NPCX_I2C_PORT0_0
-#define I2C_PORT_TCPC0 NPCX_I2C_PORT1_0
-#define I2C_PORT_TCPC1 NPCX_I2C_PORT2_0
-#define I2C_PORT_EEPROM NPCX_I2C_PORT5_0
-#define I2C_PORT_SENSOR NPCX_I2C_PORT7_0
-
-/* GPIO alias */
-#define GPIO_PMIC_RESIN_L GPIO_PM845_RESIN_L
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-enum power_signal {
- SDM845_AP_RST_ASSERTED = 0,
- SDM845_PS_HOLD,
- SDM845_PMIC_FAULT_L,
- SDM845_POWER_GOOD,
- SDM845_WARM_RESET,
- /* Number of power signals */
- POWER_SIGNAL_COUNT
-};
-
-enum adc_channel {
- ADC_BASE_DET,
- ADC_VBUS,
- ADC_AMON_BMON,
- ADC_PSYS,
- ADC_CH_COUNT
-};
-
-/* Motion sensors */
-enum sensor_id {
- LID_ACCEL = 0,
- LID_GYRO,
- LID_ALS,
- SENSOR_COUNT,
-};
-
-enum pwm_channel {
- PWM_CH_DISPLIGHT,
- PWM_CH_COUNT
-};
-
-/* Reset all TCPCs. */
-void board_reset_pd_mcu(void);
-/* Base detection interrupt handler */
-void base_detect_interrupt(enum gpio_signal signal);
-
-/* Sensors without hardware FIFO are in forced mode */
-#define CONFIG_ACCEL_FORCE_MODE_MASK BIT(LID_ALS)
-
-#endif /* !defined(__ASSEMBLER__) */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/cheza/build.mk b/board/cheza/build.mk
deleted file mode 100644
index 2e8e53ec88..0000000000
--- a/board/cheza/build.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# -*- makefile -*-
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-#
-
-CHIP:=npcx
-CHIP_FAMILY:=npcx7
-CHIP_VARIANT:=npcx7m7wb
-
-board-y=battery.o board.o led.o usb_pd_policy.o base_detect.o
diff --git a/board/cheza/ec.tasklist b/board/cheza/ec.tasklist
deleted file mode 100644
index ef70197bac..0000000000
--- a/board/cheza/ec.tasklist
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2018 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_NOTEST(CHIPSET, chipset_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_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(PD_C0, pd_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, TASK_STACK_SIZE)
diff --git a/board/cheza/gpio.inc b/board/cheza/gpio.inc
deleted file mode 100644
index bc9d12ad79..0000000000
--- a/board/cheza/gpio.inc
+++ /dev/null
@@ -1,169 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2018 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. */
-
-/* USB-C interrupts */
-GPIO_INT(USB_C0_PD_INT_ODL, PIN(A, 0), GPIO_INT_FALLING, tcpc_alert_event) /* Interrupt from port-0 TCPC */
-GPIO_INT(USB_C1_PD_INT_ODL, PIN(F, 5), GPIO_INT_FALLING, tcpc_alert_event) /* Interrupt from port-1 TCPC */
-GPIO_INT(USB_C0_SWCTL_INT_ODL, PIN(0, 3), GPIO_INT_FALLING, ppc_interrupt) /* Interrupt from port-0 PPC */
-GPIO_INT(USB_C0_BC12_INT_L, PIN(6, 1), GPIO_INT_FALLING, usb0_evt) /* Interrupt from port-0 BC1.2 */
-GPIO_INT(USB_C1_BC12_INT_L, PIN(8, 2), GPIO_INT_FALLING, usb1_evt) /* Interrupt from port-1 BC1.2 */
-GPIO_INT(USB_C0_VBUS_DET_L, PIN(6, 2), GPIO_INT_BOTH | GPIO_PULL_UP, vbus0_evt) /* BC1.2 VBUS detection on port-0 */
-GPIO_INT(USB_C1_VBUS_DET_L, PIN(8, 3), GPIO_INT_BOTH | GPIO_PULL_UP, vbus1_evt) /* BC1.2 VBUS detection on port-1 */
-GPIO_INT(USB_C0_CABLE_DET, PIN(3, 7), GPIO_INT_RISING, anx74xx_cable_det_interrupt) /* Cable detection from port-0 TCPC */
-GPIO_INT(USB_C1_OC_ODL, PIN(7, 2), GPIO_INT_FALLING, usb1_oc_evt) /* Port-1 power switch over-current */
-GPIO_INT(ACCEL_GYRO_INT_L, PIN(D, 3), GPIO_INT_FALLING | GPIO_SEL_1P8V, bmi160_interrupt) /* Accelerometer/gyro interrupt */
-
-/* System interrupts */
-GPIO_INT(AC_PRESENT, PIN(0, 0), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, extpower_interrupt) /* ACOK_OD */
-GPIO_INT(POWER_BUTTON_L, PIN(0, 1), GPIO_INT_BOTH, power_button_interrupt) /* EC_PWR_BTN_ODL */
-GPIO_INT(VOLUME_DOWN_L, PIN(7, 0), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* EC_VOLDN_BTN_ODL */
-GPIO_INT(VOLUME_UP_L, PIN(F, 2), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt) /* EC_VOLUP_BTN_ODL */
-GPIO_INT(WP_L, PIN(A, 1), GPIO_INT_BOTH, switch_interrupt) /* EC_WP_ODL */
-GPIO_INT(LID_OPEN, PIN(D, 2), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH, lid_interrupt) /* LID_OPEN_EC */
-GPIO_INT(AP_RST_REQ, PIN(C, 2), GPIO_INT_RISING | GPIO_PULL_DOWN | GPIO_SEL_1P8V, chipset_reset_request_interrupt) /* Reset request from AP */
-GPIO_INT(AP_RST_L, PIN(C, 1), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_signal_interrupt)
-GPIO_INT(PS_HOLD, PIN(D, 4), GPIO_INT_BOTH | GPIO_PULL_DOWN | GPIO_SEL_1P8V, power_signal_interrupt) /* Indicate when AP triggers reset/shutdown */
-GPIO_INT(PMIC_FAULT_L, PIN(7, 6), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_signal_interrupt) /* Any PMIC fault? */
-/*
- * When switch-cap is off, the POWER_GOOD signal is floating. Need a pull-down
- * to make it low. Overload the interrupt function chipset_warm_reset_interrupt
- * for not only signalling power_signal_interrupt but also handling the logic
- * of WARM_RESET_L which is pulled-up by the same rail of POWER_GOOD.
- */
-GPIO_INT(POWER_GOOD, PIN(5, 4), GPIO_INT_BOTH | GPIO_PULL_DOWN, chipset_warm_reset_interrupt) /* SRC_PP1800_S4A from PMIC */
-GPIO_INT(WARM_RESET_L, PIN(F, 4), GPIO_INT_BOTH | GPIO_SEL_1P8V, chipset_warm_reset_interrupt) /* AP warm reset */
-GPIO_INT(SHI_CS_L, PIN(5, 3), GPIO_INT_FALLING | GPIO_PULL_DOWN, shi_cs_event) /* AP_EC_SPI_CS_L */
-GPIO_INT(CC_LID_BASE_ADC, PIN(4, 5), GPIO_INT_BOTH, base_detect_interrupt) /* Base detection */
-
-/*
- * EC_RST_ODL acts as a wake source from PSL hibernate mode. However, it does
- * not need to be an interrupt for normal EC operations. Thus, configure it as
- * GPIO_INT_BOTH with wake on low-to-high edge using GPIO_HIB_WAKE_HIGH so that
- * PSL common code can configure PSL_IN correctly.
- *
- * Use the rising edge to wake EC up. If we chose the falling edge, it would
- * still wake EC up, but EC is in an intermediate state until the signal goes
- * back to high.
- */
-GPIO(EC_RST_ODL, PIN(0, 2), GPIO_INT_BOTH | GPIO_HIB_WAKE_HIGH) /* Wake source: EC reset */
-GPIO(ENTERING_RW, PIN(E, 1), GPIO_OUT_LOW) /* EC_ENTERING_RW: Indicate when EC is entering RW code */
-GPIO(CCD_MODE_ODL, PIN(E, 3), GPIO_INPUT) /* Case Closed Debug Mode */
-GPIO(BATT_PRES_ODL, PIN(E, 5), GPIO_INPUT) /* EC_BATT_PRES_ODL: Battery Present */
-GPIO(PROCHOT_L, PIN(3, 4), GPIO_INPUT)
-
-/* PMIC/AP 1.8V */
-GPIO(PM845_RESIN_L, PIN(3, 2), GPIO_ODR_HIGH | GPIO_SEL_1P8V) /* PMIC reset trigger */
-GPIO(PMIC_KPD_PWR_ODL, PIN(D, 6), GPIO_ODR_HIGH | GPIO_SEL_1P8V) /* PMIC power button */
-GPIO(EC_INT_L, PIN(A, 2), GPIO_ODR_HIGH) /* Interrupt line between AP and EC */
-GPIO(AP_SUSPEND_L, PIN(5, 7), GPIO_INPUT) /* Suspend signal from AP */
-
-/* Power enables */
-GPIO(SWITCHCAP_ON_L, PIN(D, 5), GPIO_OUT_LOW) /* Enable switch cap. XXX: It's active-high */
-GPIO(VBOB_EN, PIN(9, 5), GPIO_OUT_LOW) /* Enable VBOB */
-GPIO(EN_PP3300_A, PIN(A, 6), GPIO_OUT_LOW) /* Enable PP3300 */
-GPIO(EN_PP5000, PIN(6, 7), GPIO_OUT_LOW) /* EN_PP5000_A: Enable PP5000 */
-GPIO(ENABLE_BACKLIGHT, PIN(B, 6), GPIO_OUT_LOW) /* EC_BL_DISABLE_L: Backlight disable signal from EC */
-
-/* Sensors */
-GPIO(ALS_INT_L, PIN(5, 0), GPIO_INPUT) /* ALS sensor interrupt */
-GPIO(P_SENSOR_INT_L, PIN(F, 3), GPIO_INPUT | GPIO_SEL_1P8V) /* P-sensor interrupt */
-GPIO(RCAM_VSYNC, PIN(4, 0), GPIO_INPUT | GPIO_SEL_1P8V) /* VSYNC from rear camera */
-
-/* Base */
-GPIO(EN_PPVAR_VAR_BASE, PIN(0, 4), GPIO_OUT_LOW) /* Power to the base */
-GPIO(EN_CC_LID_BASE_PH, PIN(D, 1), GPIO_ODR_HIGH)
-GPIO(EN_CC_LID_BASE_PULLDN, PIN(D, 0), GPIO_ODR_HIGH)
-GPIO(REVERSE_DOCK_EC, PIN(C, 6), GPIO_INPUT) /* Indicate if the dock is reversed */
-GPIO(CC_LID_RX_BASE_TX, PIN(7, 5), GPIO_INPUT)
-GPIO(CC_LID_RX_BASE_RX, PIN(8, 6), GPIO_INPUT)
-
-/* LEDs */
-GPIO(CHG_LED_Y_C0, PIN(C, 3), GPIO_OUT_LOW) /* EC_CHG_LED_Y_C0 */
-GPIO(CHG_LED_W_C0, PIN(C, 4), GPIO_OUT_LOW) /* EC_CHG_LED_W_C0 */
-GPIO(CHG_LED_Y_C1, PIN(6, 0), GPIO_OUT_LOW) /* EC_CHG_LED_Y_C1 */
-GPIO(CHG_LED_W_C1, PIN(C, 0), GPIO_OUT_LOW) /* EC_CHG_LED_W_C1 */
-
-/*
- * USB HS muxes
- *
- * C0_MUX:D ----- C0_BC12 ---- C0_PORT
- * AP --+------- C0_MUX:D1
- * | +--- C0_MUX:D2
- * | |
- * | |
- * | | C1_MUX:D ----- C1_BC12 ---- C1_PORT
- * | | +- C1_MUX:D1
- * +------- C1_MUX:D2
- * | |
- * AP --- USB_HUB
- */
-/* Switch both port-0 and port-1 to the hub, which matches the SS path. */
-GPIO(USB_C0_HS_MUX_OE_L, PIN(A, 4), GPIO_OUT_LOW)
-GPIO(USB_C0_HS_MUX_SEL, PIN(A, 3), GPIO_OUT_HIGH) /* L:D1(AP), H:D2(hub) */
-GPIO(USB_C1_HS_MUX_OE_L, PIN(7, 3), GPIO_OUT_LOW)
-GPIO(USB_C1_HS_MUX_SEL, PIN(7, 4), GPIO_OUT_LOW) /* L:D1(hub), H:D2(AP) */
-
-/* USB-C port-0 controls */
-GPIO(USB_C0_PD_RST_R_L, PIN(F, 1), GPIO_OUT_HIGH) /* Port-0 TCPC chip reset */
-GPIO(EN_USB_C0_TCPC_PWR, PIN(C, 5), GPIO_OUT_LOW) /* Port-0 TCPC power enable */
-
-/* USB-C port-1 controls */
-GPIO(USB_C1_PD_RST_ODL, PIN(E, 4), GPIO_ODR_HIGH) /* Port-1 TCPC chip reset */
-GPIO(EN_USB_C1_5V_OUT, PIN(6, 3), GPIO_OUT_LOW) /* Port-1 power switch 5V output */
-GPIO(EN_USB_C1_3A, PIN(5, 6), GPIO_OUT_LOW) /* Port-1 power switch 3A current */
-GPIO(EN_USB_C1_CHARGE_EC_L, PIN(B, 1), GPIO_OUT_LOW) /* Port-1 enable charging */
-GPIO(USBC_MUX_CONF1, PIN(5, 1), GPIO_OUT_HIGH) /* Port-1 enable DP switch */
-
-/* USB-C port-1 interrupts */
-GPIO(USB_C1_DP_HPD, PIN(9, 6), GPIO_INPUT) /* DP HPD from port-1 TCPC */
-
-/* I2C */
-GPIO(I2C0_SCL, PIN(B, 5), GPIO_INPUT) /* EC_I2C_POWER_SCL */
-GPIO(I2C0_SDA, PIN(B, 4), GPIO_INPUT) /* EC_I2C_POWER_SDA */
-GPIO(I2C1_SCL, PIN(9, 0), GPIO_INPUT) /* EC_I2C_USB_C0_PD_SCL */
-GPIO(I2C1_SDA, PIN(8, 7), GPIO_INPUT) /* EC_I2C_USB_C0_PD_SDA */
-GPIO(I2C2_SCL, PIN(9, 2), GPIO_INPUT) /* EC_I2C_USB_C1_PD_SCL */
-GPIO(I2C2_SDA, PIN(9, 1), GPIO_INPUT) /* EC_I2C_USB_C1_PD_SDA */
-GPIO(I2C5_SCL, PIN(3, 3), GPIO_INPUT) /* EC_I2C_EEPROM_SCL */
-GPIO(I2C5_SDA, PIN(3, 6), GPIO_INPUT) /* EC_I2C_EEPROM_SDA */
-GPIO(I2C7_SCL, PIN(B, 3), GPIO_INPUT |
- GPIO_SEL_1P8V) /* EC_I2C_SENSOR_SCL */
-GPIO(I2C7_SDA, PIN(B, 2), GPIO_INPUT |
- GPIO_SEL_1P8V) /* EC_I2C_SENSOR_SDA */
-
-/* Board/SKU IDs */
-GPIO(BOARD_VERSION1, PIN(C, 7), GPIO_INPUT) /* BRD_ID1 */
-GPIO(BOARD_VERSION2, PIN(9, 3), GPIO_INPUT) /* BRD_ID2 */
-GPIO(BOARD_VERSION3, PIN(8, 0), GPIO_INPUT) /* BRD_ID3 */
-GPIO(SKU_ID1, PIN(F, 0), GPIO_INPUT)
-GPIO(SKU_ID2, PIN(4, 1), GPIO_INPUT)
-
-/* Switchcap */
-/*
- * GPIO0 is configured as PVC_PG. When the chip in power down mode, it outputs
- * high-Z. Set pull-down to avoid floating.
- */
-GPIO(DA9313_GPIO0, PIN(E, 2), GPIO_INPUT | GPIO_PULL_DOWN) /* Switchcap GPIO0 */
-
-/* Alternate functions GPIO definitions */
-ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART (GPIO64/65) */
-ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* I2C0 (GPIOB4/B5) */
-ALTERNATE(PIN_MASK(9, 0x07), 1, MODULE_I2C, 0) /* I2C1 SDA (GPIO90), I2C2 (GPIO91/92) */
-ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1 SCL (GPIO87) */
-ALTERNATE(PIN_MASK(3, 0x48), 1, MODULE_I2C, 0) /* I2C5 (GPIO33/36) */
-ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, GPIO_SEL_1P8V) /* I2C7 (GPIOB2/B3) - 1.8V */
-ALTERNATE(PIN_MASK(4, 0x1C), 0, MODULE_ADC, 0) /* ADC1 (GPIO44), ADC2 (GPIO43), ADC3 (GPIO42) */
-ALTERNATE(PIN_MASK(4, 0xC0), 1, MODULE_SPI, GPIO_SEL_1P8V) /* SHI_SDO (GPIO47), SHI_SDI (GPIO46) */
-ALTERNATE(PIN_MASK(5, 0x28), 1, MODULE_SPI, GPIO_SEL_1P8V) /* SHI_SCLK (GPIO55), SHI_CS# (GPIO53) */
-ALTERNATE(PIN_MASK(B, 0x80), 1, MODULE_PWM, 0) /* PWM5 (GPIOB7) */
-ALTERNATE(PIN_MASK(D, 0x04), 1, MODULE_PMU, 0) /* PSL_IN1 (GPIOD2) - LID_OPEN_EC */
-ALTERNATE(PIN_MASK(0, 0x01), 1, MODULE_PMU, 0) /* PSL_IN2 (GPIO00) - ACOK_OD */
-ALTERNATE(PIN_MASK(0, 0x02), 1, MODULE_PMU, 0) /* PSL_IN3 (GPIO01) - EC_PWR_BTN_ODL */
-ALTERNATE(PIN_MASK(0, 0x04), 1, MODULE_PMU, 0) /* PSL_IN4 (GPIO02) - EC_RST_ODL */
diff --git a/board/cheza/led.c b/board/cheza/led.c
deleted file mode 100644
index 21ca78cb5c..0000000000
--- a/board/cheza/led.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright 2018 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_manager.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 "system.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_RIGHT_LED,
- EC_LED_ID_LEFT_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 void side_led_set_color(int port, enum led_color color)
-{
- gpio_set_level(port ? GPIO_CHG_LED_Y_C1 : GPIO_CHG_LED_Y_C0,
- (color == LED_AMBER) ? BAT_LED_ON : BAT_LED_OFF);
- gpio_set_level(port ? GPIO_CHG_LED_W_C1 : GPIO_CHG_LED_W_C0,
- (color == LED_WHITE) ? BAT_LED_ON : BAT_LED_OFF);
-}
-
-void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range)
-{
- brightness_range[EC_LED_COLOR_AMBER] = 1;
- brightness_range[EC_LED_COLOR_WHITE] = 1;
-}
-
-int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness)
-{
- int port;
-
- switch (led_id) {
- case EC_LED_ID_RIGHT_LED:
- port = 0;
- break;
- case EC_LED_ID_LEFT_LED:
- port = 1;
- break;
- default:
- return EC_ERROR_PARAM1;
- }
-
- if (brightness[EC_LED_COLOR_WHITE] != 0)
- side_led_set_color(port, LED_WHITE);
- else if (brightness[EC_LED_COLOR_AMBER] != 0)
- side_led_set_color(port, LED_AMBER);
- else
- side_led_set_color(port, LED_OFF);
-
- return EC_SUCCESS;
-}
-
-/*
- * Set active charge port color to the parameter, turn off all others.
- * If no port is active (-1), turn off all LEDs.
- */
-static void set_active_port_color(enum led_color color)
-{
- int port = charge_manager_get_active_charge_port();
-
- if (led_auto_control_is_enabled(EC_LED_ID_RIGHT_LED))
- side_led_set_color(0, (port == 0) ? color : LED_OFF);
- if (led_auto_control_is_enabled(EC_LED_ID_LEFT_LED))
- side_led_set_color(1, (port == 1) ? color : LED_OFF);
-}
-
-static void board_led_set_battery(void)
-{
- static int battery_ticks;
- uint32_t chflags = charge_get_flags();
-
- battery_ticks++;
-
- switch (charge_get_state()) {
- case PWR_STATE_CHARGE:
- /* Always indicate when charging, even in suspend. */
- set_active_port_color(LED_AMBER);
- break;
- case PWR_STATE_DISCHARGE:
- if (led_auto_control_is_enabled(EC_LED_ID_RIGHT_LED)) {
- if (charge_get_percent() <= 10)
- side_led_set_color(0,
- (battery_ticks & 0x4) ? LED_WHITE : LED_OFF);
- else
- side_led_set_color(0, LED_OFF);
- }
-
- if (led_auto_control_is_enabled(EC_LED_ID_LEFT_LED))
- side_led_set_color(1, LED_OFF);
- break;
- case PWR_STATE_ERROR:
- set_active_port_color((battery_ticks & 0x2) ?
- LED_WHITE : LED_OFF);
- break;
- case PWR_STATE_CHARGE_NEAR_FULL:
- set_active_port_color(LED_WHITE);
- break;
- case PWR_STATE_IDLE: /* External power connected in IDLE */
- if (chflags & CHARGE_FLAG_FORCE_IDLE)
- set_active_port_color((battery_ticks & 0x4) ?
- LED_AMBER : LED_OFF);
- else
- set_active_port_color(LED_WHITE);
- break;
- default:
- /* Other states don't alter LED behavior */
- break;
- }
-}
-
-/* Called by hook task every TICK */
-static void led_tick(void)
-{
- board_led_set_battery();
-}
-DECLARE_HOOK(HOOK_TICK, led_tick, HOOK_PRIO_DEFAULT);
-
-void led_control(enum ec_led_id led_id, enum ec_led_state state)
-{
- enum led_color color;
-
- if ((led_id != EC_LED_ID_RECOVERY_HW_REINIT_LED) &&
- (led_id != EC_LED_ID_SYSRQ_DEBUG_LED))
- return;
-
- if (state == LED_STATE_RESET) {
- led_auto_control(EC_LED_ID_LEFT_LED, 1);
- led_auto_control(EC_LED_ID_RIGHT_LED, 1);
- board_led_set_battery();
- return;
- }
-
- color = state ? LED_WHITE : LED_OFF;
-
- led_auto_control(EC_LED_ID_LEFT_LED, 0);
- led_auto_control(EC_LED_ID_RIGHT_LED, 0);
-
- side_led_set_color(0, color);
- side_led_set_color(1, color);
-}
diff --git a/board/cheza/usb_pd_policy.c b/board/cheza/usb_pd_policy.c
deleted file mode 100644
index 88fcded727..0000000000
--- a/board/cheza/usb_pd_policy.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/* Copyright 2018 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 "charge_manager.h"
-#include "console.h"
-#include "gpio.h"
-#include "pi3usb9281.h"
-#include "system.h"
-#include "usb_mux.h"
-#include "usbc_ppc.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-
-int pd_check_vconn_swap(int port)
-{
- /* TODO(waihong): Check any case we do not allow. */
- return 1;
-}
-
-__override void pd_execute_data_swap(int port,
- enum pd_data_role data_role)
-{
- int enable = (data_role == PD_ROLE_UFP);
- int type;
-
- /*
- * Exclude the PD charger, in which the "USB Communications Capable"
- * bit is unset in the Fixed Supply PDO.
- */
- if (pd_capable(port))
- enable = enable && pd_get_partner_usb_comm_capable(port);
-
- /*
- * The hub behind the BC1.2 chip may advertise a BC1.2 type. So
- * disconnect the switch when getting the charger type to ensure
- * the detected type is from external.
- */
- usb_charger_set_switches(port, USB_SWITCH_DISCONNECT);
- type = pi3usb9281_get_device_type(port);
- usb_charger_set_switches(port, USB_SWITCH_RESTORE);
-
- /* Exclude the BC1.2 charger, which is not detected as CDP or SDP. */
- enable = enable && (type & (PI3USB9281_TYPE_CDP | PI3USB9281_TYPE_SDP));
-
- /* Only mux one port to AP. If already muxed, return. */
- if (enable && (!gpio_get_level(GPIO_USB_C0_HS_MUX_SEL) ||
- gpio_get_level(GPIO_USB_C1_HS_MUX_SEL)))
- return;
-
- /* Port-0 and port-1 have different polarities. */
- if (port == 0)
- gpio_set_level(GPIO_USB_C0_HS_MUX_SEL, enable ? 0 : 1);
- else if (port == 1)
- gpio_set_level(GPIO_USB_C1_HS_MUX_SEL, enable ? 1 : 0);
-}
-
-static uint8_t vbus_en[CONFIG_USB_PD_PORT_MAX_COUNT];
-static uint8_t vbus_rp[CONFIG_USB_PD_PORT_MAX_COUNT] = {TYPEC_RP_1A5,
- TYPEC_RP_1A5};
-
-static void board_vbus_update_source_current(int port)
-{
- if (port == 0) {
- /*
- * Port 0 is controlled by a USB-C PPC SN5S330.
- */
- ppc_set_vbus_source_current_limit(port, vbus_rp[port]);
- ppc_vbus_source_enable(port, vbus_en[port]);
- } else if (port == 1) {
- /*
- * Port 1 is controlled by a USB-C current-limited power
- * switch, NX5P3290. Change the GPIO driving the load switch.
- *
- * 1.5 vs 3.0 A limit is controlled by a dedicated gpio.
- * If the GPIO is asserted, it shorts a n-MOSFET to put a
- * 16.5k resistance (2x 33k in parallel) on the NX5P3290 load
- * switch ILIM pin, setting a minimum OCP current of 3100 mA.
- * If the GPIO is deasserted, the n-MOSFET is open that makes
- * a single 33k resistor on ILIM, setting a minimum OCP
- * current of 1505 mA.
- */
- gpio_set_level(GPIO_EN_USB_C1_3A,
- vbus_rp[port] == TYPEC_RP_3A0 ? 1 : 0);
- gpio_set_level(GPIO_EN_USB_C1_5V_OUT, vbus_en[port]);
- }
-}
-
-void pd_power_supply_reset(int port)
-{
- int prev_en;
-
- prev_en = vbus_en[port];
-
- /* Disable VBUS */
- vbus_en[port] = 0;
- board_vbus_update_source_current(port);
-
- /* Enable discharge if we were previously sourcing 5V */
- if (prev_en)
- pd_set_vbus_discharge(port, 1);
-
-#ifdef CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT
- /* Give back the current quota we are no longer using */
- charge_manager_source_port(port, 0);
-#endif /* defined(CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT) */
-
- /* notify host of power info change */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-int pd_set_power_supply_ready(int port)
-{
- /* Disable charging */
- board_vbus_sink_enable(port, 0);
-
- pd_set_vbus_discharge(port, 0);
-
- /* Provide VBUS */
- vbus_en[port] = 1;
- board_vbus_update_source_current(port);
-
- /* Ensure we advertise the proper available current quota */
- charge_manager_source_port(port, 1);
-
- /* notify host of power info change */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-
- return EC_SUCCESS; /* we are ready */
-}
-
-int board_vbus_source_enabled(int port)
-{
- return vbus_en[port];
-}
-
-__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
-{
- vbus_rp[port] = rp;
- board_vbus_update_source_current(port);
-}
-
-int pd_snk_is_vbus_provided(int port)
-{
- return !gpio_get_level(port ? GPIO_USB_C1_VBUS_DET_L :
- GPIO_USB_C0_VBUS_DET_L);
-}
-
-/* ----------------- Vendor Defined Messages ------------------ */
-/**
- * Is the port fine to be muxed its DisplayPort lines?
- *
- * Only one port can be muxed to DisplayPort at a time.
- *
- * @param port Port number of TCPC.
- * @return 1 is fine; 0 is bad as other port is already muxed;
- */
-static int is_dp_muxable(int port)
-{
- int i;
-
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++)
- if (i != port) {
- if (usb_mux_get(i) & USB_PD_MUX_DP_ENABLED)
- return 0;
- }
-
- return 1;
-}
-
-extern uint32_t dp_status[CONFIG_USB_PD_PORT_MAX_COUNT];
-__override int svdm_dp_attention(int port, uint32_t *payload)
-{
- int lvl = PD_VDO_DPSTS_HPD_LVL(payload[1]);
- int irq = PD_VDO_DPSTS_HPD_IRQ(payload[1]);
- int mf_pref = PD_VDO_DPSTS_MF_PREF(payload[1]);
-
- dp_status[port] = payload[1];
-
- usb_mux_hpd_update(port, lvl, irq);
-
- if (lvl && is_dp_muxable(port)) {
- /*
- * The GPIO USBC_MUX_CONF1 enables the mux of the DP redriver
- * for the port 1.
- */
- gpio_set_level(GPIO_USBC_MUX_CONF1, port == 1);
-
- usb_mux_set(port, mf_pref ?
- USB_PD_MUX_DOCK : USB_PD_MUX_DP_ENABLED,
- USB_SWITCH_CONNECT,
- polarity_rm_dts(pd_get_polarity(port)));
- } else {
- usb_mux_set(port, mf_pref ?
- USB_PD_MUX_USB_ENABLED : USB_PD_MUX_NONE,
- USB_SWITCH_CONNECT,
- polarity_rm_dts(pd_get_polarity(port)));
- }
-
- /* ack */
- return 1;
-}
diff --git a/board/cheza/vif_override.xml b/board/cheza/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/cheza/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/dragonegg/battery.c b/board/dragonegg/battery.c
deleted file mode 100644
index ae583a0d40..0000000000
--- a/board/dragonegg/battery.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2018 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_fuel_gauge.h"
-#include "common.h"
-#include "util.h"
-
-/*
- * Battery info for all DragonEgg battery types. Note that the fields
- * start_charging_min/max and charging_min/max are not used for the charger.
- * The effective temperature limits are given by discharging_min/max_c.
- *
- * Fuel Gauge (FG) parameters which are used for determining if the battery
- * is connected, the appropriate ship mode (battery cutoff) command, and the
- * charge/discharge FETs status.
- *
- * Ship mode (battery cutoff) requires 2 writes to the appropriate smart battery
- * register. For some batteries, the charge/discharge FET bits are set when
- * charging/discharging is active, in other types, these bits set mean that
- * charging/discharging is disabled. Therefore, in addition to the mask for
- * these bits, a disconnect value must be specified. Note that for TI fuel
- * gauge, the charge/discharge FET status is found in Operation Status (0x54),
- * but a read of Manufacturer Access (0x00) will return the lower 16 bits of
- * Operation status which contains the FET status bits.
- *
- * The assumption for battery types supported is that the charge/discharge FET
- * status can be read with a sb_read() command and therefore, only the register
- * address, mask, and disconnect value need to be provided.
- */
-const struct board_batt_params board_battery_info[] = {
- /* Panasonic AP1505L Battery Information */
- [BATTERY_0RD] = {
- .fuel_gauge = {
- .manuf_name = "SMP-COS5940",
- .ship_mode = {
- .reg_addr = 0x0,
- .reg_data = { 0x10, 0x10 },
- },
- .fet = {
- .reg_addr = 0x0,
- .reg_mask = 0x2000,
- .disconnect_val = 0x2000,
- }
- },
- .batt_info = {
- .voltage_max = 8800,
- .voltage_normal = 7700, /* mV */
- .voltage_min = 6000, /* mV */
- .precharge_current = 256, /* 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,
- },
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT);
-
-const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_0RD;
diff --git a/board/dragonegg/board.c b/board/dragonegg/board.c
deleted file mode 100644
index 18b4c7c6dc..0000000000
--- a/board/dragonegg/board.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* DragonEgg board-specific configuration */
-#include "adc.h"
-#include "adc_chip.h"
-#include "button.h"
-#include "common.h"
-#include "charger.h"
-#include "console.h"
-#include "driver/ppc/nx20p348x.h"
-#include "driver/ppc/sn5s330.h"
-#include "ec_commands.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "intc.h"
-#include "lid_switch.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 "uart.h"
-#include "usb_pd.h"
-#include "util.h"
-
-static void ppc_interrupt(enum gpio_signal signal)
-{
-
- switch (signal) {
- case GPIO_USB_C0_TCPPC_INT_L:
- sn5s330_interrupt(0);
- break;
-
- case GPIO_USB_C2_TCPPC_INT_ODL:
- nx20p348x_interrupt(2);
- break;
-
- default:
- break;
- }
-}
-
-static void tcpc_alert_event(enum gpio_signal signal)
-{
- int port = -1;
-
- /*
- * Since C0/C1 TCPC are embedded within EC, we don't need the PDCMD
- * tasks.The (embedded) TCPC status since chip driver code will
- * handles its own interrupts and forward the correct events to
- * the PD_C0/1 task. See it83xx/intc.c
- */
- switch (signal) {
- case GPIO_USB_C2_TCPC_INT_ODL:
- port = 2;
- break;
- default:
- return;
- }
-
- schedule_deferred_pd_interrupt(port);
-}
-
-#include "gpio_list.h" /* Must come after other header files. */
-
-/******************************************************************************/
-/* ADC channels */
-const struct adc_t adc_channels[] = {
- /* Vbus C0 sensing (7.3x voltage divider). PPVAR_USB_C0_VBUS */
- [ADC_VBUS_C0] = {.name = "VBUS_C0",
- .factor_mul = (ADC_MAX_MVOLT * 73) / 10,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- .channel = CHIP_ADC_CH1},
- /* Vbus C1 sensing (7.3x voltage divider). PPVAR_USB_C1_VBUS */
- [ADC_VBUS_C1] = {.name = "VBUS_C1",
- .factor_mul = (ADC_MAX_MVOLT * 73) / 10,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- .channel = CHIP_ADC_CH0},
-};
-BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
-
-/******************************************************************************/
-/* SPI devices */
-/* TODO(b/110880394): Fill out correctly (SPI FLASH) */
-const struct spi_device_t spi_devices[] = {
-};
-const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices);
-
-/******************************************************************************/
-/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */
-const struct pwm_t pwm_channels[] = {
- [PWM_CH_KBLIGHT] = { .channel = 0, .flags = 0, .freq_hz = 100 },
- [PWM_CH_LED_RED] = { .channel = 2, .flags = PWM_CONFIG_DSLEEP |
- PWM_CONFIG_ACTIVE_LOW, .freq_hz = 100 },
- [PWM_CH_LED_GREEN] = { .channel = 1, .flags = PWM_CONFIG_DSLEEP |
- PWM_CONFIG_ACTIVE_LOW, .freq_hz = 100 },
- [PWM_CH_LED_BLUE] = { .channel = 3, .flags = PWM_CONFIG_DSLEEP |
- PWM_CONFIG_ACTIVE_LOW, .freq_hz = 100 },
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-
-/* GPIO to enable/disable the USB Type-A port. */
-const int usb_port_enable[CONFIG_USB_PORT_POWER_SMART_PORT_COUNT] = {
- GPIO_EN_USB_A_5V,
-};
-
-void board_overcurrent_event(int port)
-{
- if (port == 0) {
- /* TODO(b/111281797): When does this get set high again? */
- gpio_set_level(GPIO_USB_OC_ODL, 0);
- cprints(CC_USBPD, "p%d: overcurrent!", port);
- }
-}
-
-static void board_disable_learn_mode(void)
-{
- /* Disable learn mode after checking to make sure AC is still present */
- if (extpower_is_present())
- charger_discharge_on_ac(0);
-}
-DECLARE_DEFERRED(board_disable_learn_mode);
-
-static void board_extpower(void)
-{
- /*
- * For the bq25710 charger, we need the switching converter to remain
- * disabled until ~130 msec from when VBUS present to allow the
- * converter to be biased properly. Otherwise, there will be a reverse
- * buck/boost until the converter is biased. The recommendation is to
- * exit learn mode 200 msec after external charger is connected.
- *
- * TODO(b/112372451): When there are updated versions of the bq25710,
- * this set of changes can be removed.
- */
- if (extpower_is_present()) {
- hook_call_deferred(&board_disable_learn_mode_data, 200 * MSEC);
- } else {
- /* Enable charger learn mode */
- charger_discharge_on_ac(1);
- /* Cancel any pending call to disable learn mode */
- hook_call_deferred(&board_disable_learn_mode_data, -1);
- }
-}
-DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT);
-
-/* Initialize board. */
-static void board_init(void)
-{
- /*
- * On EC reboot, need to always set battery learn mode to the correct
- * state based on presence of AC.
- */
- board_extpower();
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
diff --git a/board/dragonegg/board.h b/board/dragonegg/board.h
deleted file mode 100644
index daf6f4c255..0000000000
--- a/board/dragonegg/board.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* DragonEgg board configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/* Baseboard features */
-#include "baseboard.h"
-
-/* Optional features */
-#define CONFIG_SYSTEM_UNLOCKED /* Allow dangerous commands while in dev. */
-#define CONFIG_LOW_POWER_IDLE
-#undef CONFIG_UART_TX_BUF_SIZE
-#define CONFIG_UART_TX_BUF_SIZE 4096
-
-/* EC */
-#define CONFIG_BOARD_VERSION_GPIO
-
-/* Keyboard features */
-#define CONFIG_PWM_KBLIGHT
-#define CONFIG_VOLUME_BUTTONS
-
-/* USB and USBC features */
-#define CONFIG_USB_PORT_POWER_SMART
-#undef CONFIG_USB_PORT_POWER_SMART_PORT_COUNT
-#define CONFIG_USB_PORT_POWER_SMART_PORT_COUNT 1
-#define CONFIG_USB_PORT_POWER_SMART_CDP_SDP_ONLY
-#define GPIO_USB1_ILIM_SEL GPIO_EN_USB_A_HIGH_POWER
-
-/* LEDs */
-#define CONFIG_LED_COMMON
-#define CONFIG_LED_PWM_COUNT 1
-#undef CONFIG_LED_PWM_SOC_ON_COLOR
-#define CONFIG_LED_PWM_SOC_ON_COLOR EC_LED_COLOR_BLUE
-#undef CONFIG_LED_PWM_SOC_SUSPEND_COLOR
-#define CONFIG_LED_PWM_SOC_SUSPEND_COLOR EC_LED_COLOR_WHITE
-#define CONFIG_CMD_LEDTEST
-
-/*
- * Macros for GPIO signals used in common code that don't match the
- * schematic names. Signal names in gpio.inc match the schematic and are
- * then redefined here to so it's more clear which signal is being used for
- * which purpose.
- */
-#define GPIO_PCH_RSMRST_L GPIO_EC_PCH_RSMRST_L
-#define GPIO_PCH_SLP_S0_L GPIO_SLP_S0_L
-#define GPIO_CPU_PROCHOT GPIO_EC_PROCHOT_ODL
-#define GPIO_AC_PRESENT GPIO_ACOK_OD
-#define GPIO_RSMRST_L_PGOOD GPIO_PG_EC_RSMRST_ODL
-#define GPIO_PCH_DSW_PWROK GPIO_EC_PCH_DSW_PWROK
-#define GPIO_PCH_SLP_S3_L GPIO_SLP_S3_L
-#define GPIO_PCH_SLP_S4_L GPIO_SLP_S4_L
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-enum adc_channel {
- ADC_VBUS_C0,
- ADC_VBUS_C1,
- ADC_CH_COUNT
-};
-
-enum pwm_channel {
- PWM_CH_KBLIGHT,
- PWM_CH_LED_RED,
- PWM_CH_LED_GREEN,
- PWM_CH_LED_BLUE,
- PWM_CH_COUNT
-};
-
-/* List of possible batteries */
-enum battery_type {
- BATTERY_0RD,
- BATTERY_TYPE_COUNT,
-};
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/dragonegg/build.mk b/board/dragonegg/build.mk
deleted file mode 100644
index 6da7e2db93..0000000000
--- a/board/dragonegg/build.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- makefile -*-
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-#
-
-CHIP:=it83xx
-CHIP_FAMILY:=it8320
-CHIP_VARIANT:=it8320dx
-BASEBOARD:=dragonegg
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
-board-$(CONFIG_LED_COMMON)+=led.o
diff --git a/board/dragonegg/ec.tasklist b/board/dragonegg/ec.tasklist
deleted file mode 100644
index 7f2b65261f..0000000000
--- a/board/dragonegg/ec.tasklist
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2018 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, 0, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(USB_CHG_P1, usb_charger_task, 1, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(USB_CHG_P2, usb_charger_task, 2, LARGER_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_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_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) \
- TASK_ALWAYS(PD_C2, pd_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C2, pd_interrupt_handler_task, 2, TASK_STACK_SIZE)
diff --git a/board/dragonegg/gpio.inc b/board/dragonegg/gpio.inc
deleted file mode 100644
index ac46ccbd6f..0000000000
--- a/board/dragonegg/gpio.inc
+++ /dev/null
@@ -1,131 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2018 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. */
-
-/* Wake Source interrupts */
-GPIO_INT(LID_OPEN, PIN(F, 3), GPIO_INT_BOTH, lid_interrupt)
-GPIO_INT(WP_L, PIN(F, 1), GPIO_INT_BOTH, switch_interrupt) /* EC_WP_ODL */
-GPIO_INT(POWER_BUTTON_L, PIN(E, 2), GPIO_INT_BOTH, power_button_interrupt) /* MECH_PWR_BTN_ODL */
-GPIO_INT(ACOK_OD, PIN(E, 3), GPIO_INT_BOTH, extpower_interrupt)
-#ifdef CONFIG_LOW_POWER_IDLE
-/* Used to wake up the EC from Deep Doze mode when writing to console */
-GPIO_INT(UART1_RX, PIN(B, 0), GPIO_INT_BOTH, uart_deepsleep_interrupt) /* UART_SERVO_TX_EC_RX */
-#endif
-
-/* Power sequencing interrupts */
-GPIO_INT(SLP_S0_L, PIN(E, 4), GPIO_INT_BOTH, power_signal_interrupt)
-#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S3
-GPIO_INT(SLP_S3_L, PIN(I, 4), GPIO_INT_BOTH, power_signal_interrupt)
-#endif
-#ifndef CONFIG_HOSTCMD_ESPI_VW_SLP_S4
-GPIO_INT(SLP_S4_L, PIN(I, 5), GPIO_INT_BOTH, power_signal_interrupt)
-#endif
-GPIO_INT(SLP_SUS_L, PIN(G, 2), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PG_EC_RSMRST_ODL,PIN(E, 1), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PG_EC_DSW_PWROK, PIN(D, 6), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* USB-C interrupts */
-GPIO_INT(USB_C0_TCPPC_INT_L, PIN(B, 2), GPIO_INT_FALLING, ppc_interrupt)
-GPIO_INT(USB_C2_TCPPC_INT_ODL, PIN(L, 1), GPIO_INT_FALLING, ppc_interrupt)
-GPIO_INT(USB_C2_TCPC_INT_ODL, PIN(K, 6), GPIO_INT_FALLING, tcpc_alert_event)
-
-/* Misc. interrupts */
-GPIO_INT(VOLUME_DOWN_L, PIN(I, 6), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(VOLUME_UP_L, PIN(I, 7), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-/* TODO (b:110947310) Uncomment this when sensor task is added to image */
-/* GPIO_INT(BASE_SIXAXIS_INT_L, PIN(J, 0), GPIO_INT_FALLING | GPIO_SEL_1P8V, lsm6dsm_interrupt) */
-
-#ifdef CONFIG_HOSTCMD_ESPI
-/* enable 1.8v input of EC's espi_reset pin, and then this pin takes effect. */
-GPIO_INT(ESPI_RESET_L, PIN(D, 2), GPIO_INT_FALLING | GPIO_SEL_1P8V, espi_reset_pin_asserted_interrupt) /* eSPI_reset# */
-#endif
-
-GPIO(SYS_RESET_L, PIN(D, 1), GPIO_ODR_HIGH) /* SYS_RST_ODL */
-GPIO(PCH_WAKE_L, PIN(D, 5), GPIO_ODR_HIGH) /* EC_PCH_WAKE_ODL */
-GPIO(PCH_PWRBTN_L, PIN(B, 6), GPIO_ODR_HIGH) /* EC_PCH_PWR_BTN_ODL */
-
-/* Power Sequencing Signals */
-/*
- * Both PP5000 and PP3300_TCPC should be powered up whenever the EC is not in
- * hibernate mode. They are enabled by default here and disabled in the
- * board_hibernate() callback when the EC goes into hibernate mode.
- */
-GPIO(EN_PP5000, PIN(K, 5), GPIO_OUT_HIGH)
-GPIO(EN_PP3300_TCPC, PIN(E, 6), GPIO_OUT_HIGH)
-GPIO(EN_PP3300_A, PIN(C, 5), GPIO_OUT_LOW)
-GPIO(EC_PCH_DSW_PWROK, PIN(L, 7), GPIO_OUT_LOW)
-GPIO(EC_PCH_RSMRST_L, PIN(H, 0), GPIO_OUT_LOW)
-GPIO(EC_PROCHOT_ODL, PIN(D, 0), GPIO_ODR_HIGH)
-GPIO(PP5000_PG_OD, PIN(F, 0), GPIO_INPUT)
-
-/* SYS_PWROK generation is done by the Dialog power good IC */
-UNIMPLEMENTED(PG_EC_ALL_SYS_PWRGD)
-
-/* USB and USBC Signals */
-GPIO(USB_OC_ODL, PIN(J, 6), GPIO_ODR_HIGH)
-GPIO(EN_USB_A_5V, PIN(G, 6), GPIO_OUT_LOW)
-GPIO(EN_USB_A_HIGH_POWER, PIN(D, 4), GPIO_OUT_LOW)
-
-/* BC 1.2 Detection Signals */
-GPIO(USB_C0_BC12_CHG_MAX, PIN(D, 3), GPIO_INPUT) /* C0 BC 1.2 CDP signal */
-GPIO(USB_C1_BC12_CHG_MAX, PIN(B, 7), GPIO_INPUT) /* C1 BC 1.2 CDP signal */
-GPIO(USB_C2_BC12_CHG_MAX, PIN(K, 0), GPIO_INPUT) /* C2 BC 1.2 CDP signal */
-GPIO(USB_C0_BC12_VBUS_ON_ODL, PIN(C, 0), GPIO_ODR_HIGH) /* C0 BC 1.2 enable signal */
-GPIO(USB_C1_BC12_VBUS_ON_ODL, PIN(E, 5), GPIO_ODR_HIGH) /* C1 BC 1.2 enable signal */
-GPIO(USB_C2_BC12_VBUS_ON_ODL, PIN(K, 1), GPIO_ODR_HIGH) /* C2 BC 1.2 enable signal */
-
-/* I2C pins - Alternate function below configures I2C module on these pins */
-GPIO(I2C0_SCL, PIN(B, 3), GPIO_INPUT) /* EC_PROG_SCL */
-GPIO(I2C0_SDA, PIN(B, 4), GPIO_INPUT) /* EC_PROG_SDA */
-GPIO(I2C1_SCL, PIN(C, 1), GPIO_INPUT) /* EC_I2C_SENSOR_KB_BL_SCL */
-GPIO(I2C1_SDA, PIN(C, 2), GPIO_INPUT) /* EC_I2C_SENSOR_KB_BL_SDA */
-GPIO(I2C2_SCL, PIN(F, 6), GPIO_INPUT) /* EC_I2C_USB_C1C2_SCL */
-GPIO(I2C2_SDA, PIN(F, 7), GPIO_INPUT) /* EC_I2C_USB_C1C2_SDA */
-GPIO(I2C4_SCL, PIN(E, 0), GPIO_INPUT) /* EC_I2C_USB_C0_SCL */
-GPIO(I2C4_SDA, PIN(E, 7), GPIO_INPUT) /* EC_I2C_USB_C0_SDA */
-GPIO(I2C5_SCL, PIN(A, 4), GPIO_INPUT) /* EC_I2C_POWER_SCL */
-GPIO(I2C5_SDA, PIN(A, 5), GPIO_INPUT) /* EC_I2C_POWER_SDA */
-
-GPIO(CCD_MODE_ODL, PIN(H, 5), GPIO_INPUT) /* H1 Case Closed Debug */
-GPIO(CHG_VAP_OTG_EN, PIN(C, 3), GPIO_OUT_LOW) /* Charger VAP/OTG Mode_*/
-GPIO(EC_BATT_PRES_ODL, PIN(H, 3), GPIO_INPUT)
-GPIO(ENTERING_RW, PIN(G, 0), GPIO_OUT_LOW) /* EC_ENTERING_RW */
-GPIO(EDP_BKTLEN_OD, PIN(K, 4), GPIO_ODR_LOW) /* Backlight Disable */
-GPIO(KB_BL_EN, PIN(J, 3), GPIO_OUT_LOW)
-/* TODO (b:110947310) Convert this to interrupt when senor support is added */
-GPIO(LID_ACCEL_INT_L, PIN(J, 1), GPIO_INPUT | GPIO_SEL_1P8V)
-
-/* Board ID */
-GPIO(BOARD_VERSION1, PIN(H, 4), GPIO_INPUT) /* Board ID bit0 */
-GPIO(BOARD_VERSION2, PIN(K, 3), GPIO_INPUT) /* Board ID bit1 */
-GPIO(BOARD_VERSION3, PIN(H, 6), GPIO_INPUT) /* Board ID bit2 */
-
-/* Fan Control Pins (connected to TP only, set as inputs) */
-GPIO(EC_FAN_TACH1, PIN(J, 2), GPIO_INPUT)
-GPIO(EC_FAN_TACH2, PIN(D, 7), GPIO_INPUT)
-GPIO(FAN_PWM1, PIN(A, 6), GPIO_INPUT)
-GPIO(FAN_PWM2, PIN(A, 7), GPIO_INPUT)
-
-/* Alternate functions GPIO definitions */
-ALTERNATE(PIN_MASK(B, 0x03), 0, MODULE_UART, 0) /* UART from EC to Servo */
-ALTERNATE(PIN_MASK(B, 0x18), 0, MODULE_I2C, 0) /* I2C0 */
-ALTERNATE(PIN_MASK(C, 0x06), 0, MODULE_I2C, 0) /* I2C1 */
-ALTERNATE(PIN_MASK(F, 0xC0), 0, MODULE_I2C, 0) /* I2C2 */
-ALTERNATE(PIN_MASK(E, 0x81), 0, MODULE_I2C, 0) /* I2C4 */
-ALTERNATE(PIN_MASK(A, 0x30), 0, MODULE_I2C, 0) /* I2C5 */
-/* Charger_IADP -> ADC15, CHARGER_PSYS -> ADC16 */
-ALTERNATE(PIN_MASK(L, 0x0C), 0, MODULE_ADC, 0)
-/* Temp sensors 1 -> ADC2, 2 -> ADC3, 3 -> ADC13 */
-ALTERNATE(PIN_MASK(I, 0x0C), 0, MODULE_ADC, 0)
-ALTERNATE(PIN_MASK(L, 0x01), 0, MODULE_ADC, 0)
-/* Keyboard Backlight Control */
-ALTERNATE(PIN_MASK(A, 0x01), 0, MODULE_PWM, 0)
-/* 3 Color LED Control */
-ALTERNATE(PIN_MASK(A, 0x0E), 0, MODULE_PWM, 0)
-ALTERNATE(PIN_MASK(I, 0x03), 0, MODULE_ADC, 0) /* ADC1 & ADC0: ADC_USB_C0_VBUS & ADC_USB_C1_VBUS */
diff --git a/board/dragonegg/led.c b/board/dragonegg/led.c
deleted file mode 100644
index 45e944619d..0000000000
--- a/board/dragonegg/led.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Copyright 2018 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 DragonEgg
- */
-
-#include "common.h"
-#include "ec_commands.h"
-#include "led_pwm.h"
-#include "pwm.h"
-#include "util.h"
-
-const enum ec_led_id supported_led_ids[] = {
- EC_LED_ID_POWER_LED,
-};
-const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids);
-
-struct pwm_led led_color_map[EC_LED_COLOR_COUNT] = {
- /* Red, Green, Blue */
- [EC_LED_COLOR_RED] = { 80, 0, 0 },
- [EC_LED_COLOR_GREEN] = { 0, 65, 0 },
- [EC_LED_COLOR_BLUE] = { 0, 0, 100 },
- [EC_LED_COLOR_YELLOW] = { 80, 80, 0 },
- [EC_LED_COLOR_WHITE] = { 80, 65, 100 },
- [EC_LED_COLOR_AMBER] = { 65, 20, 0 },
-};
-
-/*
- * One tri-color LEDs with red, green, and blue channels.
- *
- */
-struct pwm_led pwm_leds[CONFIG_LED_PWM_COUNT] = {
- [PWM_LED0] = {
- /* left port LEDs */
- .ch0 = PWM_CH_LED_RED,
- .ch1 = PWM_CH_LED_GREEN,
- .ch2 = PWM_CH_LED_BLUE,
- .enable = &pwm_enable,
- .set_duty = &pwm_set_duty,
- },
-};
-
-void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range)
-{
- brightness_range[EC_LED_COLOR_RED] = 100;
- brightness_range[EC_LED_COLOR_GREEN] = 100;
- brightness_range[EC_LED_COLOR_YELLOW] = 100;
- brightness_range[EC_LED_COLOR_AMBER] = 100;
- brightness_range[EC_LED_COLOR_BLUE] = 100;
- brightness_range[EC_LED_COLOR_WHITE] = 100;
-}
-
-int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness)
-{
- enum pwm_led_id pwm_id;
-
- /* Convert ec_led_id to pwm_led_id. */
- if (led_id == EC_LED_ID_POWER_LED)
- pwm_id = PWM_LED0;
- else
- return EC_ERROR_UNKNOWN;
-
- if (brightness[EC_LED_COLOR_RED])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_RED);
- else if (brightness[EC_LED_COLOR_GREEN])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_GREEN);
- else if (brightness[EC_LED_COLOR_BLUE])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_BLUE);
- else if (brightness[EC_LED_COLOR_YELLOW])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_YELLOW);
- else if (brightness[EC_LED_COLOR_WHITE])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_WHITE);
- else if (brightness[EC_LED_COLOR_AMBER])
- set_pwm_led_color(pwm_id, EC_LED_COLOR_AMBER);
- else
- /* Otherwise, the "color" is "off". */
- set_pwm_led_color(pwm_id, -1);
-
- return EC_SUCCESS;
-}
diff --git a/board/dragonegg/vif_override.xml b/board/dragonegg/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/dragonegg/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/flapjack_scp b/board/flapjack_scp
deleted file mode 120000
index 41dcc54c4d..0000000000
--- a/board/flapjack_scp
+++ /dev/null
@@ -1 +0,0 @@
-kukui_scp \ No newline at end of file
diff --git a/board/glkrvp/battery.c b/board/glkrvp/battery.c
deleted file mode 100644
index cccf3c1016..0000000000
--- a/board/glkrvp/battery.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * Battery pack vendor provided charging profile
- */
-
-#include "battery.h"
-#include "charger_profile_override.h"
-#include "console.h"
-#include "pca9555.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_CHARGER, format, ## args)
-
-#define I2C_PORT_PCA555_BATT_PRESENT_GPIO NPCX_I2C_PORT0_0
-#define I2C_ADDR_PCA555_BATT_PRESENT_GPIO_FLAGS 0x21
-#define PCA555_BATT_PRESENT_GPIO_READ(reg, data) \
- pca9555_read(I2C_PORT_PCA555_BATT_PRESENT_GPIO, \
- I2C_ADDR_PCA555_BATT_PRESENT_GPIO_FLAGS, (reg), (data))
-
-/* Shutdown mode parameter to write to manufacturer access register */
-#define SB_SHUTDOWN_DATA 0x0010
-
-enum fast_chg_voltage_ranges {
- VOLTAGE_RANGE_0,
- VOLTAGE_RANGE_1,
- VOLTAGE_RANGE_2,
-};
-
-enum temp_range {
- TEMP_RANGE_0,
- TEMP_RANGE_1,
- TEMP_RANGE_2,
- TEMP_RANGE_3,
- TEMP_RANGE_4,
- TEMP_RANGE_5,
-};
-
-/* keep track of previous charge profile info */
-static const struct fast_charge_profile *prev_chg_profile_info;
-
-/* SMP-CA-445 battery & BQ30Z554 fuel gauge */
-static const struct battery_info batt_info_smp_ca445 = {
- .voltage_max = 8700, /* mV */
- .voltage_normal = 7600,
-
- /*
- * Actual value 6000mV, added 100mV for charger accuracy so that
- * unwanted low VSYS_Prochot# assertion can be avoided.
- */
- .voltage_min = 6100,
- .precharge_current = 150, /* mA */
- .start_charging_min_c = 0,
- .start_charging_max_c = 45,
- .charging_min_c = 0,
- .charging_max_c = 45,
- .discharging_min_c = -20,
- .discharging_max_c = 60,
-};
-
-const struct battery_info *battery_get_info(void)
-{
- static struct battery_info batt_info;
-
- if (battery_is_present() == BP_YES)
- return &batt_info_smp_ca445;
-
- /*
- * In no battery condition, to avoid voltage drop on VBATA set
- * the battery minimum voltage to the battery maximum voltage.
- */
-
- batt_info = batt_info_smp_ca445;
- batt_info.voltage_min = batt_info.voltage_max;
-
- return &batt_info;
-}
-
-static const struct fast_charge_profile fast_charge_smp_ca445_info[] = {
- /* < 0C */
- [TEMP_RANGE_0] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(-1),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 0,
- [VOLTAGE_RANGE_1] = 0,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-
- /* 0C >= && <=15C */
- [TEMP_RANGE_1] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(15),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 890,
- [VOLTAGE_RANGE_1] = 445,
- [VOLTAGE_RANGE_2] = 445,
- },
- },
-
- /* 15C > && <=20C */
- [TEMP_RANGE_2] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(20),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 1335,
- [VOLTAGE_RANGE_1] = 1335,
- [VOLTAGE_RANGE_2] = 1335,
- },
- },
-
- /* 20C > && <=45C */
- [TEMP_RANGE_3] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(45),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 2225,
- [VOLTAGE_RANGE_1] = 2225,
- [VOLTAGE_RANGE_2] = 2225,
- },
- },
-
- /* 45C > && <=55C */
- [TEMP_RANGE_4] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(55),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 1335,
- [VOLTAGE_RANGE_1] = 1335,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-
- /* > 55C */
- [TEMP_RANGE_5] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(CHARGER_PROF_TEMP_C_LAST_RANGE),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 0,
- [VOLTAGE_RANGE_1] = 0,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-};
-
-static const struct fast_charge_params fast_chg_params_smp_ca445 = {
- .total_temp_ranges = ARRAY_SIZE(fast_charge_smp_ca445_info),
- .default_temp_range_profile = TEMP_RANGE_3,
- .voltage_mV = {
- [VOLTAGE_RANGE_0] = 8000,
- [VOLTAGE_RANGE_1] = 8200,
- [VOLTAGE_RANGE_2] = CHARGER_PROF_VOLTAGE_MV_LAST_RANGE,
- },
- .chg_profile_info = &fast_charge_smp_ca445_info[0],
-};
-
-/*
- * 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)
-{
- /*
- * If battery present and not in cut off and almost full
- * then if it does not want charge then discharge on AC
- */
- if ((battery_is_present() == BP_YES) &&
- !(curr->batt.flags & BATT_FLAG_WANT_CHARGE) &&
- (curr->batt.status & STATUS_FULLY_CHARGED)) {
- charger_discharge_on_ac(1);
- curr->state = ST_DISCHARGE;
- return 0;
- }
-
- charger_discharge_on_ac(0);
-
- return charger_profile_override_common(curr,
- &fast_chg_params_smp_ca445,
- &prev_chg_profile_info,
- batt_info_smp_ca445.voltage_max);
-}
-
-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 rv;
-
- return sb_write(SB_MANUFACTURER_ACCESS, SB_SHUTDOWN_DATA);
-}
-
-static inline int batt_smp_cos4870_is_initialized(void)
-{
- int batt_status;
-
- return battery_status(&batt_status) ? 0 :
- batt_status & STATUS_INITIALIZED;
-}
-
-enum battery_present battery_hw_present(void)
-{
- int data;
- int rv;
-
- rv = PCA555_BATT_PRESENT_GPIO_READ(PCA9555_CMD_INPUT_PORT_0, &data);
-
- /* GPIO is low when the battery is physically present */
- return rv || (data & PCA9555_IO_5) ? BP_NO : BP_YES;
-}
-
-/*
- * Physical detection of battery.
- */
-enum battery_present battery_is_present(void)
-{
- static enum battery_present batt_pres_prev = BP_NOT_SURE;
- enum battery_present batt_pres;
-
- /* Get the physical hardware status */
- batt_pres = battery_hw_present();
-
- /*
- * Make sure battery status is implemented, I2C transactions are
- * success & the battery status is Initialized to find out if it
- * is a working battery and it is not in the cut-off mode.
- *
- * FETs are turned off after Power Shutdown time.
- * The device will wake up when a voltage is applied to PACK.
- * Battery status will be inactive until it is initialized.
- */
- if (batt_pres == BP_YES && batt_pres_prev != batt_pres &&
- !battery_is_cut_off() && !batt_smp_cos4870_is_initialized())
- batt_pres = BP_NO;
-
- batt_pres_prev = batt_pres;
-
- return batt_pres;
-}
diff --git a/board/glkrvp/board.c b/board/glkrvp/board.c
deleted file mode 100644
index c4b3ce6e38..0000000000
--- a/board/glkrvp/board.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Intel GLK-RVP board-specific configuration */
-
-#include "button.h"
-#include "charger.h"
-#include "chipset.h"
-#include "console.h"
-#include "driver/charger/isl923x.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 "pca9555.h"
-#include "power.h"
-#include "power_button.h"
-#include "spi.h"
-#include "switch.h"
-#include "system.h"
-#include "task.h"
-#include "timer.h"
-#include "uart.h"
-#include "util.h"
-
-#include "gpio_list.h"
-
-#define I2C_PORT_PCA555_PMIC_GPIO NPCX_I2C_PORT0_0
-#define I2C_ADDR_PCA555_PMIC_GPIO_FLAGS 0x21
-#define PCA555_PMIC_GPIO_WRITE(reg, data) \
- pca9555_write(I2C_PORT_PCA555_PMIC_GPIO, \
- I2C_ADDR_PCA555_PMIC_GPIO_FLAGS, (reg), (data))
-#define PCA555_PMIC_GPIO_READ(reg, data) \
- pca9555_read(I2C_PORT_PCA555_PMIC_GPIO, \
- I2C_ADDR_PCA555_PMIC_GPIO_FLAGS, (reg), (data))
-
-#define I2C_PORT_PCA555_BOARD_ID_GPIO NPCX_I2C_PORT0_0
-#define I2C_ADDR_PCA555_BOARD_ID_GPIO_FLAGS 0x20
-#define PCA555_BOARD_ID_GPIO_READ(reg, data) \
- pca9555_read(I2C_PORT_PCA555_BOARD_ID_GPIO, \
- I2C_ADDR_PCA555_BOARD_ID_GPIO_FLAGS, (reg), (data))
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- {"pmic", NPCX_I2C_PORT0_0, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA},
- {"typec", NPCX_I2C_PORT7_0, 400, GPIO_I2C7_SCL, GPIO_I2C7_SDA},
- {"master1", NPCX_I2C_PORT1_0, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
- {"master2", NPCX_I2C_PORT2_0, 100, GPIO_I2C2_SCL, GPIO_I2C2_SDA},
- {"charger", NPCX_I2C_PORT3_0, 100, GPIO_I2C3_SCL, GPIO_I2C3_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-};
-
-/* Wake-up pins for hibernate */
-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);
-
-/* Called by APL power state machine when transitioning from G3 to S5 */
-void chipset_pre_init_callback(void)
-{
- int data;
-
- if (PCA555_PMIC_GPIO_READ(PCA9555_CMD_OUTPUT_PORT_0, &data))
- return;
-
- /*
- * No need to re-init PMIC since settings are sticky across sysjump.
- * However, be sure to check that PMIC is already enabled. If it is
- * then there's no need to re-sequence the PMIC.
- */
- if (system_jumped_to_this_image() && (data & PCA9555_IO_0))
- return;
-
- /* Enable SOC_3P3_EN_L: Set the Output port O0.1 to low level */
- data &= ~PCA9555_IO_1;
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_OUTPUT_PORT_0, data);
-
- /* TODO: Find out from the spec */
- msleep(10);
-
- /* Enable PMIC_EN: Set the Output port O0.0 to high level */
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_OUTPUT_PORT_0, data | PCA9555_IO_0);
-}
-
-/* Initialize board. */
-static void board_init(void)
-{
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_FIRST);
-
-/* Called on AP S5 -> S3 transition */
-static void board_chipset_startup(void)
-{
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S3 -> S5 transition */
-static void board_chipset_shutdown(void)
-{
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT);
-
-void chipset_do_shutdown(void)
-{
- int data;
-
- if (PCA555_PMIC_GPIO_READ(PCA9555_CMD_OUTPUT_PORT_0, &data))
- return;
-
- /* Disable SOC_3P3_EN_L: Set the Output port O0.1 to high level */
- data |= PCA9555_IO_1;
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_OUTPUT_PORT_0, data);
-
- /* TODO: Find out from the spec */
- msleep(10);
-
- /* Disable PMIC_EN: Set the Output port O0.0 to low level */
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_OUTPUT_PORT_0, data & ~PCA9555_IO_0);
-}
-
-void board_hibernate_late(void)
-{
-}
-
-void board_hibernate(void)
-{
- /*
- * To support hibernate called from console commands, ectool commands
- * and key sequence, shutdown the AP before hibernating.
- */
- chipset_do_shutdown();
-
- /* Added delay to allow AP to settle down */
- msleep(100);
-}
-
-int board_get_version(void)
-{
- int data;
-
- if (PCA555_BOARD_ID_GPIO_READ(PCA9555_CMD_INPUT_PORT_1, &data))
- return -1;
-
- return data & 0x0f;
-}
-
-static void pmic_init(void)
-{
- /* No need to re-init PMIC since settings are sticky across sysjump. */
- if (system_jumped_late())
- return;
-
- /*
- * PMIC INIT
- * Configure Port O0.0 as Output port - PMIC_EN
- * Configure Port O0.1 as Output port - SOC_3P3_EN_L
- */
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_CONFIGURATION_PORT_0, 0xfc);
-
- /*
- * Set the Output port O0.0 to low level - PMIC_EN
- * Set the Output port O0.1 to high level - SOC_3P3_EN_L
- *
- * POR of PCA9555 port is input with high impedance hence explicitly
- * configure the SOC_3P3_EN_L to high level.
- */
- PCA555_PMIC_GPIO_WRITE(PCA9555_CMD_OUTPUT_PORT_0, 0xfe);
-}
-DECLARE_HOOK(HOOK_INIT, pmic_init, HOOK_PRIO_INIT_I2C + 1);
diff --git a/board/glkrvp/board.h b/board/glkrvp/board.h
deleted file mode 100644
index 6f1e7c3738..0000000000
--- a/board/glkrvp/board.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Intel GLK-RVP board-specific configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/*
- * Allow dangerous commands.
- * TODO: Remove this config before production.
- */
-#define CONFIG_SYSTEM_UNLOCKED
-
-#define CC_DEFAULT (CC_ALL & ~(CC_MASK(CC_EVENTS) | CC_MASK(CC_LPC)))
-#undef CONFIG_HOSTCMD_DEBUG_MODE
-
-/*
- * By default, enable all console messages excepted HC, ACPI and event:
- * The sensor stack is generating a lot of activity.
- */
-#define CONFIG_HOSTCMD_DEBUG_MODE HCDEBUG_OFF
-
-/* EC console commands */
-
-/* Battery */
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_PRESENT_CUSTOM
-#define CONFIG_BATTERY_SMART
-
-/* Charger */
-#define CONFIG_CHARGE_MANAGER
-#define CONFIG_CHARGER
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-#define CONFIG_CHARGER_INPUT_CURRENT 512
-#define CONFIG_CHARGER_ISL9238
-#define CONFIG_CHARGER_PROFILE_OVERRIDE
-#define CONFIG_CHARGER_PROFILE_OVERRIDE_COMMON
-#undef CONFIG_CHARGER_PROFILE_VOLTAGE_RANGES
-#define CONFIG_CHARGER_PROFILE_VOLTAGE_RANGES 3
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-#undef CONFIG_EXTPOWER_DEBOUNCE_MS
-#define CONFIG_EXTPOWER_DEBOUNCE_MS 1000
-#define CONFIG_EXTPOWER_GPIO
-
-/* DC Jack charge ports */
-#undef CONFIG_DEDICATED_CHARGE_PORT_COUNT
-#define CONFIG_DEDICATED_CHARGE_PORT_COUNT 1
-#define DEDICATED_CHARGE_PORT 2
-
-/* Keyboard */
-#define CONFIG_KEYBOARD_PROTOCOL_8042
-
-/* UART */
-#define NPCX_UART_MODULE2 1 /* 0:GPIO10/11 1:GPIO64/65 as UART */
-#define NPCX7_PWM1_SEL 0 /* GPIO C2 is not used as PWM1. */
-
-/* USB-A config */
-
-/* USB PD config */
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0
-#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_TCPC
-#define CONFIG_USB_POWER_DELIVERY
-#define CONFIG_USB_PD_TCPMV1
-
-/* USB MUX */
-#define CONFIG_USBC_SS_MUX
-#define CONFIG_USB_MUX_PS8743
-
-/* SoC / PCH */
-#define CONFIG_HOSTCMD_ESPI
-#define CONFIG_CHIPSET_GEMINILAKE
-#define CONFIG_CHIPSET_RESET_HOOK
-#define CONFIG_POWER_BUTTON
-#define CONFIG_POWER_BUTTON_X86
-#define CONFIG_POWER_COMMON
-#define CONFIG_POWER_S0IX
-#define CONFIG_POWER_TRACK_HOST_SLEEP_STATE
-
-/* EC */
-#define CONFIG_VOLUME_BUTTONS
-#define GPIO_VOLUME_UP_L GPIO_EC_VOLUP_BTN_ODL
-#define GPIO_VOLUME_DOWN_L GPIO_EC_VOLDN_BTN_ODL
-#define CONFIG_WP_ALWAYS
-#define CONFIG_FLASH_READOUT_PROTECTION
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-
-#define CONFIG_LID_SWITCH
-#define CONFIG_LTO
-
-#define CONFIG_LOW_POWER_IDLE
-
-#define CONFIG_FLASH_SIZE_BYTES 524288
-#define CONFIG_SPI_FLASH_REGS
-#define CONFIG_SPI_FLASH_W25Q40
-
-/* Verified boot */
-#define CONFIG_SHA256_UNROLLED
-#define CONFIG_VBOOT_HASH
-/*
- * 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
-
-/* Optional feature - used by nuvoton */
-#define NPCX_JTAG_MODULE2 0 /* 0:GPIO21/17/16/20 1:GPIOD5/E2/D4/E5 as JTAG*/
-#define NPCX_TACH_SEL2 0 /* 0:GPIO40/A4 1:GPIO93/D3 as TACH */
-
-/* I2C ports */
-#define I2C_PORT_CHARGER NPCX_I2C_PORT3_0
-#define I2C_PORT_BATTERY NPCX_I2C_PORT3_0
-#define I2C_PORT_USB_MUX NPCX_I2C_PORT7_0
-
-/* EC exclude modules */
-#undef CONFIG_ADC
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-enum adc_channel {
- ADC_VBUS,
- ADC_CH_COUNT,
-};
-
-int board_get_version(void);
-
-/* TODO: Verify the numbers below. */
-#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
-#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* 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
-#define PD_MAX_VOLTAGE_MV 20000
-#define DC_JACK_MAX_VOLTAGE_MV 19000
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void);
-void tcpc_alert_event(enum gpio_signal signal);
-void board_charging_enable(int port, int enable);
-void board_vbus_enable(int port, int enable);
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/glkrvp/build.mk b/board/glkrvp/build.mk
deleted file mode 100644
index 235514e22b..0000000000
--- a/board/glkrvp/build.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# -*- makefile -*-
-# Copyright 2017 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-#
-
-CHIP:=npcx
-CHIP_FAMILY:=npcx7
-CHIP_VARIANT:=npcx7m6g
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
-board-$(CONFIG_USB_POWER_DELIVERY)+=chg_usb_pd.o usb_pd_policy.o
diff --git a/board/glkrvp/chg_usb_pd.c b/board/glkrvp/chg_usb_pd.c
deleted file mode 100644
index aea6e3eac5..0000000000
--- a/board/glkrvp/chg_usb_pd.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "charge_manager.h"
-#include "charge_state_v2.h"
-#include "console.h"
-#include "hooks.h"
-#include "task.h"
-#include "tcpm/tcpci.h"
-#include "system.h"
-#include "usb_mux.h"
-#include "util.h"
-
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
-
-#define PTN5110_EXT_GPIO_CONFIG 0x92
-#define PTN5110_EXT_GPIO_CONTROL 0x93
-
-#define PTN5110_EXT_GPIO_FRS_EN BIT(6)
-#define PTN5110_EXT_GPIO_EN_SRC BIT(5)
-#define PTN5110_EXT_GPIO_EN_SNK1 BIT(4)
-#define PTN5110_EXT_GPIO_IILIM_5V_VBUS_L BIT(3)
-
-enum glkrvp_charge_ports {
- TYPE_C_PORT_0,
- TYPE_C_PORT_1,
- DC_JACK_PORT_0 = DEDICATED_CHARGE_PORT,
-};
-
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = NPCX_I2C_PORT7_0,
- .addr_flags = 0x50,
- },
- .drv = &tcpci_tcpm_drv,
- },
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = NPCX_I2C_PORT7_0,
- .addr_flags = 0x52,
- },
- .drv = &tcpci_tcpm_drv,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .usb_port = 0,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = 0x10,
- .driver = &ps8743_usb_mux_driver,
- },
- {
- .usb_port = 1,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = 0x11,
- .driver = &ps8743_usb_mux_driver,
- },
-};
-
-static int board_charger_port_is_sourcing_vbus(int port)
-{
- int reg;
-
- if (tcpc_read(port, PTN5110_EXT_GPIO_CONTROL, &reg))
- return 0;
-
- return !!(reg & PTN5110_EXT_GPIO_EN_SRC);
-}
-
-static int ptn5110_ext_gpio_enable(int port, int enable, int gpio)
-{
- int reg;
- int rv;
-
- rv = tcpc_read(port, PTN5110_EXT_GPIO_CONTROL, &reg);
- if (rv)
- return rv;
-
- if (enable)
- reg |= gpio;
- else
- reg &= ~gpio;
-
- return tcpc_write(port, PTN5110_EXT_GPIO_CONTROL, reg);
-}
-
-void board_charging_enable(int port, int enable)
-{
- ptn5110_ext_gpio_enable(port, enable, PTN5110_EXT_GPIO_EN_SNK1);
-}
-
-void board_vbus_enable(int port, int enable)
-{
- ptn5110_ext_gpio_enable(port, enable, PTN5110_EXT_GPIO_EN_SRC);
-}
-
-void tcpc_alert_event(enum gpio_signal signal)
-{
- int port = -1;
-
- switch (signal) {
- case GPIO_USB_C0_PD_INT_ODL:
- port = 0;
- break;
- case GPIO_USB_C1_PD_INT_ODL:
- port = 1;
- break;
- default:
- return;
- }
-
- schedule_deferred_pd_interrupt(port);
-}
-
-void board_tcpc_init(void)
-{
- /* Only reset TCPC if not sysjump */
- if (!system_jumped_late())
- board_reset_pd_mcu();
-
- /* Enable TCPC0/1 interrupt */
- gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C1_PD_INT_ODL);
-}
-DECLARE_HOOK(HOOK_INIT, board_tcpc_init, HOOK_PRIO_INIT_I2C + 1);
-
-int board_tcpc_post_init(int port)
-{
- int reg;
- int rv;
-
- rv = tcpc_read(port, PTN5110_EXT_GPIO_CONFIG, &reg);
- if (rv)
- return rv;
-
- /* Configure PTN5110 External GPIOs as output */
- reg |= PTN5110_EXT_GPIO_EN_SRC | PTN5110_EXT_GPIO_EN_SNK1 |
- PTN5110_EXT_GPIO_IILIM_5V_VBUS_L;
- rv = tcpc_write(port, PTN5110_EXT_GPIO_CONFIG, reg);
- if (rv)
- return rv;
-
- return ptn5110_ext_gpio_enable(port, 1,
- PTN5110_EXT_GPIO_IILIM_5V_VBUS_L);
-}
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void)
-{
- /* TODO: Add reset logic */
-}
-
-static inline int board_dc_jack_present(void)
-{
- return !gpio_get_level(GPIO_DC_JACK_PRESENT_L);
-}
-
-static void board_dc_jack_handle(void)
-{
- struct charge_port_info charge_dc_jack;
-
- /* System is booted from DC Jack */
- if (board_dc_jack_present()) {
- charge_dc_jack.current = (PD_MAX_POWER_MW * 1000) /
- DC_JACK_MAX_VOLTAGE_MV;
- charge_dc_jack.voltage = DC_JACK_MAX_VOLTAGE_MV;
- } else {
- charge_dc_jack.current = 0;
- charge_dc_jack.voltage = USB_CHARGER_VOLTAGE_MV;
- }
-
- charge_manager_update_charge(CHARGE_SUPPLIER_DEDICATED,
- DC_JACK_PORT_0, &charge_dc_jack);
-}
-DECLARE_HOOK(HOOK_AC_CHANGE, board_dc_jack_handle, HOOK_PRIO_FIRST);
-
-static void board_charge_init(void)
-{
- int port, supplier;
-
- /* Initialize all charge suppliers to seed the charge manager */
- for (port = 0; port < CHARGE_PORT_COUNT; port++) {
- for (supplier = 0; supplier < CHARGE_SUPPLIER_COUNT; supplier++)
- charge_manager_update_charge(supplier, port, NULL);
- }
-
- board_dc_jack_handle();
-}
-DECLARE_HOOK(HOOK_INIT, board_charge_init, HOOK_PRIO_DEFAULT);
-
-int board_set_active_charge_port(int port)
-{
- /* if it's a PD port and sourcing VBUS, don't enable */
- if (port >= 0 && port < CONFIG_USB_PD_PORT_MAX_COUNT)
- if (board_charger_port_is_sourcing_vbus(port)) {
- CPRINTS("Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
-
- /*
- * Do not enable Type-C port if the DC Jack is present.
- * When the Type-C is active port, hardware circuit will
- * block DC jack from enabling +VADP_OUT.
- */
- if (port != DC_JACK_PORT_0 && board_dc_jack_present()) {
- CPRINTS("DC Jack present, Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
-
- /* Make sure non-charging port is disabled */
- switch (port) {
- case TYPE_C_PORT_0:
- board_charging_enable(TYPE_C_PORT_1, 0);
- board_charging_enable(TYPE_C_PORT_0, 1);
- break;
- case TYPE_C_PORT_1:
- board_charging_enable(TYPE_C_PORT_0, 0);
- board_charging_enable(TYPE_C_PORT_1, 1);
- break;
- case DC_JACK_PORT_0:
- case CHARGE_PORT_NONE:
- default:
- /* Disable both Type-C ports */
- board_charging_enable(TYPE_C_PORT_0, 0);
- board_charging_enable(TYPE_C_PORT_1, 0);
- break;
- }
-
- return EC_SUCCESS;
-}
-
-uint16_t tcpc_get_alert_status(void)
-{
- uint16_t status = 0;
-
- if (!gpio_get_level(GPIO_USB_C0_PD_INT_ODL))
- status |= PD_STATUS_TCPC_ALERT_0;
-
- if (!gpio_get_level(GPIO_USB_C1_PD_INT_ODL))
- status |= PD_STATUS_TCPC_ALERT_1;
-
- return status;
-}
-
-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);
-}
-
-int adc_read_channel(enum adc_channel ch)
-{
- return 0;
-}
diff --git a/board/glkrvp/ec.tasklist b/board/glkrvp/ec.tasklist
deleted file mode 100644
index 8fecf61480..0000000000
--- a/board/glkrvp/ec.tasklist
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Intel RVP board-specific configuration */
-
-/*
- * 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(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_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_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) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, TASK_STACK_SIZE)
diff --git a/board/glkrvp/gpio.inc b/board/glkrvp/gpio.inc
deleted file mode 100644
index a173ba6333..0000000000
--- a/board/glkrvp/gpio.inc
+++ /dev/null
@@ -1,180 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Intel GLK-RVP board-specific configuration */
-
-/*
- * Declare symbolic names for all the GPIOs that we care about.
- * Note: Those with interrupt handlers must be declared first.
- */
-
-/* Power sequencing interrupts */
-GPIO_INT(SUSPWRDNACK, PIN(0, 2), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(RSMRST_L_PGOOD,PIN(3, 6), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(ALL_SYS_PGOOD, PIN(7, 2), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S0_L, PIN(8, 1), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S3_L, PIN(8, 5), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S4_L, PIN(8, 6), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* Button interrupts */
-GPIO_INT(LID_OPEN, PIN(0, 3), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
-GPIO_INT(EC_VOLUP_BTN_ODL, PIN(3, 4), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(EC_VOLDN_BTN_ODL, PIN(3, 7), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(POWER_BUTTON_L, PIN(A, 6), GPIO_INT_BOTH, power_button_interrupt)
-
-/* Type-C interrupts */
-GPIO_INT(USB_C0_PD_INT_ODL, PIN(6, 2), GPIO_INT_FALLING, tcpc_alert_event)
-GPIO_INT(USB_C1_PD_INT_ODL, PIN(6, 3), GPIO_INT_FALLING, tcpc_alert_event)
-
-GPIO_INT(AC_PRESENT, PIN(D, 2), GPIO_INT_BOTH, extpower_interrupt)
-GPIO_INT(WP_L, PIN(9, 3), GPIO_INT_BOTH | GPIO_SEL_1P8V, switch_interrupt)
-
-UNIMPLEMENTED(PP3300_PG)
-UNIMPLEMENTED(PP5000_PG)
-
-/* Power sequencing GPIOs */
-GPIO(SYS_RESET_L, PIN(0, 0), GPIO_ODR_HIGH)
-GPIO(PCH_RSMRST_L, PIN(0, 1), GPIO_OUT_LOW)
-GPIO(SMC_SHUTDOWN, PIN(3, 3), GPIO_OUT_LOW | GPIO_PULL_DOWN)
-GPIO(PCH_SYS_PWROK, PIN(3, 5), GPIO_OUT_LOW)
-GPIO(PCH_PWRBTN_L, PIN(7, 5), GPIO_ODR_HIGH)
-/*
- * PCH_PROCHOT_ODL is primarily for monitoring the PROCHOT# signal which is
- * normally driven by the PMIC. The EC can also drive this signal in the event
- * that the ambient or charger temperature sensors exceeds their thresholds.
- */
-GPIO(CPU_PROCHOT, PIN(A, 3), GPIO_INPUT) /* PCH_PROCHOT_ODL */
-
-/* Host communication GPIOs */
-GPIO(PCH_WAKE_L, PIN(C, 1), GPIO_ODR_HIGH)
-
-GPIO(DC_JACK_PRESENT_L, PIN(7, 0), GPIO_INPUT) /* DC Jack presence coming from +V3P3_A_KBC */
-GPIO(USBC_LDO_ENABLE, PIN(7, 1), GPIO_OUT_HIGH) /* USB TCPC to enable LDO in dead battery */
-GPIO(ENABLE_BACKLIGHT, PIN(9, 7), GPIO_ODR_HIGH)
-GPIO(ENTERING_RW, PIN(A, 7), GPIO_OUTPUT) /* EC_ENTERING_RW */
-
-/*
- * I2C pins should be configured as inputs until I2C module is
- * initialized. This will avoid driving the lines unintentionally.
- */
-GPIO(I2C0_SCL, PIN(B, 5), GPIO_ODR_HIGH)
-GPIO(I2C0_SDA, PIN(B, 4), GPIO_ODR_HIGH)
-GPIO(I2C1_SCL, PIN(9, 0), GPIO_ODR_HIGH)
-GPIO(I2C1_SDA, PIN(8, 7), GPIO_ODR_HIGH)
-GPIO(I2C2_SCL, PIN(9, 2), GPIO_ODR_HIGH)
-GPIO(I2C2_SDA, PIN(9, 1), GPIO_ODR_HIGH)
-GPIO(I2C3_SCL, PIN(D, 1), GPIO_ODR_HIGH)
-GPIO(I2C3_SDA, PIN(D, 0), GPIO_ODR_HIGH)
-GPIO(I2C7_SCL, PIN(B, 3), GPIO_ODR_HIGH)
-GPIO(I2C7_SDA, PIN(B, 2), GPIO_ODR_HIGH)
-
-/* LPC / eSPI signals */
-#if 0
-GPIO(LAD0_eSPI_IO0, PIN(4, 6), GPIO_INPUT) /* LAD0 / eSPI_IO0 */
-GPIO(LAD1_eSPI_IO1, PIN(4, 7), GPIO_INPUT) /* LAD1 / eSPI_IO1 */
-GPIO(LAD2_eSPI_IO2, PIN(5, 1), GPIO_INPUT) /* LAD2 / eSPI_IO2 */
-GPIO(LAD3_eSPI_IO3, PIN(5, 2), GPIO_INPUT) /* LAD3 / eSPI_IO3 */
-GPIO(LFRAME_eSPI_CS, PIN(5, 3), GPIO_INPUT) /* LFRAME / eSPI_CS */
-GPIO(LRESET_eSPI_RST, PIN(5, 4), GPIO_INPUT) /* LRESET / eSPI_RST */
-GPIO(PCI_CLK_eSPI_CLK, PIN(5, 5), GPIO_INPUT) /* PCI_CLK / eSPI_CLK */
-GPIO(CLKRUN, PIN(5, 6), GPIO_INPUT) /* CLKRUN */
-GPIO(SER_IRQ_eSPI_ALERT,PIN(5, 7), GPIO_INPUT) /* SER_IRQ / eSPI_ALERT */
-#endif
-
-/* Unused pins 3.3V & Interruptable */
-GPIO(NC_04, PIN(0, 4), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_40, PIN(4, 0), GPIO_INPUT) /* TA1_TACH1 */
-GPIO(NC_41, PIN(4, 1), GPIO_INPUT | GPIO_PULL_UP) /* ADC4 */
-GPIO(NC_42, PIN(4, 2), GPIO_INPUT | GPIO_PULL_UP) /* ADC3 */
-GPIO(NC_43, PIN(4, 3), GPIO_INPUT | GPIO_PULL_UP) /* ADC2 */
-GPIO(NC_44, PIN(4, 4), GPIO_INPUT | GPIO_PULL_UP) /* ADC1 */
-GPIO(NC_45, PIN(4, 5), GPIO_INPUT | GPIO_PULL_UP) /* ADC5 */
-
-GPIO(NC_60, PIN(6, 0), GPIO_INPUT) /* PWM7 */
-GPIO(NC_61, PIN(6, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_67, PIN(6, 7), GPIO_INPUT) /* Wake-up button */
-
-GPIO(NC_73, PIN(7, 3), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_74, PIN(7, 4), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_76, PIN(7, 6), GPIO_INPUT | GPIO_PULL_UP) /* SCI */
-
-GPIO(NC_80, PIN(8, 0), GPIO_INPUT) /* PWM3 */
-GPIO(NC_82, PIN(8, 2), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_83, PIN(8, 3), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_84, PIN(8, 4), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_B1, PIN(B, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_B7, PIN(B, 7), GPIO_INPUT) /* PWM5 */
-
-GPIO(NC_C0, PIN(C, 0), GPIO_INPUT) /* PWM6 */
-GPIO(NC_C2, PIN(C, 2), GPIO_INPUT) /* PWM1 */
-GPIO(NC_C3, PIN(C, 3), GPIO_INPUT) /* PWM0 */
-GPIO(NC_C4, PIN(C, 4), GPIO_INPUT) /* PWM2 */
-GPIO(NC_C5, PIN(C, 5), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_C7, PIN(C, 7), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_C6, PIN(C, 6), GPIO_INPUT | GPIO_PULL_UP) /* SMI */
-
-GPIO(NC_D3, PIN(D, 3), GPIO_INPUT) /* TB1 */
-
-GPIO(NC_E7, PIN(E, 7), GPIO_INPUT) /* 32K_CLKIN */
-
-/* Unused pins: VSPI 3.3V or 1.8V & Interruptable */
-GPIO(NC_94, PIN(9, 4), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_95, PIN(9, 5), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_A1, PIN(A, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(NC_A5, PIN(A, 5), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_B0, PIN(B, 0), GPIO_INPUT | GPIO_PULL_UP)
-
-/* Unused pins 3.3V & Non-Interruptable */
-GPIO(NC_32, PIN(3, 2), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_66, PIN(6, 6), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(NC_B6, PIN(B, 6), GPIO_INPUT) /* PWM4 */
-
-/* eSPI: VHIF Unused pins 1.8V & Interruptable */
-GPIO(NC_50, PIN(5, 0), GPIO_INPUT | GPIO_PULL_UP)
-
-/* Alternate pins for UART */
-ALTERNATE(PIN_MASK(6, 0x30), 1, MODULE_UART, 0) /* GPIO64/65 */
-
-/* Alternate pins for I2C */
-ALTERNATE(PIN_MASK(8, 0x80), 1, MODULE_I2C, 0) /* I2C1:SDA GPIO87 */
-ALTERNATE(PIN_MASK(9, 0x01), 1, MODULE_I2C, 0) /* I2C1:SCL GPIO90 */
-ALTERNATE(PIN_MASK(9, 0x06), 1, MODULE_I2C, 0) /* I2C2:SDA/SCL GPIO91/92 */
-ALTERNATE(PIN_MASK(B, 0x0C), 1, MODULE_I2C, 0) /* I2C7:SDA/SCL GPIOB2/B3 */
-ALTERNATE(PIN_MASK(B, 0x30), 1, MODULE_I2C, 0) /* I2C0:SDA/SCL GPIOB4/B5 */
-ALTERNATE(PIN_MASK(D, 0x03), 1, MODULE_I2C, 0) /* I2C3:SDA/SCL GPIOD0/D1 */
-
-/* Keyboard pins */
-#define GPIO_KB_INPUT (GPIO_INPUT)
-#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH)
-
-/* Keyboard Columns */
-/* GPIO05/06/07 */
-ALTERNATE(PIN_MASK(0, 0xE0), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-/* GPIO10/11/12/13/14/15/16/17 */
-ALTERNATE(PIN_MASK(1, 0xFF), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-/* GPIO20/21 */
-ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-
-/* Keyboard Rows */
-/* GPIO22/23/24/25/26/27 */
-ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-/* GPIO30/31 */
-ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-
-/* EC SPI chip */
-#if 0
-GPIO(F_CS0_EC_L, PIN(A, 0), GPIO_OUT_HIGH | GPIO_PULL_UP)
-ALTERNATE(PIN_MASK(A, 0x14), 1, MODULE_SPI, 0) /* SPI:MOSI/SCLK GPIOA4/A2 */
-ALTERNATE(PIN_MASK(9, 0x40), 1, MODULE_SPI, 0) /* SPI:MISO GPIO96 */
-#endif
diff --git a/board/glkrvp/usb_pd_policy.c b/board/glkrvp/usb_pd_policy.c
deleted file mode 100644
index 19572f7063..0000000000
--- a/board/glkrvp/usb_pd_policy.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Copyright 2017 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "charge_manager.h"
-#include "compile_time_macros.h"
-#include "console.h"
-#include "gpio.h"
-#include "stddef.h"
-#include "system.h"
-#include "usb_mux.h"
-#include "usb_pd_tcpm.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 */
- board_charging_enable(port, 0);
-
- /* Provide VBUS */
- board_vbus_enable(port, 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 */
- board_vbus_enable(port, 0);
-
- /* notify host of power info change */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-int pd_check_vconn_swap(int port)
-{
- /* in G3, do not allow vconn swap since pp5000_A rail is off */
- /* TODO: return gpio_get_level(GPIO_PMIC_EN); */
- return 1;
-}
-
-/* ----------------- Vendor Defined Messages ------------------ */
-#ifdef CONFIG_USB_PD_ALT_MODE_DFP
-static void svdm_dp_post_config(int port)
-{
- dp_flags[port] |= DP_FLAGS_DP_ON;
- if (!(dp_flags[port] & DP_FLAGS_HPD_HI_PENDING))
- return;
- /* TODO: Update HPD to host */
-}
-
-static int svdm_dp_attention(int port, uint32_t *payload)
-{
- int lvl = PD_VDO_DPSTS_HPD_LVL(payload[1]);
-
- /* TODO: Read HPD IRQ */
-
- dp_status[port] = payload[1];
- if (!(dp_flags[port] & DP_FLAGS_DP_ON)) {
- if (lvl)
- dp_flags[port] |= DP_FLAGS_HPD_HI_PENDING;
- return 1;
- }
- /* TODO: Update HPD to host */
-
- /* ack */
- return 1;
-}
-#endif /* CONFIG_USB_PD_ALT_MODE_DFP */
diff --git a/board/glkrvp/vif_override.xml b/board/glkrvp/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/glkrvp/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/glkrvp_ite/battery.c b/board/glkrvp_ite/battery.c
deleted file mode 100644
index b2dc6a11c8..0000000000
--- a/board/glkrvp_ite/battery.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/* Copyright 2018 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 "charger_profile_override.h"
-#include "console.h"
-#include "pca9555.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_CHARGER, format, ## args)
-
-/* Shutdown mode parameter to write to manufacturer access register */
-#define SB_SHUTDOWN_DATA 0x0010
-
-enum fast_chg_voltage_ranges {
- VOLTAGE_RANGE_0,
- VOLTAGE_RANGE_1,
- VOLTAGE_RANGE_2,
-};
-
-enum temp_range {
- TEMP_RANGE_0,
- TEMP_RANGE_1,
- TEMP_RANGE_2,
- TEMP_RANGE_3,
- TEMP_RANGE_4,
- TEMP_RANGE_5,
-};
-
-/* keep track of previous charge profile info */
-static const struct fast_charge_profile *prev_chg_profile_info;
-
-/* SMP-CA-445 battery & BQ30Z554 fuel gauge */
-static const struct battery_info batt_info_smp_ca445 = {
- .voltage_max = 8700, /* mV */
- .voltage_normal = 7600,
-
- /*
- * Actual value 6000mV, added 100mV for charger accuracy so that
- * unwanted low VSYS_Prochot# assertion can be avoided.
- */
- .voltage_min = 6100,
- .precharge_current = 150, /* mA */
- .start_charging_min_c = 0,
- .start_charging_max_c = 45,
- .charging_min_c = 0,
- .charging_max_c = 45,
- .discharging_min_c = -20,
- .discharging_max_c = 60,
-};
-
-const struct battery_info *battery_get_info(void)
-{
- static struct battery_info batt_info;
-
- if (battery_is_present() == BP_YES)
- return &batt_info_smp_ca445;
-
- /*
- * In no battery condition, to avoid voltage drop on VBATA set
- * the battery minimum voltage to the battery maximum voltage.
- */
-
- batt_info = batt_info_smp_ca445;
- batt_info.voltage_min = batt_info.voltage_max;
-
- return &batt_info;
-}
-
-static const struct fast_charge_profile fast_charge_smp_ca445_info[] = {
- /* < 0C */
- [TEMP_RANGE_0] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(-1),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 0,
- [VOLTAGE_RANGE_1] = 0,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-
- /* 0C >= && <=15C */
- [TEMP_RANGE_1] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(15),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 890,
- [VOLTAGE_RANGE_1] = 445,
- [VOLTAGE_RANGE_2] = 445,
- },
- },
-
- /* 15C > && <=20C */
- [TEMP_RANGE_2] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(20),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 1335,
- [VOLTAGE_RANGE_1] = 1335,
- [VOLTAGE_RANGE_2] = 1335,
- },
- },
-
- /* 20C > && <=45C */
- [TEMP_RANGE_3] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(45),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 2225,
- [VOLTAGE_RANGE_1] = 2225,
- [VOLTAGE_RANGE_2] = 2225,
- },
- },
-
- /* 45C > && <=55C */
- [TEMP_RANGE_4] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(55),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 1335,
- [VOLTAGE_RANGE_1] = 1335,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-
- /* > 55C */
- [TEMP_RANGE_5] = {
- .temp_c = TEMPC_TENTHS_OF_DEG(CHARGER_PROF_TEMP_C_LAST_RANGE),
- .current_mA = {
- [VOLTAGE_RANGE_0] = 0,
- [VOLTAGE_RANGE_1] = 0,
- [VOLTAGE_RANGE_2] = 0,
- },
- },
-};
-
-static const struct fast_charge_params fast_chg_params_smp_ca445 = {
- .total_temp_ranges = ARRAY_SIZE(fast_charge_smp_ca445_info),
- .default_temp_range_profile = TEMP_RANGE_3,
- .voltage_mV = {
- [VOLTAGE_RANGE_0] = 8000,
- [VOLTAGE_RANGE_1] = 8200,
- [VOLTAGE_RANGE_2] = CHARGER_PROF_VOLTAGE_MV_LAST_RANGE,
- },
- .chg_profile_info = &fast_charge_smp_ca445_info[0],
-};
-
-/*
- * 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)
-{
- /*
- * If battery present and not in cut off and almost full
- * then if it does not want charge then discharge on AC
- */
- if ((battery_is_present() == BP_YES) &&
- !(curr->batt.flags & BATT_FLAG_WANT_CHARGE) &&
- (curr->batt.status & STATUS_FULLY_CHARGED)) {
- charger_discharge_on_ac(1);
- curr->state = ST_DISCHARGE;
- return 0;
- }
-
- charger_discharge_on_ac(0);
-
- return charger_profile_override_common(curr,
- &fast_chg_params_smp_ca445,
- &prev_chg_profile_info,
- batt_info_smp_ca445.voltage_max);
-}
-
-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 rv;
-
- return sb_write(SB_MANUFACTURER_ACCESS, SB_SHUTDOWN_DATA);
-}
-
-static inline int batt_smp_cos4870_is_initialized(void)
-{
- int batt_status;
-
- return battery_status(&batt_status) ? 0 :
- batt_status & STATUS_INITIALIZED;
-}
-
-enum battery_present battery_hw_present(void)
-{
- int data;
- int rv;
-
- rv = pca9555_read(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_INPUT_PORT_0, &data);
-
- /* GPIO is low when the battery is physically present */
- return rv || (data & PCA9555_IO_5) ? BP_NO : BP_YES;
-}
-
-/*
- * Physical detection of battery.
- */
-enum battery_present battery_is_present(void)
-{
- static enum battery_present batt_pres_prev = BP_NOT_SURE;
- enum battery_present batt_pres;
-
- /* Get the physical hardware status */
- batt_pres = battery_hw_present();
-
- /*
- * Make sure battery status is implemented, I2C transactions are
- * success & the battery status is Initialized to find out if it
- * is a working battery and it is not in the cut-off mode.
- *
- * FETs are turned off after Power Shutdown time.
- * The device will wake up when a voltage is applied to PACK.
- * Battery status will be inactive until it is initialized.
- */
- if (batt_pres == BP_YES && batt_pres_prev != batt_pres &&
- !battery_is_cut_off() && !batt_smp_cos4870_is_initialized())
- batt_pres = BP_NO;
-
- batt_pres_prev = batt_pres;
-
- return batt_pres;
-}
diff --git a/board/glkrvp_ite/board.c b/board/glkrvp_ite/board.c
deleted file mode 100644
index 2a222ada7b..0000000000
--- a/board/glkrvp_ite/board.c
+++ /dev/null
@@ -1,209 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Intel GLK-RVP-ITE board-specific configuration */
-
-#include "button.h"
-#include "chipset.h"
-#include "charger.h"
-#include "console.h"
-#include "driver/charger/isl923x.h"
-#include "ec2i_chip.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "intc.h"
-#include "keyboard_scan.h"
-#include "lid_switch.h"
-#include "pca9555.h"
-#include "power.h"
-#include "power_button.h"
-#include "spi.h"
-#include "switch.h"
-#include "system.h"
-#include "task.h"
-#include "timer.h"
-#include "uart.h"
-#include "util.h"
-
-#include "gpio_list.h"
-
-#define I2C_PORT_PCA555_BOARD_ID_GPIO IT83XX_I2C_CH_C
-#define I2C_ADDR_PCA555_BOARD_ID_GPIO_FLAGS 0x20
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- {"charger", IT83XX_I2C_CH_A, 100, GPIO_I2C_A_SCL, GPIO_I2C_A_SDA},
- {"typec", IT83XX_I2C_CH_B, 400, GPIO_I2C_B_SCL, GPIO_I2C_B_SDA},
- {"pmic", IT83XX_I2C_CH_C, 100, GPIO_I2C_C_SCL, GPIO_I2C_C_SDA},
- {"ext_io", IT83XX_I2C_CH_E, 400, GPIO_I2C_E_SCL, GPIO_I2C_E_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger Chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-};
-
-/* Wake-up pins for hibernate */
-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);
-
-/* Called by APL power state machine when transitioning from G3 to S5 */
-void chipset_pre_init_callback(void)
-{
- int data;
-
- if (pca9555_read(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0, &data))
- return;
-
- /*
- * No need to re-init PMIC since settings are sticky across sysjump.
- * However, be sure to check that PMIC is already enabled. If it is
- * then there's no need to re-sequence the PMIC.
- */
- if (system_jumped_to_this_image() && (data & PCA9555_IO_0))
- return;
-
- /* Enable SOC_3P3_EN_L: Set the Output port O0.1 to low level */
- data &= ~PCA9555_IO_1;
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0, data);
-
- /* TODO: Find out from the spec */
- msleep(10);
-
- /* Enable PMIC_EN: Set the Output port O0.0 to high level */
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0,
- data | PCA9555_IO_0);
-}
-
-/* Initialize board. */
-static void board_init(void)
-{
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_FIRST);
-
-/* Called on AP S5 -> S3 transition */
-static void board_chipset_startup(void)
-{
-}
-DECLARE_HOOK(HOOK_CHIPSET_STARTUP, board_chipset_startup, HOOK_PRIO_DEFAULT);
-
-/* Called on AP S3 -> S5 transition */
-static void board_chipset_shutdown(void)
-{
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT);
-
-void chipset_do_shutdown(void)
-{
- int data;
-
- if (pca9555_read(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0, &data))
- return;
-
- /* Disable SOC_3P3_EN_L: Set the Output port O0.1 to high level */
- data |= PCA9555_IO_1;
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0, data);
-
- /* TODO: Find out from the spec */
- msleep(10);
-
- /* Disable PMIC_EN: Set the Output port O0.0 to low level */
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0,
- data & ~PCA9555_IO_0);
-}
-
-void board_hibernate_late(void)
-{
-}
-
-void board_hibernate(void)
-{
- /*
- * To support hibernate called from console commands, ectool commands
- * and key sequence, shutdown the AP before hibernating.
- */
- chipset_do_shutdown();
-
- /* Added delay to allow AP to settle down */
- msleep(100);
-}
-
-int board_get_version(void)
-{
- int data;
-
- if (pca9555_read(I2C_PORT_PCA555_BOARD_ID_GPIO,
- I2C_ADDR_PCA555_BOARD_ID_GPIO_FLAGS,
- PCA9555_CMD_INPUT_PORT_1, &data))
- return -1;
-
- return data & 0x0f;
-}
-
-static void pmic_init(void)
-{
- /* No need to re-init PMIC since settings are sticky across sysjump. */
- if (system_jumped_late())
- return;
-
- /*
- * PMIC INIT
- * Configure Port O0.0 as Output port - PMIC_EN
- * Configure Port O0.1 as Output port - SOC_3P3_EN_L
- */
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_CONFIGURATION_PORT_0, 0xfc);
-
- /*
- * Set the Output port O0.0 to low level - PMIC_EN
- * Set the Output port O0.1 to high level - SOC_3P3_EN_L
- *
- * POR of PCA9555 port is input with high impedance hence explicitly
- * configure the SOC_3P3_EN_L to high level.
- */
- pca9555_write(I2C_PORT_PCA555_PMIC_BATT_GPIO,
- I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS,
- PCA9555_CMD_OUTPUT_PORT_0, 0xfe);
-}
-DECLARE_HOOK(HOOK_INIT, pmic_init, HOOK_PRIO_INIT_I2C + 1);
-
-/* Keyboard scan setting */
-__override struct keyboard_scan_config keyscan_config = {
- .output_settle_us = 35,
- .debounce_down_us = 5 * MSEC,
- .debounce_up_us = 40 * MSEC,
- .scan_period_us = 3 * MSEC,
- .min_post_scan_delay_us = 1000,
- .poll_timeout_us = 100 * MSEC,
- .actual_key_mask = {
- 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
- 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca /* full set */
- },
-};
diff --git a/board/glkrvp_ite/board.h b/board/glkrvp_ite/board.h
deleted file mode 100644
index da9313580b..0000000000
--- a/board/glkrvp_ite/board.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/* Copyright 2018 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.
- */
-
-/* Intel GLK-RVP-ITE board-specific configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/*
- * Allow dangerous commands.
- * TODO: Remove this config before production.
- */
-#define CONFIG_SYSTEM_UNLOCKED
-
-#define CC_DEFAULT (CC_ALL & ~(CC_MASK(CC_EVENTS) | CC_MASK(CC_LPC)))
-#undef CONFIG_HOSTCMD_DEBUG_MODE
-
-/*
- * By default, enable all console messages excepted HC, ACPI and event:
- * The sensor stack is generating a lot of activity.
- */
-#define CONFIG_HOSTCMD_DEBUG_MODE HCDEBUG_OFF
-
-/* EC console commands */
-
-/* Battery */
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_BATTERY_PRESENT_CUSTOM
-#define CONFIG_BATTERY_SMART
-
-/* Charger */
-#define CONFIG_CHARGE_MANAGER
-#define CONFIG_CHARGER
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-#define CONFIG_CHARGER_INPUT_CURRENT 512
-#define CONFIG_CHARGER_ISL9238
-#define CONFIG_CHARGER_PROFILE_OVERRIDE
-#define CONFIG_CHARGER_PROFILE_OVERRIDE_COMMON
-#undef CONFIG_CHARGER_PROFILE_VOLTAGE_RANGES
-#define CONFIG_CHARGER_PROFILE_VOLTAGE_RANGES 3
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-#undef CONFIG_EXTPOWER_DEBOUNCE_MS
-#define CONFIG_EXTPOWER_DEBOUNCE_MS 200
-#define CONFIG_EXTPOWER_GPIO
-
-/* DC Jack charge ports */
-#undef CONFIG_DEDICATED_CHARGE_PORT_COUNT
-#define CONFIG_DEDICATED_CHARGE_PORT_COUNT 1
-#define DEDICATED_CHARGE_PORT 2
-
-/* Keyboard */
-
-#define CONFIG_KEYBOARD_PROTOCOL_8042
-
-/* UART */
-#define CONFIG_LOW_POWER_IDLE
-
-/* USB-A config */
-
-/* USB PD config */
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_MAX_SINGLE_SOURCE_CURRENT TYPEC_RP_3A0
-#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_TCPC
-#define CONFIG_USB_POWER_DELIVERY
-#define CONFIG_USB_PD_TCPMV1
-
-/* USB MUX */
-#define CONFIG_USBC_SS_MUX
-#define CONFIG_USB_MUX_PS8743
-
-/* SoC / PCH */
-#define CONFIG_HOSTCMD_ESPI
-#define CONFIG_CHIPSET_GEMINILAKE
-#define CONFIG_CHIPSET_RESET_HOOK
-#define CONFIG_POWER_BUTTON
-#define CONFIG_POWER_BUTTON_X86
-#define CONFIG_POWER_COMMON
-#define CONFIG_POWER_S0IX
-#define CONFIG_POWER_TRACK_HOST_SLEEP_STATE
-
-/* EC */
-#define CONFIG_VOLUME_BUTTONS
-#define CONFIG_LID_SWITCH
-#define CONFIG_WP_ALWAYS
-#define CONFIG_FLASH_READOUT_PROTECTION
-
-/* Verified boot */
-#define CONFIG_SHA256_UNROLLED
-#define CONFIG_VBOOT_HASH
-/*
- * 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
-
-/* Optional feature - used by ITE */
-#define CONFIG_IT83XX_ENABLE_MOUSE_DEVICE
-#define CONFIG_IT83XX_FLASH_CLOCK_48MHZ
-#define CONFIG_IT83XX_VCC_1P8V
-
-/* I2C ports */
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-#define CONFIG_IT83XX_SMCLK2_ON_GPC7
-
-#define I2C_PORT_CHARGER IT83XX_I2C_CH_A
-#define I2C_PORT_BATTERY IT83XX_I2C_CH_A
-#define I2C_PORT_USB_MUX IT83XX_I2C_CH_B
-
-#define I2C_PORT_PCA555_PMIC_BATT_GPIO IT83XX_I2C_CH_C
-#define I2C_ADDR_PCA555_PMIC_BATT_GPIO_FLAGS 0x21
-
-/* EC exclude modules */
-#undef CONFIG_ADC
-#undef CONFIG_WATCHDOG
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-enum adc_channel {
- ADC_VBUS,
- ADC_CH_COUNT,
-};
-
-int board_get_version(void);
-
-/* TODO: Verify the numbers below. */
-#define PD_POWER_SUPPLY_TURN_ON_DELAY 30000 /* us */
-#define PD_POWER_SUPPLY_TURN_OFF_DELAY 250000 /* 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
-#define PD_MAX_VOLTAGE_MV 20000
-#define DC_JACK_MAX_VOLTAGE_MV 19000
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void);
-void tcpc_alert_event(enum gpio_signal signal);
-void board_charging_enable(int port, int enable);
-void board_vbus_enable(int port, int enable);
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/glkrvp_ite/build.mk b/board/glkrvp_ite/build.mk
deleted file mode 100644
index b2e416c00b..0000000000
--- a/board/glkrvp_ite/build.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- makefile -*-
-# Copyright 2018 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
-#
-
-#it8320
-CHIP:=it83xx
-CHIP_FAMILY:=it8320
-CHIP_VARIANT:=it8320bx
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
-board-$(CONFIG_USB_POWER_DELIVERY)+=chg_usb_pd.o usb_pd_policy.o
diff --git a/board/glkrvp_ite/chg_usb_pd.c b/board/glkrvp_ite/chg_usb_pd.c
deleted file mode 100644
index 67824fbf3c..0000000000
--- a/board/glkrvp_ite/chg_usb_pd.c
+++ /dev/null
@@ -1,261 +0,0 @@
-/* Copyright 2018 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 "charge_manager.h"
-#include "charge_state_v2.h"
-#include "console.h"
-#include "hooks.h"
-#include "task.h"
-#include "tcpm/tcpci.h"
-#include "system.h"
-#include "usb_mux.h"
-#include "util.h"
-
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
-
-#define PTN5110_EXT_GPIO_CONFIG 0x92
-#define PTN5110_EXT_GPIO_CONTROL 0x93
-
-#define PTN5110_EXT_GPIO_FRS_EN BIT(6)
-#define PTN5110_EXT_GPIO_EN_SRC BIT(5)
-#define PTN5110_EXT_GPIO_EN_SNK1 BIT(4)
-#define PTN5110_EXT_GPIO_IILIM_5V_VBUS_L BIT(3)
-
-enum glkrvp_charge_ports {
- TYPE_C_PORT_0,
- TYPE_C_PORT_1,
- DC_JACK_PORT_0 = DEDICATED_CHARGE_PORT,
-};
-
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = IT83XX_I2C_CH_B,
- .addr_flags = 0x50,
- },
- .drv = &tcpci_tcpm_drv,
- },
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = IT83XX_I2C_CH_B,
- .addr_flags = 0x52,
- },
- .drv = &tcpci_tcpm_drv,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .usb_port = 0,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = 0x10,
- .driver = &ps8743_usb_mux_driver,
- },
- {
- .usb_port = 1,
- .i2c_port = I2C_PORT_USB_MUX,
- .i2c_addr_flags = 0x11,
- .driver = &ps8743_usb_mux_driver,
- },
-};
-
-static int board_charger_port_is_sourcing_vbus(int port)
-{
- int reg;
-
- /* DC Jack can't source VBUS */
- if (port == DC_JACK_PORT_0)
- return 0;
-
- if (tcpc_read(port, PTN5110_EXT_GPIO_CONTROL, &reg))
- return 0;
-
- return !!(reg & PTN5110_EXT_GPIO_EN_SRC);
-}
-
-static int ptn5110_ext_gpio_enable(int port, int enable, int gpio)
-{
- int reg;
- int rv;
-
- rv = tcpc_read(port, PTN5110_EXT_GPIO_CONTROL, &reg);
- if (rv)
- return rv;
-
- if (enable)
- reg |= gpio;
- else
- reg &= ~gpio;
-
- return tcpc_write(port, PTN5110_EXT_GPIO_CONTROL, reg);
-}
-
-void board_charging_enable(int port, int enable)
-{
- ptn5110_ext_gpio_enable(port, enable, PTN5110_EXT_GPIO_EN_SNK1);
-}
-
-void board_vbus_enable(int port, int enable)
-{
- ptn5110_ext_gpio_enable(port, enable, PTN5110_EXT_GPIO_EN_SRC);
-}
-
-void tcpc_alert_event(enum gpio_signal signal)
-{
-#ifdef HAS_TASK_PDCMD
- /* Exchange status with TCPCs */
- host_command_pd_send_status(PD_CHARGE_NO_CHANGE);
-#endif
-}
-
-void board_tcpc_init(void)
-{
- /* Only reset TCPC if not sysjump */
- if (!system_jumped_late())
- board_reset_pd_mcu();
-
- /* Enable TCPC0/1 interrupt */
- gpio_enable_interrupt(GPIO_USB_C0_PD_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C1_PD_INT_ODL);
-}
-DECLARE_HOOK(HOOK_INIT, board_tcpc_init, HOOK_PRIO_INIT_I2C + 1);
-
-int board_tcpc_post_init(int port)
-{
- int reg;
- int rv;
-
- rv = tcpc_read(port, PTN5110_EXT_GPIO_CONFIG, &reg);
- if (rv)
- return rv;
-
- /* Configure PTN5110 External GPIOs as output */
- reg |= PTN5110_EXT_GPIO_EN_SRC | PTN5110_EXT_GPIO_EN_SNK1 |
- PTN5110_EXT_GPIO_IILIM_5V_VBUS_L;
- rv = tcpc_write(port, PTN5110_EXT_GPIO_CONFIG, reg);
- if (rv)
- return rv;
-
- return ptn5110_ext_gpio_enable(port, 1,
- PTN5110_EXT_GPIO_IILIM_5V_VBUS_L);
-}
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void)
-{
- /* TODO: Add reset logic */
-}
-
-static inline int board_dc_jack_present(void)
-{
- return !gpio_get_level(GPIO_DC_JACK_PRESENT_L);
-}
-
-static void board_dc_jack_handle(void)
-{
- struct charge_port_info charge_dc_jack;
-
- /* System is booted from DC Jack */
- if (board_dc_jack_present()) {
- charge_dc_jack.current = (PD_MAX_POWER_MW * 1000) /
- DC_JACK_MAX_VOLTAGE_MV;
- charge_dc_jack.voltage = DC_JACK_MAX_VOLTAGE_MV;
- } else {
- charge_dc_jack.current = 0;
- charge_dc_jack.voltage = USB_CHARGER_VOLTAGE_MV;
- }
-
- charge_manager_update_charge(CHARGE_SUPPLIER_DEDICATED,
- DC_JACK_PORT_0, &charge_dc_jack);
-}
-DECLARE_HOOK(HOOK_AC_CHANGE, board_dc_jack_handle, HOOK_PRIO_FIRST);
-
-static void board_charge_init(void)
-{
- int port, supplier;
-
- /* Initialize all charge suppliers to seed the charge manager */
- for (port = 0; port < CHARGE_PORT_COUNT; port++) {
- for (supplier = 0; supplier < CHARGE_SUPPLIER_COUNT; supplier++)
- charge_manager_update_charge(supplier, port, NULL);
- }
-
- board_dc_jack_handle();
-}
-DECLARE_HOOK(HOOK_INIT, board_charge_init, HOOK_PRIO_DEFAULT);
-
-int board_set_active_charge_port(int port)
-{
- /* charge port is a realy physical port */
- int is_real_port = (port >= 0 &&
- port < CHARGE_PORT_COUNT);
- /* check if we are source vbus on that port */
- int source = board_charger_port_is_sourcing_vbus(port);
-
- if (is_real_port && source) {
- CPRINTS("Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
-
- /*
- * Do not enable Type-C port if the DC Jack is present.
- * When the Type-C is active port, hardware circuit will
- * block DC jack from enabling +VADP_OUT.
- */
- if (port != DC_JACK_PORT_0 && board_dc_jack_present()) {
- CPRINTS("DC Jack present, Skip enable p%d", port);
- return EC_ERROR_INVAL;
- }
-
- /* Make sure non-charging port is disabled */
- switch (port) {
- case TYPE_C_PORT_0:
- board_charging_enable(TYPE_C_PORT_1, 0);
- board_charging_enable(TYPE_C_PORT_0, 1);
- break;
- case TYPE_C_PORT_1:
- board_charging_enable(TYPE_C_PORT_0, 0);
- board_charging_enable(TYPE_C_PORT_1, 1);
- break;
- case DC_JACK_PORT_0:
- case CHARGE_PORT_NONE:
- default:
- /* Disable both Type-C ports */
- board_charging_enable(TYPE_C_PORT_0, 0);
- board_charging_enable(TYPE_C_PORT_1, 0);
- break;
- }
-
- return EC_SUCCESS;
-}
-
-uint16_t tcpc_get_alert_status(void)
-{
- uint16_t status = 0;
-
- if (!gpio_get_level(GPIO_USB_C0_PD_INT_ODL))
- status |= PD_STATUS_TCPC_ALERT_0;
-
- if (!gpio_get_level(GPIO_USB_C1_PD_INT_ODL))
- status |= PD_STATUS_TCPC_ALERT_1;
-
- return status;
-}
-
-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);
-}
-
-int adc_read_channel(enum adc_channel ch)
-{
- return 0;
-}
diff --git a/board/glkrvp_ite/ec.tasklist b/board/glkrvp_ite/ec.tasklist
deleted file mode 100644
index 086a352bcb..0000000000
--- a/board/glkrvp_ite/ec.tasklist
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright 2018 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.
- */
-
-/* Intel GLK-RVP-ITE board-specific configuration */
-
-/*
- * 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(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, VENTI_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/glkrvp_ite/gpio.inc b/board/glkrvp_ite/gpio.inc
deleted file mode 100644
index a4f21a64f4..0000000000
--- a/board/glkrvp_ite/gpio.inc
+++ /dev/null
@@ -1,118 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2018 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.
- */
-
-/* Intel GLK-RVP-ITE board-specific configuration */
-
-/*
- * Declare symbolic names for all the GPIOs that we care about.
- * Note: Those with interrupt handlers must be declared first.
- */
-
-/* Power sequencing interrupts */
-GPIO_INT(SUSPWRDNACK, PIN(E, 1), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S0_L, PIN(F, 0), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S3_L, PIN(F, 2), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PCH_SLP_S4_L, PIN(F, 3), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(RSMRST_L_PGOOD,PIN(G, 6), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(ALL_SYS_PGOOD, PIN(I, 7), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* Button interrupts */
-GPIO_INT(VOLUME_UP_L, PIN(D, 5), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(VOLUME_DOWN_L, PIN(D, 6), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(LID_OPEN, PIN(E, 2), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
-GPIO_INT(POWER_BUTTON_L,PIN(E, 4), GPIO_INT_BOTH, power_button_interrupt)
-
-GPIO_INT(AC_PRESENT, PIN(A, 6), GPIO_INT_BOTH, extpower_interrupt)
-
-GPIO_INT(UART1_RX, PIN(B, 0), GPIO_INT_FALLING, uart_deepsleep_interrupt) /* UART1 RX input */
-#ifdef CONFIG_HOSTCMD_ESPI
-/* enable 1.8v input of EC's espi_reset pin, and then this pin takes effect. */
-GPIO_INT(ESPI_RESET_L, PIN(D, 2), GPIO_INT_FALLING | GPIO_SEL_1P8V, espi_reset_pin_asserted_interrupt) /* eSPI_reset# */
-#endif
-
-/* Type-C interrupts */
-UNIMPLEMENTED(USB_C0_PD_INT_ODL)
-UNIMPLEMENTED(USB_C1_PD_INT_ODL)
-
-UNIMPLEMENTED(WP_L)
-UNIMPLEMENTED(PP3300_PG)
-UNIMPLEMENTED(PP5000_PG)
-
-/* Power sequencing GPIOs */
-UNIMPLEMENTED(SYS_RESET_L)
-GPIO(PCH_RSMRST_L, PIN(C, 6), GPIO_OUT_LOW)
-GPIO(PCH_PWRBTN_L, PIN(D, 0), GPIO_ODR_HIGH)
-GPIO(PCH_SYS_PWROK, PIN(K, 4), GPIO_OUT_LOW)
-GPIO(SMC_SHUTDOWN, PIN(K, 5), GPIO_OUT_LOW | GPIO_PULL_DOWN)
-/*
- * PCH_PROCHOT_ODL is primarily for monitoring the PROCHOT# signal which is
- * normally driven by the PMIC. The EC can also drive this signal in the event
- * that the ambient or charger temperature sensors exceeds their thresholds.
- */
-GPIO(CPU_PROCHOT, PIN(E, 5), GPIO_INPUT) /* PCH_PROCHOT_ODL */
-
-/* Host communication GPIOs */
-GPIO(PCH_WAKE_L, PIN(L, 0), GPIO_ODR_HIGH)
-GPIO(PCH_PLTRST_L, PIN(E, 3), GPIO_INPUT | GPIO_PULL_UP)
-
-GPIO(DC_JACK_PRESENT_L, PIN(C, 0), GPIO_INPUT) /* DC Jack presence coming from +V3P3_A_KBC */
-GPIO(USBC_LDO_ENABLE, PIN(K, 0), GPIO_OUT_HIGH) /* USB TCPC to enable LDO in dead battery */
-UNIMPLEMENTED(ENABLE_BACKLIGHT)
-GPIO(ENTERING_RW, PIN(C, 5), GPIO_OUTPUT) /* EC_ENTERING_RW */
-
-/*
- * I2C pins should be configured as inputs until I2C module is
- * initialized. This will avoid driving the lines unintentionally.
- */
-GPIO(I2C_A_SCL, PIN(B, 3), GPIO_INPUT)
-GPIO(I2C_A_SDA, PIN(B, 4), GPIO_INPUT)
-GPIO(I2C_B_SCL, PIN(C, 1), GPIO_INPUT)
-GPIO(I2C_B_SDA, PIN(C, 2), GPIO_INPUT)
-#ifdef CONFIG_IT83XX_SMCLK2_ON_GPC7
-GPIO(I2C_C_SCL, PIN(C, 7), GPIO_INPUT)
-#else
-GPIO(I2C_C_SCL, PIN(F, 6), GPIO_INPUT)
-#endif
-GPIO(I2C_C_SDA, PIN(F, 7), GPIO_INPUT)
-GPIO(I2C_E_SCL, PIN(E, 0), GPIO_INPUT)
-GPIO(I2C_E_SDA, PIN(E, 7), GPIO_INPUT)
-
-/* LPC / eSPI signals */
-#if 0
-GPIO(LPC_ESPI_RST, PIN(D, 2), GPIO_INPUT)
-GPIO(LAD_EIO_0, PIN(M, 0), GPIO_INPUT)
-GPIO(LAD_EIO_1, PIN(M, 1), GPIO_INPUT)
-GPIO(LAD_EIO_2, PIN(M, 2), GPIO_INPUT)
-GPIO(LAD_EIO_3, PIN(M, 3), GPIO_INPUT)
-GPIO(LPC_ESPI_CLK, PIN(M, 4), GPIO_INPUT)
-GPIO(LFRAME_ESPI_CS, PIN(M, 5), GPIO_INPUT)
-GPIO(SERIRQ_ALERT, PIN(M, 6), GPIO_INPUT)
-#endif
-
-/* Unused pins 3.3V & Interruptable */
-
-/* Unused pins: VSPI 3.3V or 1.8V & Interruptable */
-
-/* Unused pins 3.3V & Non-Interruptable */
-
-/* eSPI: VHIF Unused pins 1.8V & Interruptable */
-
-/* eSPI: VHIF Unused pins 1.8V & Non-Interruptable */
-
-/* Alternate pins for UART */
-ALTERNATE(PIN_MASK(B, 0x03), 1, MODULE_UART, GPIO_PULL_UP) /* UART1 */
-
-/* Alternate pins for I2C */
-ALTERNATE(PIN_MASK(B, 0x18), 1, MODULE_I2C, 0) /* I2C A SCL/SDA B3/B4 */
-ALTERNATE(PIN_MASK(C, 0x06), 1, MODULE_I2C, 0) /* I2C B SCL/SDA C1/C2 */
-#ifdef CONFIG_IT83XX_SMCLK2_ON_GPC7
-ALTERNATE(PIN_MASK(C, 0x80), 1, MODULE_I2C, 0) /* I2C C SCL C7 */
-#else
-ALTERNATE(PIN_MASK(F, 0x40), 1, MODULE_I2C, 0) /* I2C C SCL F6 */
-#endif
-ALTERNATE(PIN_MASK(F, 0x80), 1, MODULE_I2C, 0) /* I2C C SDA F7 */
-ALTERNATE(PIN_MASK(E, 0x81), 1, MODULE_I2C, 0) /* I2C E SCL/SDA E0/E7 */
diff --git a/board/glkrvp_ite/usb_pd_policy.c b/board/glkrvp_ite/usb_pd_policy.c
deleted file mode 100644
index bfb395baf4..0000000000
--- a/board/glkrvp_ite/usb_pd_policy.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2018 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 "charge_manager.h"
-#include "compile_time_macros.h"
-#include "console.h"
-#include "gpio.h"
-#include "stddef.h"
-#include "system.h"
-#include "usb_mux.h"
-#include "usb_pd_tcpm.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 */
- board_charging_enable(port, 0);
-
- /* Provide VBUS */
- board_vbus_enable(port, 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 */
- board_vbus_enable(port, 0);
-
- /* notify host of power info change */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-int pd_check_vconn_swap(int port)
-{
- /* in G3, do not allow vconn swap since pp5000_A rail is off */
- /* TODO: return gpio_get_level(GPIO_PMIC_EN); */
- return 1;
-}
-
-void pd_execute_data_swap(int port,
- enum pd_data_role data_role)
-{
- /* Do nothing */
-}
diff --git a/board/glkrvp_ite/vif_override.xml b/board/glkrvp_ite/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/glkrvp_ite/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/samus/battery.c b/board/samus/battery.c
deleted file mode 100644
index bc73cbc1c3..0000000000
--- a/board/samus/battery.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/* Copyright 2012 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_smart.h"
-#include "charge_state.h"
-#include "console.h"
-#include "ec_commands.h"
-#include "extpower.h"
-#include "i2c.h"
-#include "util.h"
-
-static const struct battery_info info = {
- /*
- * Design voltage
- * max = 8.4V
- * normal = 7.4V
- * min = 6.0V
- */
- .voltage_max = 8700,
- .voltage_normal = 7400,
- .voltage_min = 6000,
-
- /* Pre-charge current: I <= 0.01C */
- .precharge_current = 64, /* mA */
-
- /*
- * Operational temperature range
- * 0 <= T_charge <= 50 deg C
- * -20 <= T_discharge <= 60 deg C
- */
- .start_charging_min_c = 0,
- .start_charging_max_c = 50,
- .charging_min_c = 0,
- .charging_max_c = 50,
- .discharging_min_c = -20,
- .discharging_max_c = 60,
-};
-
-const struct battery_info *battery_get_info(void)
-{
- return &info;
-}
-
-#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;
- const struct charger_info *info;
-
- /* keep track of last temperature range for hysteresis */
- static enum {
- TEMP_LOW,
- TEMP_NORMAL,
- TEMP_HIGH
- } temp_range = TEMP_NORMAL, prev_temp_range = TEMP_NORMAL;
-
- /* charging voltage to use at high temp */
- static int high_temp_charging_voltage;
-
- /* custom profile phase at normal temp */
- static int normal_temp_phase;
-
- /* battery voltage and current and previous voltage and current */
- int batt_voltage, batt_current;
- static int prev_batt_voltage, prev_batt_current;
-
- /*
- * Determine temperature range:
- * Low: Battery is <15C
- * Normal: Battery is 15-45C
- * High: Battery is >45C
- *
- * Add 0.2 degrees of hysteresis.
- * If temp reading was bad use last range.
- */
- if (!(curr->batt.flags & BATT_FLAG_BAD_TEMPERATURE)) {
- temp_c = curr->batt.temperature - 2731;
- if (temp_c < 149)
- temp_range = TEMP_LOW;
- else if (temp_c > 151 && temp_c < 449)
- temp_range = TEMP_NORMAL;
- else if (temp_c > 451)
- temp_range = TEMP_HIGH;
- }
-
- /*
- * Treat voltage and current as a pair, if either is bad fall back to
- * previous reading.
- */
- if (curr->batt.flags &
- (BATT_FLAG_BAD_VOLTAGE | BATT_FLAG_BAD_CURRENT)) {
- batt_voltage = prev_batt_voltage;
- batt_current = prev_batt_current;
- } else {
- batt_voltage = prev_batt_voltage = curr->batt.voltage;
- batt_current = prev_batt_current = curr->batt.current;
- }
-
- /*
- * If we are not charging or we aren't using fast charging profiles,
- * then do not override desired current and voltage and reset some
- * fast charging profile static variables.
- */
- if (curr->state != ST_CHARGE || !fast_charging_allowed) {
- prev_temp_range = TEMP_NORMAL;
- normal_temp_phase = 0;
- return 0;
- }
-
- /*
- * Okay, impose our custom will:
- * Normal temp:
- * Phase 0: CC at 9515mA @ 8.3V
- * CV at 8.3V until current drops to 4759mA
- * Phase 1: CC at 4759mA @ 8.7V
- * CV at 8.7V
- *
- * Low temp:
- * CC at 2854mA @ 8.7V
- * CV at 8.7V
- *
- * High temp:
- * If battery voltage < 8.3V then:
- * CC at 6660mA @ 8.3V
- * CV at 8.3V (when battery is hot we don't go to fully charged)
- * else:
- * CV at just above battery voltage which will essentially
- * terminate the charge and allow battery to cool.
- * Note that if we ever request a voltage below the present battery
- * voltage, then we will stop the BQ switching, which will power off
- * the INA and we won't be able to charge again until AC is
- * disconnected. see crbug.com/p/35491.
- */
- switch (temp_range) {
- case TEMP_LOW:
- curr->requested_current = 2854;
- curr->requested_voltage = 8700;
- break;
- case TEMP_NORMAL:
- if (normal_temp_phase == 0) {
- curr->requested_current = 9515;
- curr->requested_voltage = 8300;
- if (batt_current <= 4759 && batt_voltage >= 8200)
- normal_temp_phase = 1;
- }
- if (normal_temp_phase == 1) {
- curr->requested_current = 4759;
- curr->requested_voltage = 8700;
- }
- break;
- case TEMP_HIGH:
- /*
- * First time TEMP_HIGH is used, get the closest voltage
- * just above the battery voltage. If it is above 8.3V, we
- * will use that as the target, otherwise we will use 8.3V.
- */
- if (prev_temp_range != TEMP_HIGH) {
- info = charger_get_info();
- high_temp_charging_voltage = MAX(8300,
- charger_closest_voltage(batt_voltage +
- info->voltage_step));
- }
- curr->requested_current = 6660;
- curr->requested_voltage = high_temp_charging_voltage;
- break;
- }
- prev_temp_range = temp_range;
-
- 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;
-}
-
-#ifdef CONFIG_CMD_FASTCHARGE
-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_CMD_FASTCHARGE */
-
-#endif /* CONFIG_CHARGER_PROFILE_OVERRIDE */
-
-#ifdef CONFIG_BATTERY_REVIVE_DISCONNECT
-/*
- * Check if battery is in disconnect state, a state entered by pulling
- * BATT_DISCONN_N low, and clear that state if we have external power plugged
- * and no battery faults are detected. Disconnect state resembles battery
- * shutdown mode, but extra steps must be taken to get the battery out of this
- * mode.
- */
-enum battery_disconnect_state battery_get_disconnect_state(void)
-{
- uint8_t data[6];
- int rv;
- /*
- * Take note if we find that the battery isn't in disconnect state,
- * and always return NOT_DISCONNECTED without probing the battery.
- * This assumes the battery will not go to disconnect state during
- * runtime.
- */
- static int not_disconnected;
-
- if (not_disconnected)
- return BATTERY_NOT_DISCONNECTED;
-
- if (extpower_is_present()) {
- /* Check if battery charging + discharging is disabled. */
- rv = sb_read_mfgacc(PARAM_OPERATION_STATUS,
- SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data));
- if (rv)
- return BATTERY_DISCONNECT_ERROR;
- if (~data[3] & (BATTERY_DISCHARGING_DISABLED |
- BATTERY_CHARGING_DISABLED)) {
- not_disconnected = 1;
- return BATTERY_NOT_DISCONNECTED;
- }
-
- /*
- * Battery is neither charging nor discharging. Verify that
- * we didn't enter this state due to a safety fault.
- */
- rv = sb_read_mfgacc(PARAM_SAFETY_STATUS,
- SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data));
- if (rv || data[2] || data[3] || data[4] || data[5])
- return BATTERY_DISCONNECT_ERROR;
- else
- /* No safety fault -- clear disconnect state. */
- return BATTERY_DISCONNECTED;
- }
- not_disconnected = 1;
- return BATTERY_NOT_DISCONNECTED;
-}
-#endif /* CONFIG_BATTERY_REVIVE_DISCONNECT */
-
-#define PARAM_CUT_OFF_LOW 0x10
-#define PARAM_CUT_OFF_HIGH 0x00
-
-int board_cut_off_battery(void)
-{
- int rv;
- uint8_t buf[3];
-
- 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;
-}
-
diff --git a/board/samus/board.c b/board/samus/board.c
deleted file mode 100644
index 0a25107960..0000000000
--- a/board/samus/board.c
+++ /dev/null
@@ -1,500 +0,0 @@
-/* Copyright 2013 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.
- */
-/* EC for Samus board configuration */
-
-#include "als.h"
-#include "adc.h"
-#include "adc_chip.h"
-#include "backlight.h"
-#include "battery.h"
-#include "capsense.h"
-#include "charger.h"
-#include "charge_state.h"
-#include "common.h"
-#include "console.h"
-#include "driver/accel_kionix.h"
-#include "driver/accel_kxcj9.h"
-#include "driver/accelgyro_lsm6ds0.h"
-#include "driver/als_isl29035.h"
-#include "driver/charger/bq24773.h"
-#include "driver/temp_sensor/tmp006.h"
-#include "extpower.h"
-#include "fan.h"
-#include "gesture.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "keyboard_scan.h"
-#include "keyboard_8042.h"
-#include "keyboard_8042_sharedlib.h"
-#include "lid_switch.h"
-#include "lightbar.h"
-#include "motion_sense.h"
-#include "motion_lid.h"
-#include "peci.h"
-#include "power.h"
-#include "power_button.h"
-#include "pwm.h"
-#include "pwm_chip.h"
-#include "registers.h"
-#include "switch.h"
-#include "system.h"
-#include "task.h"
-#include "temp_sensor.h"
-#include "temp_sensor_chip.h"
-#include "timer.h"
-#include "thermal.h"
-#include "uart.h"
-#include "util.h"
-
-static void pd_mcu_interrupt(enum gpio_signal signal)
-{
- /* Exchange status with PD MCU. */
- host_command_pd_send_status(PD_CHARGE_NO_CHANGE);
-}
-
-#include "gpio_list.h"
-
-/* power signal list. Must match order of enum power_signal. */
-const struct power_signal_info power_signal_list[] = {
- {GPIO_PP1050_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "PGOOD_PP1050"},
- {GPIO_PP1200_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "PGOOD_PP1200"},
- {GPIO_PP1800_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "PGOOD_PP1800"},
- {GPIO_VCORE_PGOOD, POWER_SIGNAL_ACTIVE_HIGH, "PGOOD_VCORE"},
- {GPIO_PCH_SLP_S0_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S0_DEASSERTED"},
- {GPIO_PCH_SLP_S3_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S3_DEASSERTED"},
- {GPIO_PCH_SLP_S5_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_S5_DEASSERTED"},
- {GPIO_PCH_SLP_SUS_L, POWER_SIGNAL_ACTIVE_HIGH, "SLP_SUS_DEASSERTED"},
- {GPIO_PCH_SUSWARN_L, POWER_SIGNAL_ACTIVE_HIGH, "SUSWARN_DEASSERTED"},
-};
-BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
-
-/* ADC channels. Must be in the exactly same order as in enum adc_channel. */
-const struct adc_t adc_channels[] = {
- /*
- * EC internal temperature is calculated by
- * 273 + (295 - 450 * ADC_VALUE / ADC_READ_MAX) / 2
- * = -225 * ADC_VALUE / ADC_READ_MAX + 420.5
- */
- {"ECTemp", LM4_ADC_SEQ0, -225, ADC_READ_MAX, 420,
- LM4_AIN_NONE, 0x0e /* TS0 | IE0 | END0 */, 0, 0},
- /*
- * TODO(crosbug.com/p/23827): We don't know what to expect here, but
- * it's an analog input that's pulled high. We're using it as a battery
- * presence indicator for now. We'll return just 0 - ADC_READ_MAX for
- * now.
- */
- {"BatteryTemp", LM4_ADC_SEQ2, 1, 1, 0,
- LM4_AIN(10), 0x06 /* IE0 | END0 */, LM4_GPIO_B, BIT(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[] = {
- {4, 0},
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-
-/* Physical fans. These are logically separate from pwm_channels. */
-const struct fan_conf fan_conf_0 = {
- .flags = FAN_USE_RPM_MODE,
- .ch = 2, /* Use MFT id to control fan */
- .pgood_gpio = -1,
- .enable_gpio = -1,
-};
-
-const struct fan_conf fan_conf_1 = {
- .flags = FAN_USE_RPM_MODE,
- .ch = 3, /* Use MFT id to control fan */
- .pgood_gpio = -1,
- .enable_gpio = -1,
-};
-
-const struct fan_rpm fan_rpm_0 = {
- .rpm_min = 1000,
- .rpm_start = 1000,
- .rpm_max = 6350,
-};
-
-const struct fan_t fans[] = {
- { .conf = &fan_conf_0, .rpm = &fan_rpm_0, },
- { .conf = &fan_conf_1, .rpm = &fan_rpm_0, },
-};
-BUILD_ASSERT(ARRAY_SIZE(fans) == CONFIG_FANS);
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- {"batt_chg", 0, 100, GPIO_I2C0_SCL, GPIO_I2C0_SDA},
- {"lightbar", 1, 400, GPIO_I2C1_SCL, GPIO_I2C1_SDA},
- {"thermal", 5, 100, GPIO_I2C5_SCL, GPIO_I2C5_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = I2C_ADDR_CHARGER_FLAGS,
- .drv = &bq2477x_drv,
- },
-};
-
-#define TEMP_U40_REG_ADDR_FLAGS (0x40 | I2C_FLAG_BIG_ENDIAN)
-#define TEMP_U41_REG_ADDR_FLAGS (0x44 | I2C_FLAG_BIG_ENDIAN)
-#define TEMP_U42_REG_ADDR_FLAGS (0x41 | I2C_FLAG_BIG_ENDIAN)
-#define TEMP_U43_REG_ADDR_FLAGS (0x45 | I2C_FLAG_BIG_ENDIAN)
-#define TEMP_U115_REG_ADDR_FLAGS (0x42 | I2C_FLAG_BIG_ENDIAN)
-#define TEMP_U116_REG_ADDR_FLAGS (0x43 | I2C_FLAG_BIG_ENDIAN)
-
-#define TEMP_U40_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U40_REG_ADDR_FLAGS)
-#define TEMP_U41_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U41_REG_ADDR_FLAGS)
-#define TEMP_U42_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U42_REG_ADDR_FLAGS)
-#define TEMP_U43_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U43_REG_ADDR_FLAGS)
-#define TEMP_U115_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U115_REG_ADDR_FLAGS)
-#define TEMP_U116_ADDR_FLAGS TMP006_ADDR(I2C_PORT_THERMAL,\
- TEMP_U116_REG_ADDR_FLAGS)
-
-const struct tmp006_t tmp006_sensors[TMP006_COUNT] = {
- {"Charger", TEMP_U40_ADDR_FLAGS},
- {"CPU", TEMP_U41_ADDR_FLAGS},
- {"Left C", TEMP_U42_ADDR_FLAGS},
- {"Right C", TEMP_U43_ADDR_FLAGS},
- {"Right D", TEMP_U115_ADDR_FLAGS},
- {"Left D", TEMP_U116_ADDR_FLAGS},
-};
-BUILD_ASSERT(ARRAY_SIZE(tmp006_sensors) == TMP006_COUNT);
-
-/* Temperature sensors data; must be in same order as enum temp_sensor_id. */
-const struct temp_sensor_t temp_sensors[] = {
- {"PECI", TEMP_SENSOR_TYPE_CPU, peci_temp_sensor_get_val, 0},
- {"ECInternal", TEMP_SENSOR_TYPE_BOARD, chip_temp_sensor_get_val, 0},
- {"I2C-Charger-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 0},
- {"I2C-Charger-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 1},
- {"I2C-CPU-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 2},
- {"I2C-CPU-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 3},
- {"I2C-Left C-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 4},
- {"I2C-Left C-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 5},
- {"I2C-Right C-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 6},
- {"I2C-Right C-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 7},
- {"I2C-Right D-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 8},
- {"I2C-Right D-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 9},
- {"I2C-Left D-Die", TEMP_SENSOR_TYPE_BOARD, tmp006_get_val, 10},
- {"I2C-Left D-Object", TEMP_SENSOR_TYPE_CASE, tmp006_get_val, 11},
- {"Battery", TEMP_SENSOR_TYPE_BATTERY, charge_get_battery_temp, 0},
-};
-BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
-
-/* ALS instances. Must be in same order as enum als_id. */
-struct als_t als[] = {
- {"ISL", isl29035_init, isl29035_read_lux, 5},
-};
-BUILD_ASSERT(ARRAY_SIZE(als) == ALS_COUNT);
-
-
-/* Thermal limits for each temp sensor. All temps are in degrees K. Must be in
- * same order as enum temp_sensor_id. To always ignore any temp, use 0.
- */
-struct ec_thermal_config thermal_params[] = {
- /* {Twarn, Thigh, Thalt}, fan_off, fan_max */
- {{C_TO_K(95), C_TO_K(101), C_TO_K(104)},
- {0, 0, 0}, C_TO_K(55), C_TO_K(90)}, /* PECI */
- {{0, 0, 0}, {0, 0, 0}, 0, 0}, /* EC */
- {{0, 0, 0}, {0, 0, 0}, C_TO_K(41), C_TO_K(55)}, /* Charger die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, C_TO_K(35), C_TO_K(49)}, /* CPU die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, 0, 0}, /* Left C die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, 0, 0}, /* Right C die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, 0, 0}, /* Right D die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, C_TO_K(43), C_TO_K(54)}, /* Left D die */
- {{0, 0, 0}, {0, 0, 0}, 0, 0},
- {{0, 0, 0}, {0, 0, 0}, 0, 0}, /* Battery */
-};
-BUILD_ASSERT(ARRAY_SIZE(thermal_params) == TEMP_SENSOR_COUNT);
-
-__override struct keyboard_scan_config keyscan_config = {
- .output_settle_us = 40,
- .debounce_down_us = 6 * MSEC,
- .debounce_up_us = 30 * MSEC,
- .scan_period_us = 1500,
- .min_post_scan_delay_us = 1000,
- .poll_timeout_us = SECOND,
- .actual_key_mask = {
- 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff,
- 0xa4, 0xff, 0xf6, 0x55, 0xfa, 0xc8 /* full set */
- },
-};
-
-/* Initialize board. */
-static void board_init(void)
-{
- gpio_enable_interrupt(GPIO_PD_MCU_INT);
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
-
-#ifdef CONFIG_BATTERY_PRESENT_CUSTOM
-/**
- * Physical check of battery presence.
- */
-enum battery_present battery_is_present(void)
-{
- /*
- * This pin has a pullup, so if it's not completely pegged there's
- * something attached. Probably a battery.
- */
- int analog_val = adc_read_channel(ADC_CH_BAT_TEMP);
- return analog_val < (9 * ADC_READ_MAX / 10) ? BP_YES : BP_NO;
-}
-#endif
-
-static int discharging_on_ac;
-
-/**
- * Discharge battery when on AC power for factory test.
- */
-int board_discharge_on_ac(int enable)
-{
- int rv = charger_discharge_on_ac(enable);
-
- if (rv == EC_SUCCESS)
- discharging_on_ac = enable;
-
- return rv;
-}
-
-/**
- * Check if we are discharging while connected to AC
- */
-int board_is_discharging_on_ac(void)
-{
- return discharging_on_ac;
-}
-
-/**
- * Reset PD MCU
- */
-void board_reset_pd_mcu(void)
-{
- gpio_set_level(GPIO_USB_MCU_RST, 1);
- usleep(100);
- gpio_set_level(GPIO_USB_MCU_RST, 0);
-}
-
-void sensor_board_proc_double_tap(void)
-{
- lightbar_sequence(LIGHTBAR_TAP);
-}
-
-const int usb_port_enable[CONFIG_USB_PORT_POWER_SMART_PORT_COUNT] = {
- GPIO_USB1_ENABLE,
- GPIO_USB2_ENABLE,
-};
-
-/* Base Sensor mutex */
-static struct mutex g_base_mutex;
-
-/* Lid Sensor mutex */
-static struct mutex g_lid_mutex;
-
-/* kxcj9 local/private data */
-struct kionix_accel_data g_kxcj9_data;
-
-/* lsm6ds0 local sensor data (per-sensor) */
-struct lsm6ds0_data g_saved_data[2];
-
-/* Four Motion sensors */
-/* Matrix to rotate accelrator into standard reference frame */
-const mat33_fp_t base_standard_ref = {
- {FLOAT_TO_FP(-1), 0, 0},
- { 0, FLOAT_TO_FP(-1), 0},
- { 0, 0, FLOAT_TO_FP(-1)}
-};
-
-const mat33_fp_t lid_standard_ref = {
- { 0, FLOAT_TO_FP(1), 0},
- {FLOAT_TO_FP(-1), 0, 0},
- { 0, 0, FLOAT_TO_FP(-1)}
-};
-
-struct motion_sensor_t motion_sensors[] = {
- /*
- * Note: lsm6ds0: supports accelerometer and gyro sensor
- * Requirement: accelerometer sensor must init before gyro sensor
- * DO NOT change the order of the following table.
- */
- {.name = "Base",
- .active_mask = SENSOR_ACTIVE_S0_S3_S5,
- .chip = MOTIONSENSE_CHIP_LSM6DS0,
- .type = MOTIONSENSE_TYPE_ACCEL,
- .location = MOTIONSENSE_LOC_BASE,
- .drv = &lsm6ds0_drv,
- .mutex = &g_base_mutex,
- .drv_data = &g_saved_data[0],
- .port = I2C_PORT_ACCEL,
- .i2c_spi_addr_flags = LSM6DS0_ADDR1_FLAGS,
- .rot_standard_ref = &base_standard_ref,
- .default_range = 4, /* g, to meet CDD 7.3.1/C-1-4 reqs */
- .min_frequency = LSM6DS0_ACCEL_MIN_FREQ,
- .max_frequency = LSM6DS0_ACCEL_MAX_FREQ,
- .config = {
- /* EC use accel for angle detection */
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 119000 | ROUND_UP_FLAG,
- .ec_rate = 100 * MSEC,
- },
- /* Used for double tap */
- [SENSOR_CONFIG_EC_S3] = {
- .odr = TAP_ODR_LSM6DS0 | ROUND_UP_FLAG,
- .ec_rate = CONFIG_GESTURE_SAMPLING_INTERVAL_MS * MSEC,
- },
- [SENSOR_CONFIG_EC_S5] = {
- .odr = TAP_ODR_LSM6DS0 | ROUND_UP_FLAG,
- .ec_rate = CONFIG_GESTURE_SAMPLING_INTERVAL_MS * MSEC,
- },
- },
- },
-
- {.name = "Lid",
- .active_mask = SENSOR_ACTIVE_S0,
- .chip = MOTIONSENSE_CHIP_KXCJ9,
- .type = MOTIONSENSE_TYPE_ACCEL,
- .location = MOTIONSENSE_LOC_LID,
- .drv = &kionix_accel_drv,
- .mutex = &g_lid_mutex,
- .drv_data = &g_kxcj9_data,
- .port = I2C_PORT_ACCEL,
- .i2c_spi_addr_flags = KXCJ9_ADDR0_FLAGS,
- .rot_standard_ref = &lid_standard_ref,
- .default_range = 2, /* g, to support lid angle calculation. */
- .min_frequency = KXCJ9_ACCEL_MIN_FREQ,
- .max_frequency = KXCJ9_ACCEL_MAX_FREQ,
- .config = {
- /* EC use accel for angle detection */
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 100000 | ROUND_UP_FLAG,
- .ec_rate = 100 * MSEC,
- },
- },
- },
-
- {.name = "Base Gyro",
- .active_mask = SENSOR_ACTIVE_S0_S3_S5,
- .chip = MOTIONSENSE_CHIP_LSM6DS0,
- .type = MOTIONSENSE_TYPE_GYRO,
- .location = MOTIONSENSE_LOC_BASE,
- .drv = &lsm6ds0_drv,
- .mutex = &g_base_mutex,
- .drv_data = &g_saved_data[1],
- .port = I2C_PORT_ACCEL,
- .i2c_spi_addr_flags = LSM6DS0_ADDR1_FLAGS,
- .rot_standard_ref = NULL,
- .default_range = 2000, /* dps, enough for laptop. */
- .min_frequency = LSM6DS0_GYRO_MIN_FREQ,
- .max_frequency = LSM6DS0_GYRO_MAX_FREQ,
- },
-
-};
-const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors);
-
-#ifdef CONFIG_LOW_POWER_IDLE
-void jtag_interrupt(enum gpio_signal signal)
-{
- /*
- * This interrupt is the first sign someone is trying to use
- * the JTAG. Disable slow speed sleep so that the JTAG action
- * can take place.
- */
- disable_sleep(SLEEP_MASK_JTAG);
-
- /*
- * Once we get this interrupt, disable it from occurring again
- * to avoid repeated interrupts when debugging via JTAG.
- */
- gpio_disable_interrupt(GPIO_JTAG_TCK);
-}
-#endif /* CONFIG_LOW_POWER_IDLE */
-
-
-enum ec_error_list keyboard_scancode_callback(uint16_t *make_code,
- int8_t pressed)
-{
- const uint16_t k = *make_code;
- static uint8_t s;
- static const uint16_t a[] = {
- SCANCODE_UP, SCANCODE_UP, SCANCODE_DOWN, SCANCODE_DOWN,
- SCANCODE_LEFT, SCANCODE_RIGHT, SCANCODE_LEFT, SCANCODE_RIGHT,
- SCANCODE_B, SCANCODE_A};
-
- if (!pressed)
- return EC_SUCCESS;
-
- /* Lightbar demo mode: keyboard can fake the battery state */
- switch (k) {
- case SCANCODE_UP:
- demo_battery_level(1);
- break;
- case SCANCODE_DOWN:
- demo_battery_level(-1);
- break;
- case SCANCODE_LEFT:
- demo_is_charging(0);
- break;
- case SCANCODE_RIGHT:
- demo_is_charging(1);
- break;
- case SCANCODE_F6: /* dim */
- demo_brightness(-1);
- break;
- case SCANCODE_F7: /* bright */
- demo_brightness(1);
- break;
- case SCANCODE_T:
- demo_tap();
- break;
- }
-
- if (k == a[s])
- s++;
- else if (k != a[0])
- s = 0;
- else if (s != 2)
- s = 1;
-
- if (s == ARRAY_SIZE(a)) {
- s = 0;
- lightbar_sequence(LIGHTBAR_KONAMI);
- }
- return EC_SUCCESS;
-}
-
-/*
- * Use to define going in to hibernate early if low on battery.
- * HIBERNATE_BATT_PCT specifies the low battery threshold
- * for going into hibernate early, and HIBERNATE_BATT_SEC defines
- * the minimum amount of time to stay in G3 before checking for low
- * battery hibernate.
- */
-#define HIBERNATE_BATT_PCT 10
-#define HIBERNATE_BATT_SEC (3600 * 24)
-
-__override enum critical_shutdown board_system_is_idle(
- uint64_t last_shutdown_time, uint64_t *target, uint64_t now)
-{
- if (charge_get_percent() <= HIBERNATE_BATT_PCT) {
- uint64_t t = last_shutdown_time + HIBERNATE_BATT_SEC * SEC_UL;
- *target = MIN(*target, t);
- }
- return now > *target ?
- CRITICAL_SHUTDOWN_HIBERNATE : CRITICAL_SHUTDOWN_IGNORE;
-}
diff --git a/board/samus/board.h b/board/samus/board.h
deleted file mode 100644
index ed79e9876f..0000000000
--- a/board/samus/board.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/* Copyright 2013 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.
- */
-
-/* Configuration for Samus mainboard */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/* Debug features */
-#define CONFIG_CONSOLE_CMDHELP
-#define CONFIG_TASK_PROFILING
-
-#undef HEY_USE_BUILTIN_CLKRUN
-
-/* Optional features */
-#define CONFIG_ACCELGYRO_LSM6DS0
-#define CONFIG_ACCEL_KXCJ9
-#define CONFIG_ACCEL_STD_REF_FRAME_OLD
-#define CONFIG_ALS_ISL29035
-#define CONFIG_BOARD_VERSION_GPIO
-#define CONFIG_CMD_ACCELS
-#define CONFIG_CMD_ACCEL_INFO
-#undef CONFIG_BATTERY_CRITICAL_SHUTDOWN_TIMEOUT
-#define CONFIG_BATTERY_CRITICAL_SHUTDOWN_TIMEOUT 60
-#define CONFIG_BATTERY_CUT_OFF
-#define CONFIG_POWER_COMMON
-#define CONFIG_POWER_SHUTDOWN_PAUSE_IN_S5
-#define CONFIG_CHIPSET_CAN_THROTTLE
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-
-#define CONFIG_KEYBOARD_PROTOCOL_8042
-#define CONFIG_KEYBOARD_COL2_INVERTED
-#define CONFIG_KEYBOARD_SCANCODE_CALLBACK
-#define CONFIG_LID_ANGLE
-#define CONFIG_LIGHTBAR_POWER_RAILS
-#define CONFIG_LOW_POWER_IDLE
-#define CONFIG_POWER_BUTTON
-#define CONFIG_POWER_BUTTON_X86
-/* Note: not CONFIG_BACKLIGHT_LID. It's handled specially for Samus. */
-#define CONFIG_BACKLIGHT_REQ_GPIO GPIO_PCH_BL_EN
-/* TODO(crosbug.com/p/29467): remove this workaround when possible. */
-#define CONFIG_BATTERY_REQUESTS_NIL_WHEN_DEAD
-#define CONFIG_CHARGER_PROFILE_OVERRIDE
-#define CONFIG_BATTERY_SMART
-#define CONFIG_BATTERY_REVIVE_DISCONNECT
-#define CONFIG_CHARGER
-#define CONFIG_CHARGER_BQ24773
-#define CONFIG_CHARGER_ILIM_PIN_DISABLED
-#define CONFIG_CHARGER_SENSE_RESISTOR 5
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-#define CONFIG_CHARGER_INPUT_CURRENT 320
-#define CONFIG_CHARGER_DISCHARGE_ON_AC
-#define CONFIG_CHARGER_DISCHARGE_ON_AC_CUSTOM
-#undef CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON
-#define CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON 1
-#define CONFIG_FANS 2
-#define CONFIG_FAN_UPDATE_PERIOD 10
-#define CONFIG_FPU
-#define CONFIG_GESTURE_DETECTION
-/* SW gesture detection */
-#define CONFIG_GESTURE_DETECTION_MASK 0
-#define CONFIG_GESTURE_SW_DETECTION
-#define CONFIG_GESTURE_SAMPLING_INTERVAL_MS 5
-#undef CONFIG_HIBERNATE_DELAY_SEC
-#define CONFIG_HIBERNATE_DELAY_SEC (3600 * 24 * 7)
-#define CONFIG_HOSTCMD_PD
-#define CONFIG_HOSTCMD_PD_CHG_CTRL
-#define CONFIG_HOSTCMD_PD_PANIC
-#define CONFIG_PECI_TJMAX 105
-#define CONFIG_PWM
-#define CONFIG_PWM_KBLIGHT
-#define CONFIG_TEMP_SENSOR
-#define CONFIG_TEMP_SENSOR_TMP006
-#define CONFIG_TEMP_SENSOR_POWER_GPIO GPIO_PP3300_DSW_GATED_EN
-#define CONFIG_THROTTLE_AP
-#define CONFIG_UART_HOST 2
-#define CONFIG_USB_PORT_POWER_SMART
-#define CONFIG_USB_PORT_POWER_SMART_DEFAULT_MODE USB_CHARGE_MODE_CDP
-#define CONFIG_USB_PORT_POWER_SMART_INVERTED
-#define GPIO_USB1_ILIM_SEL GPIO_USB1_ILIM_SEL_L
-#define GPIO_USB2_ILIM_SEL GPIO_USB2_ILIM_SEL_L
-#define CONFIG_VBOOT_HASH
-#define CONFIG_WIRELESS
-#define CONFIG_WIRELESS_SUSPEND \
- (EC_WIRELESS_SWITCH_WLAN | EC_WIRELESS_SWITCH_WLAN_POWER)
-/* Do we want EC_WIRELESS_SWITCH_WWAN as well? */
-
-#ifndef __ASSEMBLER__
-
-/* I2C ports */
-#define I2C_PORT_BACKLIGHT 0
-#define I2C_PORT_BATTERY 0
-#define I2C_PORT_CHARGER 0
-#define I2C_PORT_PD_MCU 0
-#define I2C_PORT_ALS 1
-#define I2C_PORT_ACCEL 1
-#define I2C_PORT_LIGHTBAR 1
-#define I2C_PORT_THERMAL 5
-
-/* 13x8 keyboard scanner uses an entire GPIO bank for row inputs */
-#define KB_SCAN_ROW_IRQ LM4_IRQ_GPIOK
-#define KB_SCAN_ROW_GPIO LM4_GPIO_K
-
-/* Host connects to keyboard controller module via LPC */
-#define HOST_KB_BUS_LPC
-
-/* USB ports managed by the EC */
-#define USB_PORT_COUNT 2
-
-#include "gpio_signal.h"
-
-/* x86 signal definitions */
-enum x86_signal {
- X86_PGOOD_PP1050 = 0,
- X86_PGOOD_PP1200,
- X86_PGOOD_PP1800,
- X86_PGOOD_VCORE,
-
- X86_SLP_S0_DEASSERTED,
- X86_SLP_S3_DEASSERTED,
- X86_SLP_S5_DEASSERTED,
- X86_SLP_SUS_DEASSERTED,
- X86_SUSWARN_DEASSERTED,
-
- /* Number of X86 signals */
- POWER_SIGNAL_COUNT
-};
-
-enum adc_channel {
- /* EC internal die temperature in degrees K. */
- ADC_CH_EC_TEMP = 0,
- /* BAT_TEMP */
- ADC_CH_BAT_TEMP,
-
- ADC_CH_COUNT
-};
-
-enum pwm_channel {
- PWM_CH_KBLIGHT,
-
- /* Number of PWM channels */
- PWM_CH_COUNT
-};
-
-enum temp_sensor_id {
- /* CPU die temperature via PECI */
- TEMP_SENSOR_CPU_PECI,
- /* EC internal temperature sensor */
- TEMP_SENSOR_EC_INTERNAL,
- /* TMP006 U40, die/object temperature near battery charger */
- TEMP_SENSOR_I2C_U40_DIE,
- TEMP_SENSOR_I2C_U40_OBJECT,
- /* TMP006 U41, die/object temperature near CPU */
- TEMP_SENSOR_I2C_U41_DIE,
- TEMP_SENSOR_I2C_U41_OBJECT,
- /* TMP006 U42, die/object temperature left side of C-case */
- TEMP_SENSOR_I2C_U42_DIE,
- TEMP_SENSOR_I2C_U42_OBJECT,
- /* TMP006 U43, die/object temperature right side of C-case */
- TEMP_SENSOR_I2C_U43_DIE,
- TEMP_SENSOR_I2C_U43_OBJECT,
- /* TMP006 U115, die/object temperature right side of D-case */
- TEMP_SENSOR_I2C_U115_DIE,
- TEMP_SENSOR_I2C_U115_OBJECT,
- /* TMP006 U116, die/object temperature left side of D-case */
- TEMP_SENSOR_I2C_U116_DIE,
- TEMP_SENSOR_I2C_U116_OBJECT,
-
- /* Battery temperature sensor */
- TEMP_SENSOR_BATTERY,
-
- TEMP_SENSOR_COUNT
-};
-
-enum sensor_id {
- BASE_ACCEL,
- LID_ACCEL,
- BASE_GYRO,
- SENSOR_COUNT,
-};
-
-/* The number of TMP006 sensor chips on the board. */
-#define TMP006_COUNT 6
-
-/* Light sensors attached to the EC. */
-enum als_id {
- ALS_ISL29035 = 0,
-
- ALS_COUNT,
-};
-
-/* Wireless signals */
-#define WIRELESS_GPIO_WLAN GPIO_WLAN_OFF_L
-#define WIRELESS_GPIO_WLAN_POWER GPIO_PP3300_WLAN_EN
-
-/* Discharge battery when on AC power for factory test. */
-int board_is_discharging_on_ac(void);
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void);
-
-/* Backboost detected interrupt */
-void bkboost_det_interrupt(enum gpio_signal signal);
-
-/* Interrupt handler for JTAG clock */
-void jtag_interrupt(enum gpio_signal signal);
-
-/* Bit masks for turning on PP5000 rail in G3 */
-#define PP5000_IN_G3_AC BIT(0)
-#define PP5000_IN_G3_LIGHTBAR BIT(1)
-
-/* Enable/disable PP5000 rail mask in G3 */
-void set_pp5000_in_g3(int mask, int enable);
-
-/* Define for sensor tasks */
-#define CONFIG_GESTURE_SENSOR_DOUBLE_TAP
-#define CONFIG_GESTURE_TAP_OUTER_WINDOW_T 200
-#define CONFIG_GESTURE_TAP_INNER_WINDOW_T 30
-#define CONFIG_GESTURE_TAP_MIN_INTERSTICE_T 120
-#define CONFIG_GESTURE_TAP_MAX_INTERSTICE_T 500
-#define CONFIG_GESTURE_TAP_SENSOR 0
-
-#define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL
-#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/samus/build.mk b/board/samus/build.mk
deleted file mode 100644
index 183605fc62..0000000000
--- a/board/samus/build.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# -*- makefile -*-
-# Copyright 2013 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 TI Stellaris LM4
-CHIP:=lm4
-
-# Samus has board-specific chipset code, and the tests don't
-# compile with it. Disable them for now.
-test-list-y=
-
-board-y=battery.o board.o power_sequence.o panel.o extpower.o
diff --git a/board/samus/ec.tasklist b/board/samus/ec.tasklist
deleted file mode 100644
index 345892a64b..0000000000
--- a/board/samus/ec.tasklist
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2013 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_NOTEST(LIGHTBAR, lightbar_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(EXTPOWER, extpower_task, NULL, TASK_STACK_SIZE) \
- TASK_NOTEST(MOTIONSENSE, motion_sense_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)
diff --git a/board/samus/extpower.c b/board/samus/extpower.c
deleted file mode 100644
index c6a7424fca..0000000000
--- a/board/samus/extpower.c
+++ /dev/null
@@ -1,433 +0,0 @@
-/* Copyright 2013 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.
- */
-
-/*
- * Pure GPIO-based external power detection, buffered to PCH.
- * Drive high in S5-S0 when AC_PRESENT is high, otherwise drive low.
- */
-
-#include "bq24773.h"
-#include "charge_state.h"
-#include "charger.h"
-#include "chipset.h"
-#include "common.h"
-#include "console.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "system.h"
-#include "task.h"
-#include "util.h"
-
-/* Console output macros */
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-
-/* Max number of attempts to enable/disable NVDC charger */
-#define CHARGER_MODE_ATTEMPTS 3
-
-/* Backboost has been detected */
-static int bkboost_detected;
-
-/* Charging is disabled */
-static int charge_is_disabled;
-
-/* Extpower task has been initialized */
-static int extpower_task_initialized;
-
-/*
- * Charge circuit occasionally gets wedged and doesn't charge.
- * This variable keeps track of the state of the circuit.
- */
-static enum {
- CHARGE_CIRCUIT_OK,
- CHARGE_CIRCUIT_WEDGED,
-} charge_circuit_state = CHARGE_CIRCUIT_OK;
-
-int extpower_is_present(void)
-{
- return gpio_get_level(GPIO_AC_PRESENT);
-}
-
-static void extpower_buffer_to_pch(void)
-{
- if (chipset_in_state(CHIPSET_STATE_HARD_OFF)) {
- /* Drive low in G3 state */
- gpio_set_level(GPIO_PCH_ACOK, 0);
- } else {
- /* Buffer from extpower in S5+ (where 3.3DSW enabled) */
- gpio_set_level(GPIO_PCH_ACOK, extpower_is_present());
- }
-}
-DECLARE_HOOK(HOOK_CHIPSET_PRE_INIT, extpower_buffer_to_pch, HOOK_PRIO_DEFAULT);
-
-static void extpower_shutdown(void)
-{
- /* Drive ACOK buffer to PCH low when shutting down */
- gpio_set_level(GPIO_PCH_ACOK, 0);
-}
-DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, extpower_shutdown, HOOK_PRIO_DEFAULT);
-
-void extpower_interrupt(enum gpio_signal signal)
-{
- /* Trigger notification of external power change */
- extpower_buffer_to_pch();
-
- /* Wake extpower task only if task has been initialized */
- if (extpower_task_initialized)
- task_wake(TASK_ID_EXTPOWER);
-}
-
-static void extpower_init(void)
-{
- extpower_buffer_to_pch();
-
- /* Enable interrupts, now that we've initialized */
- gpio_enable_interrupt(GPIO_AC_PRESENT);
-}
-DECLARE_HOOK(HOOK_INIT, extpower_init, HOOK_PRIO_DEFAULT);
-
-/*
- * Save power in S3/S5/G3 by disabling charging when the battery is
- * full. Restore charging when battery is not full anymore. This saves
- * power because our input AC path is inefficient.
- */
-
-static void check_charging_cutoff(void)
-{
- /* If battery is full disable charging */
- if (charge_get_percent() == 100) {
- charge_is_disabled = 1;
- host_command_pd_send_status(PD_CHARGE_NONE);
- }
-}
-DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, check_charging_cutoff, HOOK_PRIO_DEFAULT);
-
-static void cancel_charging_cutoff(void)
-{
- /* If charging is disabled, enable it */
- if (charge_is_disabled) {
- charge_is_disabled = 0;
- host_command_pd_send_status(PD_CHARGE_5V);
- }
-}
-DECLARE_HOOK(HOOK_CHIPSET_RESUME, cancel_charging_cutoff, HOOK_PRIO_DEFAULT);
-
-static void batt_soc_change(void)
-{
- /* If in S0, leave charging alone */
- if (chipset_in_state(CHIPSET_STATE_ON)) {
- host_command_pd_send_status(PD_CHARGE_NO_CHANGE);
- return;
- }
-
- /* Check to disable or enable charging based on batt state of charge */
- if (!charge_is_disabled && charge_get_percent() == 100) {
- host_command_pd_send_status(PD_CHARGE_NONE);
- charge_is_disabled = 1;
- } else if (charge_is_disabled && charge_get_percent() < 100) {
- charge_is_disabled = 0;
- host_command_pd_send_status(PD_CHARGE_5V);
- } else {
- /* Leave charging alone, but update battery SOC */
- host_command_pd_send_status(PD_CHARGE_NO_CHANGE);
- }
-}
-DECLARE_HOOK(HOOK_BATTERY_SOC_CHANGE, batt_soc_change, HOOK_PRIO_DEFAULT);
-
-/**
- * Enable/disable NVDC charger to control AC to system and battery.
- */
-static void charger_disable(int disable)
-{
- int i, rv;
-
- for (i = 0; i < CHARGER_MODE_ATTEMPTS; i++) {
- rv = charger_discharge_on_ac(disable);
- if (rv == EC_SUCCESS)
- return;
- }
-
- CPRINTS("Setting learn mode %d failed!", disable);
-}
-
-static void allow_max_request(void)
-{
- int prochot_status;
- if (charge_circuit_state == CHARGE_CIRCUIT_WEDGED) {
- /* Read PROCHOT status register to clear it */
- i2c_read8(I2C_PORT_CHARGER, BQ24773_ADDR_FLAGS,
- BQ24773_PROCHOT_STATUS, &prochot_status);
- charge_circuit_state = CHARGE_CIRCUIT_OK;
- }
- host_command_pd_send_status(PD_CHARGE_MAX);
-}
-DECLARE_DEFERRED(allow_max_request);
-
-static void allow_min_charging(void)
-{
- if (!charge_is_disabled && charge_circuit_state == CHARGE_CIRCUIT_OK)
- host_command_pd_send_status(PD_CHARGE_5V);
-}
-DECLARE_DEFERRED(allow_min_charging);
-
-static void extpower_board_hacks(int extpower, int extpower_prev)
-{
- /* Cancel deferred attempt to enable max charge request */
- hook_call_deferred(&allow_max_request_data, -1);
-
- /*
- * When AC is detected, delay briefly before allowing PD
- * to negotiate up to the max voltage to give charge circuit
- * time to settle down. When AC goes away, disable charging
- * for a brief time, allowing charge state machine time to
- * see AC has gone away, and then set PD to only allow
- * 5V charging for the next time AC is connected.
- *
- * Use NVDC charger learn mode (charger_disable()) when AC
- * is not present to avoid backboosting when AC is plugged in.
- *
- * When in G3, PP5000 needs to be enabled to accurately sense
- * CC voltage when AC is attached. When AC is disconnceted
- * it needs to be off to save power.
- */
- if (extpower && !extpower_prev) {
- /* AC connected */
- charger_disable(0);
- hook_call_deferred(&allow_max_request_data, 500*MSEC);
- set_pp5000_in_g3(PP5000_IN_G3_AC, 1);
- } else if (extpower && extpower_prev) {
- /*
- * Glitch on AC_PRESENT, attempt to recover from
- * backboost
- */
- host_command_pd_send_status(PD_CHARGE_NONE);
- } else {
- /* AC disconnected */
- if (!charge_is_disabled &&
- charge_circuit_state == CHARGE_CIRCUIT_OK)
- host_command_pd_send_status(PD_CHARGE_NONE);
-
- charger_disable(1);
-
- hook_call_deferred(&allow_min_charging_data, 100*MSEC);
- set_pp5000_in_g3(PP5000_IN_G3_AC, 0);
- }
- extpower_prev = extpower;
-}
-
-/* Return boostin_voltage or negative if error */
-static int get_boostin_voltage(void)
-{
- /* Static structs to save stack space */
- static struct ec_response_usb_pd_power_info pd_power_ret;
- static struct ec_params_usb_pd_power_info pd_power_args;
- int ret;
- int err;
-
- /* Boost-in voltage is maximum of voltage now on each port */
- pd_power_args.port = 0;
- err = pd_host_command(EC_CMD_USB_PD_POWER_INFO, 0,
- &pd_power_args,
- sizeof(struct ec_params_usb_pd_power_info),
- &pd_power_ret,
- sizeof(struct ec_response_usb_pd_power_info));
- if (err < 0)
- return err;
- ret = pd_power_ret.meas.voltage_now;
-
- pd_power_args.port = 1;
- err = pd_host_command(EC_CMD_USB_PD_POWER_INFO, 0,
- &pd_power_args,
- sizeof(struct ec_params_usb_pd_power_info),
- &pd_power_ret,
- sizeof(struct ec_response_usb_pd_power_info));
- if (err < 0)
- return err;
-
- /* Get max of two measuremente */
- if (pd_power_ret.meas.voltage_now > ret)
- ret = pd_power_ret.meas.voltage_now;
-
- return ret;
-}
-
-/*
- * Send command to PD to write a custom persistent log entry indicating that
- * charging was wedged. Returns pd_host_command success status.
- */
-static int log_charge_wedged(void)
-{
- static struct ec_params_pd_write_log_entry log_args;
-
- log_args.type = PD_EVENT_MCU_BOARD_CUSTOM;
- log_args.port = 0;
-
- return pd_host_command(EC_CMD_PD_WRITE_LOG_ENTRY, 0,
- &log_args,
- sizeof(struct ec_params_pd_write_log_entry),
- NULL, 0);
-}
-
-/* Time interval between checking if charge circuit is wedged */
-#define CHARGE_WEDGE_CHECK_INTERVAL (2*SECOND)
-
-/*
- * Number of iterations through check_charge_wedged() with charging stalled
- * before attempting unwedge.
- */
-#define CHARGE_STALLED_COUNT 5
-/*
- * Number of iterations through check_charge_wedged() with charging stalled
- * after we already just tried unwedging the circuit, before we try again.
- */
-#define CHARGE_STALLED_REPEATEDLY_COUNT 60
-
-/*
- * Minimum number of iterations through check_charge_wedged() between
- * unwedge attempts.
- */
-#define MIN_COUNTS_BETWEEN_UNWEDGES 3
-
-static void check_charge_wedged(void)
-{
- int rv, prochot_status, batt_discharging_on_ac, boostin_voltage = 0;
- static int counts_since_wedged;
- static int charge_stalled_count = CHARGE_STALLED_COUNT;
- uint8_t *batt_flags = host_get_memmap(EC_MEMMAP_BATT_FLAG);
-
- if (charge_circuit_state == CHARGE_CIRCUIT_OK) {
- /* Check PROCHOT warning */
- rv = i2c_read8(I2C_PORT_CHARGER, BQ24773_ADDR_FLAGS,
- BQ24773_PROCHOT_STATUS, &prochot_status);
- if (rv)
- prochot_status = 0;
-
- batt_discharging_on_ac =
- (*batt_flags & EC_BATT_FLAG_AC_PRESENT) &&
- (*batt_flags & EC_BATT_FLAG_DISCHARGING);
-
- /*
- * If PROCHOT is set or we are discharging on AC, then we
- * need to know boostin_voltage.
- */
- if (prochot_status || batt_discharging_on_ac)
- boostin_voltage = get_boostin_voltage();
-
- /*
- * If AC is present, and battery is discharging, and
- * boostin voltage is above 5V, then we might be wedged.
- */
- if (batt_discharging_on_ac) {
- if (boostin_voltage > 6000)
- charge_stalled_count--;
- else if (boostin_voltage >= 0)
- charge_stalled_count = CHARGE_STALLED_COUNT;
- /* If boostin_voltage < 0, don't change stalled count */
- } else {
- charge_stalled_count = CHARGE_STALLED_COUNT;
- }
-
- /*
- * If we were recently wedged, then give ourselves a free pass
- * here. This gives an opportunity for reading the PROCHOT
- * status to clear it if the error has gone away.
- */
- if (counts_since_wedged < MIN_COUNTS_BETWEEN_UNWEDGES)
- counts_since_wedged++;
-
- /*
- * If PROCHOT is asserted AND boost_in voltage is above 5V,
- * then charge circuit is wedged. If charging has been stalled
- * long enough, then also consider the circuit wedged.
- *
- * To unwedge the charge circuit turn on learn mode and notify
- * PD to disable charging on all ports.
- * Note: learn mode is critical here because when in this state
- * backboosting causes >20V on boostin even after PD disables
- * CHARGE_EN lines.
- */
- if ((prochot_status && boostin_voltage > 6000 &&
- counts_since_wedged >= MIN_COUNTS_BETWEEN_UNWEDGES) ||
- charge_stalled_count <= 0) {
- counts_since_wedged = 0;
- host_command_pd_send_status(PD_CHARGE_NONE);
- charger_disable(1);
- charge_circuit_state = CHARGE_CIRCUIT_WEDGED;
- log_charge_wedged();
- CPRINTS("Charge wedged! PROCHOT %02x, Stalled: %d",
- prochot_status, charge_stalled_count);
-
- /*
- * If this doesn't clear the problem, then start
- * the stall counter higher so that we don't retry
- * unwedging for a while. Note, if we do start charging
- * properly, then stall counter will be set to
- * default, so that we will trigger faster the first
- * time it stalls out.
- */
- charge_stalled_count = CHARGE_STALLED_REPEATEDLY_COUNT;
- }
- } else {
- /*
- * Charge circuit is wedged and we already disabled charging,
- * Now start to recover from wedged state by allowing 5V.
- */
- host_command_pd_send_status(PD_CHARGE_5V);
- }
-}
-
-/**
- * Task to handle external power change
- */
-void extpower_task(void)
-{
- int extpower = extpower_is_present();
- int extpower_prev = 0;
-
- extpower_board_hacks(extpower, extpower_prev);
- extpower_prev = extpower;
- extpower_task_initialized = 1;
-
- /* Enable backboost detection interrupt */
- gpio_enable_interrupt(GPIO_BKBOOST_DET);
-
- while (1) {
- if (task_wait_event(CHARGE_WEDGE_CHECK_INTERVAL) ==
- TASK_EVENT_TIMER) {
- /*
- * If we are NOT purposely discharging on AC, then
- * periodically check if charge circuit is wedged.
- */
- if (!board_is_discharging_on_ac())
- check_charge_wedged();
- } else {
- /* Must have received power change interrupt */
- extpower = extpower_is_present();
-
- /* Various board hacks to run on extpower change */
- extpower_board_hacks(extpower, extpower_prev);
- extpower_prev = extpower;
-
- extpower_handle_update(extpower);
- }
- }
-}
-
-void bkboost_det_interrupt(enum gpio_signal signal)
-{
- /* Backboost has been detected, save it, and disable interrupt */
- bkboost_detected = 1;
- gpio_disable_interrupt(GPIO_BKBOOST_DET);
-}
-
-static int command_backboost_det(int argc, char **argv)
-{
- ccprintf("Backboost detected: %d\n", bkboost_detected);
- return EC_SUCCESS;
-}
-DECLARE_CONSOLE_COMMAND(bkboost, command_backboost_det, NULL,
- "Read backboost detection");
diff --git a/board/samus/gpio.inc b/board/samus/gpio.inc
deleted file mode 100644
index 1b49c58bd0..0000000000
--- a/board/samus/gpio.inc
+++ /dev/null
@@ -1,122 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* Declare symbolic names for all the GPIOs that we care about.
- * Note: Those with interrupt handlers must be declared first. */
-
-GPIO_INT(POWER_BUTTON_L, PIN(A, 2), GPIO_INT_BOTH_DSLEEP, power_button_interrupt) /* Power button */
-GPIO_INT(LID_OPEN, PIN(A, 3), GPIO_INT_BOTH_DSLEEP, lid_interrupt) /* Lid switch */
-GPIO_INT(AC_PRESENT, PIN(H, 3), GPIO_INT_BOTH_DSLEEP, extpower_interrupt) /* AC power present */
-GPIO_INT(PCH_SLP_S0_L, PIN(G, 6), GPIO_INT_BOTH, power_signal_interrupt) /* SLP_S0# signal from PCH */
-GPIO_INT(PCH_SLP_S3_L, PIN(G, 7), GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S3# signal from PCH */
-GPIO_INT(PCH_SLP_S5_L, PIN(H, 1), GPIO_INT_BOTH_DSLEEP, power_signal_interrupt) /* SLP_S5# signal from PCH */
-GPIO_INT(PCH_SLP_SUS_L, PIN(G, 3), GPIO_INT_BOTH, power_signal_interrupt) /* SLP_SUS# signal from PCH */
-GPIO_INT(PCH_SUSWARN_L, PIN(G, 2), GPIO_INT_BOTH, power_signal_interrupt) /* SUSWARN# signal from PCH */
-GPIO_INT(PP1050_PGOOD, PIN(H, 4), GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.05V */
-GPIO_INT(PP1200_PGOOD, PIN(H, 6), GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.2V (DRAM) */
-GPIO_INT(PP1800_PGOOD, PIN(L, 7), GPIO_INT_BOTH, power_signal_interrupt) /* Power good on 1.8V (DRAM) */
-GPIO_INT(VCORE_PGOOD, PIN(C, 6), GPIO_INT_BOTH, power_signal_interrupt) /* Power good on core VR */
-GPIO_INT(WP_L, PIN(A, 4), GPIO_INT_BOTH, switch_interrupt) /* Write protect input */
-GPIO_INT(PCH_BL_EN, PIN(M, 3), GPIO_INT_RISING, backlight_interrupt) /* PCH backlight input */
-GPIO_INT(JTAG_TCK, PIN(C, 0), GPIO_DEFAULT, jtag_interrupt) /* JTAG clock input */
-GPIO_INT(UART0_RX, PIN(A, 0), GPIO_PULL_UP | GPIO_INT_BOTH_DSLEEP, uart_deepsleep_interrupt) /* UART0 RX input */
-GPIO_INT(BKBOOST_DET, PIN(B, 5), GPIO_INT_RISING, bkboost_det_interrupt) /* Backboost detect */
-
-/* Interrupt signal from PD MCU, external pull-down */
-GPIO_INT(PD_MCU_INT, PIN(J, 5), GPIO_INT_RISING | GPIO_INT_DSLEEP, pd_mcu_interrupt)
-
-/*
- * Combined accelerometer input. This will become an interrupt, once we have
- * support for it.
- */
-GPIO(ACCEL_INT, PIN(F, 7), GPIO_INPUT)
-
-/*
- * Ambient Light Sensor input. This could become an interrupt once supported.
- */
-GPIO(ALS_INT_L, PIN(N, 0), GPIO_INPUT)
-
-/* Other inputs */
-GPIO(BOARD_VERSION1, PIN(Q, 7), GPIO_INPUT) /* Board version stuffing resistor 1 */
-GPIO(BOARD_VERSION2, PIN(Q, 6), GPIO_INPUT) /* Board version stuffing resistor 2 */
-GPIO(BOARD_VERSION3, PIN(Q, 5), GPIO_INPUT) /* Board version stuffing resistor 3 */
-GPIO(USB1_OC_L, PIN(E, 7), GPIO_INPUT) /* USB port overcurrent warning */
-GPIO(USB1_STATUS_L, PIN(E, 6), GPIO_INPUT) /* USB charger port 1 status output */
-GPIO(USB2_OC_L, PIN(E, 0), GPIO_INPUT) /* USB port overcurrent warning */
-GPIO(USB2_STATUS_L, PIN(D, 7), GPIO_INPUT) /* USB charger port 2 status output */
-GPIO(PD_IN_RW, PIN(A, 5), GPIO_INPUT) /* PD is in RW */
-GPIO(PCH_HDA_SDO_L, PIN(G, 1), GPIO_INPUT) /* HDA_SDO signal to PCH to disable ME */
-
-/* Outputs; all unasserted by default except for reset signals */
-GPIO(CPU_PROCHOT, PIN(B, 1), GPIO_OUT_LOW) /* Force CPU to think it's overheated */
-GPIO(PP1200_EN, PIN(H, 5), GPIO_OUT_LOW) /* Enable 1.20V supply */
-GPIO(PP3300_DSW_EN, PIN(F, 6), GPIO_OUT_LOW) /* Enable 3.3V DSW rail */
-GPIO(PP3300_DSW_GATED_EN, PIN(J, 3), GPIO_OUT_LOW) /* Enable 3.3V Gated DSW and core VDD */
-GPIO(PP3300_LTE_EN, PIN(D, 2), GPIO_OUT_LOW) /* Enable LTE radio */
-GPIO(PP3300_WLAN_EN, PIN(J, 0), GPIO_OUT_LOW) /* Enable WiFi power */
-GPIO(PP1050_EN, PIN(C, 7), GPIO_OUT_LOW) /* Enable 1.05V regulator */
-GPIO(PP5000_USB_EN, PIN(C, 5), GPIO_OUT_LOW) /* Enable USB power */
-GPIO(PP5000_EN, PIN(H, 7), GPIO_OUT_LOW) /* Enable 5V supply */
-GPIO(PP1800_EN, PIN(L, 6), GPIO_OUT_LOW) /* Enable 1.8V supply */
-GPIO(SYS_PWROK, PIN(H, 2), GPIO_OUT_LOW) /* EC thinks everything is up and ready */
-GPIO(WLAN_OFF_L, PIN(J, 4), GPIO_OUT_LOW) /* Disable WiFi radio */
-GPIO(USB_MCU_RST, PIN(B, 0), GPIO_OUT_LOW) /* USB PD MCU reset */
-GPIO(ENABLE_BACKLIGHT, PIN(M, 7), GPIO_OUT_LOW) /* Enable backlight power */
-GPIO(ENABLE_TOUCHPAD, PIN(N, 1), GPIO_OUT_LOW) /* Enable touchpad power */
-GPIO(ENTERING_RW, PIN(D, 3), GPIO_OUT_LOW) /* Indicate when EC is entering RW code */
-GPIO(LIGHTBAR_RESET_L, PIN(J, 2), GPIO_ODR_LOW) /* Reset lightbar controllers */
-GPIO(PCH_DPWROK, PIN(G, 0), GPIO_OUT_LOW) /* Indicate when VccDSW is good */
-GPIO(PCH_RSMRST_L, PIN(C, 4), GPIO_OUT_LOW) /* Reset PCH resume power plane logic */
-GPIO(PCH_RTCRST_L, PIN(J, 1), GPIO_ODR_HIGH) /* Reset PCH RTC well */
-GPIO(PCH_WAKE_L, PIN(F, 0), GPIO_ODR_HIGH) /* Wake signal from EC to PCH */
-GPIO(PCH_NMI_L, PIN(F, 2), GPIO_ODR_HIGH) /* Non-maskable interrupt pin to PCH */
-GPIO(PCH_PWRBTN_L, PIN(H, 0), GPIO_ODR_HIGH) /* Power button output to PCH */
-GPIO(PCH_PWROK, PIN(F, 5), GPIO_OUT_LOW) /* PWROK / APWROK signals to PCH */
-GPIO(PCH_RCIN_L, PIN(F, 3), GPIO_ODR_HIGH) /* RCIN# line to PCH (for 8042 emulation) */
-GPIO(PCH_SYS_RST_L, PIN(F, 1), GPIO_ODR_HIGH) /* Reset PCH resume power plane logic */
-GPIO(PCH_SMI_L, PIN(F, 4), GPIO_ODR_HIGH) /* System management interrupt to PCH */
-GPIO(TOUCHSCREEN_RESET_L, PIN(N, 7), GPIO_ODR_LOW) /* Reset touch screen */
-GPIO(PCH_ACOK, PIN(M, 6), GPIO_OUT_LOW) /* AC present signal buffered to PCH */
-#ifndef HEY_USE_BUILTIN_CLKRUN
-GPIO(LPC_CLKRUN_L, PIN(M, 2), GPIO_ODR_HIGH) /* Dunno. Probably important, though. */
-#endif
-GPIO(USB1_CTL1, PIN(E, 1), GPIO_OUT_LOW) /* USB charger port 1 CTL1 output */
-GPIO(USB1_CTL2, PIN(E, 2), GPIO_OUT_HIGH) /* USB charger port 1 CTL2 output */
-GPIO(USB1_CTL3, PIN(E, 3), GPIO_OUT_LOW) /* USB charger port 1 CTL3 output */
-GPIO(USB1_ENABLE, PIN(E, 4), GPIO_OUT_HIGH) /* USB charger port 1 enable */
-GPIO(USB1_ILIM_SEL_L, PIN(E, 5), GPIO_OUT_HIGH) /* USB charger port 1 ILIM_SEL output */
-GPIO(USB2_CTL1, PIN(D, 0), GPIO_OUT_LOW) /* USB charger port 2 CTL1 output */
-GPIO(USB2_CTL2, PIN(D, 1), GPIO_OUT_HIGH) /* USB charger port 2 CTL2 output */
-GPIO(USB2_CTL3, PIN(D, 4), GPIO_OUT_LOW) /* USB charger port 2 CTL3 output */
-GPIO(USB2_ENABLE, PIN(D, 5), GPIO_OUT_HIGH) /* USB charger port 2 enable */
-GPIO(USB2_ILIM_SEL_L, PIN(D, 6), GPIO_OUT_HIGH) /* USB charger port 2 ILIM_SEL output */
-
-GPIO(I2C0_SCL, PIN(B, 2), GPIO_ODR_HIGH) /* I2C port 0 SCL */
-GPIO(I2C0_SDA, PIN(B, 3), GPIO_ODR_HIGH) /* I2C port 0 SDA */
-GPIO(I2C1_SCL, PIN(A, 6), GPIO_ODR_HIGH) /* I2C port 1 SCL */
-GPIO(I2C1_SDA, PIN(A, 7), GPIO_ODR_HIGH) /* I2C port 1 SDA */
-GPIO(I2C5_SCL, PIN(B, 6), GPIO_ODR_HIGH) /* I2C port 5 SCL */
-GPIO(I2C5_SDA, PIN(B, 7), GPIO_ODR_HIGH) /* I2C port 5 SDA */
-
-ALTERNATE(PIN_MASK(A, 0x03), 1, MODULE_UART, 0) /* UART0 */
-ALTERNATE(PIN_MASK(A, 0x40), 3, MODULE_I2C, 0) /* I2C1 SCL */
-ALTERNATE(PIN_MASK(A, 0x80), 3, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C1 SDA */
-ALTERNATE(PIN_MASK(B, 0x04), 3, MODULE_I2C, 0) /* I2C0 SCL */
-ALTERNATE(PIN_MASK(B, 0x08), 3, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C0 SDA */
-ALTERNATE(PIN_MASK(B, 0x40), 3, MODULE_I2C, 0) /* I2C5 SCL */
-ALTERNATE(PIN_MASK(B, 0x80), 3, MODULE_I2C, GPIO_OPEN_DRAIN) /* I2C5 SDA */
-ALTERNATE(PIN_MASK(G, 0x30), 1, MODULE_UART, 0) /* UART2 */
-ALTERNATE(PIN_MASK(J, 0x40), 1, MODULE_PECI, 0) /* PECI Tx */
-ALTERNATE(PIN_MASK(J, 0x80), 0, MODULE_PECI, GPIO_ANALOG) /* PECI Rx */
-ALTERNATE(PIN_MASK(L, 0x3f), 15, MODULE_LPC, 0) /* LPC */
-ALTERNATE(PIN_MASK(M, 0x33), 15, MODULE_LPC, 0) /* LPC */
-#ifdef HEY_USE_BUILTIN_CLKRUN
-ALTERNATE(PIN_MASK(M, 0x04), 15, MODULE_LPC, GPIO_OPEN_DRAIN) /* LPC */
-#endif
-
-ALTERNATE(PIN_MASK(N, 0x3c), 1, MODULE_PWM, 0) /* FAN0PWM 2&3 */
-ALTERNATE(PIN_MASK(N, 0x40), 1, MODULE_PWM, 0) /* FAN0PWM4 */
diff --git a/board/samus/panel.c b/board/samus/panel.c
deleted file mode 100644
index b3fe6060aa..0000000000
--- a/board/samus/panel.c
+++ /dev/null
@@ -1,195 +0,0 @@
-/* Copyright 2013 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 "chipset.h"
-#include "common.h"
-#include "console.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "lid_switch.h"
-#include "timer.h"
-
-#define CPRINTS(format, args...) cprints(CC_I2C, format, ## args)
-
-#define I2C_ADDR_BACKLIGHT_FLAGS (0x2C | I2C_FLAG_BIG_ENDIAN)
-#define I2C_RETRIES 3
-#define I2C_RETRY_DELAY (5*MSEC)
-
-#define LP8555_REG_COMMAND 0x00
-#define LP8555_REG_COMMAND_ON 0x01
-#define LP8555_REG_CONFIG 0x10
-#define LP8555_REG_CONFIG_MODE_MASK 0x03
-#define LP8555_REG_CONFIG_MODE_PWM 0x00
-#define LP8555_REG_CURRENT 0x11
-#define LP8555_REG_CURRENT_MAXCURR_5MA 0x00
-#define LP8555_REG_CURRENT_MAXCURR_10MA 0x01
-#define LP8555_REG_CURRENT_MAXCURR_15MA 0x02
-#define LP8555_REG_CURRENT_MAXCURR_20MA 0x03
-#define LP8555_REG_CURRENT_MAXCURR_23MA 0x04
-#define LP8555_REG_CURRENT_MAXCURR_25MA 0x05
-#define LP8555_REG_CURRENT_MAXCURR_30MA 0x06
-#define LP8555_REG_CURRENT_MAXCURR_50MA 0x07
-#define LP8555_REG_STEP 0x15
-#define LP8555_REG_STEP_STEP_0MS (0 << 0)
-#define LP8555_REG_STEP_STEP_8MS BIT(0)
-#define LP8555_REG_STEP_STEP_16MS (2 << 0)
-#define LP8555_REG_STEP_STEP_24MS (3 << 0)
-#define LP8555_REG_STEP_STEP_28MS (4 << 0)
-#define LP8555_REG_STEP_STEP_32MS (5 << 0)
-#define LP8555_REG_STEP_STEP_100MS (6 << 0)
-#define LP8555_REG_STEP_STEP_200MS (7 << 0)
-#define LP8555_REG_STEP_PWM_IN_HYST_NONE (0 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_1LSB BIT(3)
-#define LP8555_REG_STEP_PWM_IN_HYST_2LSB (2 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_4LSB (3 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_8LSB (4 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_16LSB (5 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_32LSB (6 << 3)
-#define LP8555_REG_STEP_PWM_IN_HYST_64LSB (7 << 3)
-#define LP8555_REG_STEP_SMOOTH_NONE (0 << 6)
-#define LP8555_REG_STEP_SMOOTH_LIGHT BIT(6)
-#define LP8555_REG_STEP_SMOOTH_MEDIUM (2 << 6)
-#define LP8555_REG_STEP_SMOOTH_HEAVY (3 << 6)
-
-/* Read from lp8555 with automatic i2c retries */
-static int lp8555_read_with_retry(int reg, int *data)
-{
- int i, rv;
-
- for (i = 0; i < I2C_RETRIES; i++) {
- rv = i2c_read8(I2C_PORT_BACKLIGHT,
- I2C_ADDR_BACKLIGHT_FLAGS,
- reg, data);
- if (rv == EC_SUCCESS)
- return EC_SUCCESS;
- usleep(I2C_RETRY_DELAY);
- }
-
- CPRINTS("Backlight read fail: reg 0x%02x", reg);
- return rv;
-}
-
-/* Write to lp8555 with automatic i2c retries */
-static int lp8555_write_with_retry(int reg, int data)
-{
- int i, rv;
-
- for (i = 0; i < I2C_RETRIES; i++) {
- rv = i2c_write8(I2C_PORT_BACKLIGHT,
- I2C_ADDR_BACKLIGHT_FLAGS,
- reg, data);
- if (rv == EC_SUCCESS)
- return EC_SUCCESS;
- usleep(I2C_RETRY_DELAY);
- }
-
- CPRINTS("Backlight write fail: reg 0x%02x data %d", reg, data);
- return rv;
-}
-
-/**
- * Setup backlight controller and turn it on.
- */
-static void lp8555_enable_pwm_mode(void)
-{
- int reg;
- int rv;
-
- /*
- * If not in S0, then PCH backlight enable will not be on, and if
- * lid is closed EC backlight enable will not be on. Since these
- * two signals are AND'ed together, no point in trying to talk to
- * the lp8555 if either one of them is not true.
- */
- if (!chipset_in_state(CHIPSET_STATE_ON) || !lid_is_open())
- return;
-
- /* Enable PWM mode. */
- rv = lp8555_read_with_retry(LP8555_REG_CONFIG, &reg);
- if (rv != EC_SUCCESS)
- return;
- reg &= ~LP8555_REG_CONFIG_MODE_MASK;
- reg |= LP8555_REG_CONFIG_MODE_PWM;
- rv = lp8555_write_with_retry(LP8555_REG_CONFIG, reg);
- if (rv != EC_SUCCESS)
- return;
-
- /* Set max LED current to 23mA. */
- rv = lp8555_write_with_retry(LP8555_REG_CURRENT,
- LP8555_REG_CURRENT_MAXCURR_23MA);
- if (rv != EC_SUCCESS)
- return;
-
- /* Set the rate of brightness change. */
- rv = lp8555_write_with_retry(LP8555_REG_STEP,
- LP8555_REG_STEP_STEP_200MS |
- LP8555_REG_STEP_PWM_IN_HYST_8LSB |
- LP8555_REG_STEP_SMOOTH_HEAVY);
- if (rv != EC_SUCCESS)
- return;
-
- /* Power on. */
- rv = lp8555_read_with_retry(LP8555_REG_COMMAND, &reg);
- if (rv != EC_SUCCESS)
- return;
- reg |= LP8555_REG_COMMAND_ON;
- rv = lp8555_write_with_retry(LP8555_REG_COMMAND, reg);
-}
-DECLARE_DEFERRED(lp8555_enable_pwm_mode);
-
-/**
- * Host command to toggle backlight.
- */
-static enum ec_status
-switch_command_enable_backlight(struct host_cmd_handler_args *args)
-{
- const struct ec_params_switch_enable_backlight *p = args->params;
-
- gpio_set_level(GPIO_ENABLE_BACKLIGHT, p->enabled);
-
- if (p->enabled)
- lp8555_enable_pwm_mode();
-
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_SWITCH_ENABLE_BKLIGHT,
- switch_command_enable_backlight,
- EC_VER_MASK(0));
-
-void backlight_interrupt(enum gpio_signal signal)
-{
- /*
- * PCH indicates it is turning on backlight so we should
- * attempt to put the backlight controller into PWM mode.
- */
- hook_call_deferred(&lp8555_enable_pwm_mode_data, 0);
-}
-
-/**
- * Update backlight state.
- */
-static void update_backlight(void)
-{
- /*
- * Enable backlight if lid is open; this is AND'd with the request from
- * the AP in hardware.
- */
- gpio_set_level(GPIO_ENABLE_BACKLIGHT, lid_is_open());
- if (lid_is_open())
- hook_call_deferred(&lp8555_enable_pwm_mode_data, 0);
-}
-DECLARE_HOOK(HOOK_LID_CHANGE, update_backlight, HOOK_PRIO_DEFAULT);
-
-/**
- * Initialize backlight module.
- */
-static void backlight_init(void)
-{
- gpio_enable_interrupt(GPIO_PCH_BL_EN);
- gpio_set_level(GPIO_ENABLE_BACKLIGHT, lid_is_open());
-}
-DECLARE_HOOK(HOOK_INIT, backlight_init, HOOK_PRIO_DEFAULT);
diff --git a/board/samus/power_sequence.c b/board/samus/power_sequence.c
deleted file mode 100644
index c3643e5c23..0000000000
--- a/board/samus/power_sequence.c
+++ /dev/null
@@ -1,563 +0,0 @@
-/* Copyright 2013 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.
- */
-
-/* X86 chipset power control module for Chrome EC */
-
-#include "battery.h"
-#include "charge_state.h"
-#include "chipset.h"
-#include "common.h"
-#include "console.h"
-#include "extpower.h"
-#include "i2c.h"
-#include "lb_common.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "lid_switch.h"
-#include "power.h"
-#include "registers.h"
-#include "system.h"
-#include "task.h"
-#include "timer.h"
-#include "util.h"
-#include "wireless.h"
-
-/* Console output macros */
-#define CPUTS(outstr) cputs(CC_CHIPSET, outstr)
-#define CPRINTS(format, args...) cprints(CC_CHIPSET, format, ## args)
-
-/* Input state flags */
-#define IN_PGOOD_PP1050 POWER_SIGNAL_MASK(X86_PGOOD_PP1050)
-#define IN_PGOOD_PP1200 POWER_SIGNAL_MASK(X86_PGOOD_PP1200)
-#define IN_PGOOD_PP1800 POWER_SIGNAL_MASK(X86_PGOOD_PP1800)
-#define IN_PGOOD_VCORE POWER_SIGNAL_MASK(X86_PGOOD_VCORE)
-
-#define IN_PCH_SLP_S0_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_S0_DEASSERTED)
-#define IN_PCH_SLP_S3_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_S3_DEASSERTED)
-#define IN_PCH_SLP_S5_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_S5_DEASSERTED)
-#define IN_PCH_SLP_SUS_DEASSERTED POWER_SIGNAL_MASK(X86_SLP_SUS_DEASSERTED)
-
-
-/* All non-core power rails */
-#define IN_PGOOD_ALL_NONCORE (IN_PGOOD_PP1050)
-/* All core power rails */
-#define IN_PGOOD_ALL_CORE (IN_PGOOD_VCORE)
-/* Rails required for S3 */
-#define IN_PGOOD_S3 (IN_PGOOD_PP1200)
-/* Rails required for S0 */
-#define IN_PGOOD_S0 (IN_PGOOD_ALL_NONCORE)
-/* Rails used to detect if PP5000 is up. 1.8V PGOOD is not
- * a reliable signal to use here with an internal pullup. */
-#define IN_PGOOD_PP5000 (IN_PGOOD_PP1050 | IN_PGOOD_PP1200)
-
-
-/* All PM_SLP signals from PCH deasserted */
-#define IN_ALL_PM_SLP_DEASSERTED (IN_PCH_SLP_S3_DEASSERTED | \
- IN_PCH_SLP_S5_DEASSERTED | \
- IN_PCH_SLP_SUS_DEASSERTED)
-
-/* All inputs in the right state for S0 */
-#define IN_ALL_S0 (IN_PGOOD_ALL_NONCORE | IN_PGOOD_ALL_CORE | \
- IN_ALL_PM_SLP_DEASSERTED)
-
-static int throttle_cpu; /* Throttle CPU? */
-static uint32_t pp5000_in_g3; /* Turn PP5000 on in G3? */
-
-void chipset_force_shutdown(enum chipset_shutdown_reason reason)
-{
- CPRINTS("%s(%d)", __func__, reason);
- report_ap_reset(reason);
-
- /*
- * Force off. This condition will reset once the state machine
- * transitions to G3.
- */
- gpio_set_level(GPIO_PCH_DPWROK, 0);
- gpio_set_level(GPIO_PCH_RSMRST_L, 0);
-}
-
-static void chipset_force_g3(void)
-{
- CPRINTS("Forcing G3");
-
- gpio_disable_interrupt(GPIO_VCORE_PGOOD);
- gpio_set_level(GPIO_PCH_PWROK, 0);
- gpio_set_level(GPIO_SYS_PWROK, 0);
- gpio_set_level(GPIO_PP1050_EN, 0);
- gpio_set_level(GPIO_PP1200_EN, 0);
- gpio_set_level(GPIO_PP1800_EN, 0);
- gpio_set_level(GPIO_PP3300_DSW_GATED_EN, 0);
- gpio_set_level(GPIO_PP5000_USB_EN, 0);
- /* Disable PP5000 if allowed */
- if (!pp5000_in_g3)
- gpio_set_level(GPIO_PP5000_EN, 0);
- gpio_set_level(GPIO_PCH_RSMRST_L, 0);
- gpio_set_level(GPIO_PCH_DPWROK, 0);
- gpio_set_level(GPIO_PP3300_DSW_EN, 0);
- wireless_set_state(WIRELESS_OFF);
-}
-
-static void chipset_reset_rtc(void)
-{
- /*
- * Assert RTCRST# to the PCH long enough for it to latch the
- * assertion and reset the internal RTC backed state.
- */
- CPRINTS("Asserting RTCRST# to PCH");
- gpio_set_level(GPIO_PCH_RTCRST_L, 0);
- udelay(100);
- gpio_set_level(GPIO_PCH_RTCRST_L, 1);
- udelay(10 * MSEC);
-}
-
-void chipset_reset(enum chipset_reset_reason reason)
-{
- CPRINTS("%s(%d)", __func__, reason);
- report_ap_reset(reason);
-
- /*
- * Send a RCIN# pulse to the PCH. This just causes it to
- * assert INIT# to the CPU without dropping power or asserting
- * PLTRST# to reset the rest of the system.
- */
-
- /*
- * Pulse must be at least 16 PCI clocks long = 500 ns.
- */
- gpio_set_level(GPIO_PCH_RCIN_L, 0);
- udelay(10);
- gpio_set_level(GPIO_PCH_RCIN_L, 1);
-}
-
-void chipset_throttle_cpu(int throttle)
-{
- if (chipset_in_state(CHIPSET_STATE_ON))
- gpio_set_level(GPIO_CPU_PROCHOT, throttle);
-}
-
-enum power_state power_chipset_init(void)
-{
- /*
- * If we're switching between images without rebooting, see if the x86
- * is already powered on; if so, leave it there instead of cycling
- * through G3.
- */
- if (system_jumped_to_this_image()) {
- if ((power_get_signals() & IN_ALL_S0) == IN_ALL_S0) {
- /* Disable idle task deep sleep when in S0. */
- disable_sleep(SLEEP_MASK_AP_RUN);
- CPRINTS("already in S0");
- return POWER_S0;
- } else {
- /* Force all signals to their G3 states */
- chipset_force_g3();
- }
- }
-
- return POWER_G3;
-}
-
-enum power_state power_handle_state(enum power_state state)
-{
- struct batt_params batt;
-
- switch (state) {
- case POWER_G3:
- break;
-
- case POWER_S5:
-
- while ((power_get_signals() & IN_PCH_SLP_S5_DEASSERTED) == 0) {
- if (task_wait_event(SECOND*4) == TASK_EVENT_TIMER) {
- CPRINTS("timeout waiting for S5 exit");
- /* Put system in G3 and assert RTCRST# */
- chipset_force_g3();
- chipset_reset_rtc();
- /* Try to power back up after RTC reset */
- return POWER_G3S5;
- }
- }
- return POWER_S5S3; /* Power up to next state */
- break;
-
- case POWER_S3:
- /* Check for state transitions */
- if (!power_has_signals(IN_PGOOD_S3)) {
- /* Required rail went away */
- chipset_force_shutdown(CHIPSET_SHUTDOWN_POWERFAIL);
- return POWER_S3S5;
- } else if (gpio_get_level(GPIO_PCH_SLP_S3_L) == 1) {
- /* Power up to next state */
- return POWER_S3S0;
- } else if (gpio_get_level(GPIO_PCH_SLP_S5_L) == 0) {
- /* Power down to next state */
- return POWER_S3S5;
- }
- break;
-
- case POWER_S0:
- if (!power_has_signals(IN_PGOOD_S0)) {
- /* Required rail went away */
- chipset_force_shutdown(CHIPSET_SHUTDOWN_POWERFAIL);
- return POWER_S0S3;
- } else if (gpio_get_level(GPIO_PCH_SLP_S3_L) == 0) {
- /* Power down to next state */
- return POWER_S0S3;
- }
- break;
-
- case POWER_G3S5:
- /* Return to G3 if battery level is too low */
- if (charge_want_shutdown() ||
- charge_prevent_power_on(0)) {
- CPRINTS("power-up inhibited");
- chipset_force_g3();
- return POWER_G3;
- }
-
- /* Enable 3.3V DSW */
- gpio_set_level(GPIO_PP3300_DSW_EN, 1);
-
- /*
- * Wait 10ms after +3VALW good, since that powers VccDSW and
- * VccSUS.
- */
- msleep(10);
-
- /* Enable PP5000 (5V) rail as 1.05V and 1.2V rails need 5V
- * rail to regulate properly. */
- gpio_set_level(GPIO_PP5000_EN, 1);
-
- /* Wait for PP1050/PP1200 PGOOD to go LOW to
- * indicate that PP5000 is stable */
- while ((power_get_signals() & IN_PGOOD_PP5000) != 0) {
- if (task_wait_event(SECOND) == TASK_EVENT_TIMER) {
- CPRINTS("timeout waiting for PP5000");
- chipset_force_g3();
- return POWER_G3;
- }
- }
-
- /*
- * TODO(crosbug.com/p/31583): Temporary hack to allow booting
- * without battery. If battery is not present here, then delay
- * to give time for PD MCU to negotiate to 20V.
- */
- battery_get_params(&batt);
- if (batt.is_present != BP_YES && !system_is_locked()) {
- CPRINTS("Attempting boot w/o battery, adding delay");
- msleep(500);
- }
-
- /* Assert DPWROK */
- gpio_set_level(GPIO_PCH_DPWROK, 1);
-
- /*
- * Wait for SLP_SUS before enabling 1.05V rail.
- */
- if (power_wait_signals(IN_PCH_SLP_SUS_DEASSERTED)) {
- CPRINTS("timeout waiting for SLP_SUS deassert");
- chipset_force_g3();
- return POWER_G3;
- }
-
- /* Enable PP1050 rail. */
- gpio_set_level(GPIO_PP1050_EN, 1);
-
- /* Wait for 1.05V to come up and CPU to notice */
- if (power_wait_signals(IN_PGOOD_PP1050)) {
- CPRINTS("timeout waiting for PP1050");
- chipset_force_g3();
- return POWER_G3;
- }
-
- /* Add 10ms delay between SUSP_VR and RSMRST */
- msleep(10);
-
- /* Deassert RSMRST# */
- gpio_set_level(GPIO_PCH_RSMRST_L, 1);
-
- /* Wait 5ms for SUSCLK to stabilize */
- msleep(5);
-
- /* Call hook to indicate out of G3 state */
- hook_notify(HOOK_CHIPSET_PRE_INIT);
- return POWER_S5;
-
- case POWER_S5S3:
- /* Turn on power to RAM */
- gpio_set_level(GPIO_PP1800_EN, 1);
- gpio_set_level(GPIO_PP1200_EN, 1);
- if (power_wait_signals(IN_PGOOD_S3)) {
- gpio_set_level(GPIO_PP1800_EN, 0);
- gpio_set_level(GPIO_PP1200_EN, 0);
- chipset_force_shutdown(CHIPSET_SHUTDOWN_WAIT);
- return POWER_S5;
- }
-
- /*
- * Take lightbar out of reset, now that +5VALW is
- * available and we won't leak +3VALW through the reset
- * line.
- */
- i2c_lock(I2C_PORT_LIGHTBAR, 1);
- gpio_set_level(GPIO_LIGHTBAR_RESET_L, 1);
- msleep(1);
- lb_init(0);
- msleep(100);
- i2c_lock(I2C_PORT_LIGHTBAR, 0);
-
- /*
- * Enable touchpad power so it can wake the system from
- * suspend.
- */
- gpio_set_level(GPIO_ENABLE_TOUCHPAD, 1);
-
- /* Turn on USB power rail. */
- gpio_set_level(GPIO_PP5000_USB_EN, 1);
-
- /* Call hooks now that rails are up */
- hook_notify(HOOK_CHIPSET_STARTUP);
- return POWER_S3;
-
- case POWER_S3S0:
- /* Turn on 3.3V DSW gated rail for core regulator */
- gpio_set_level(GPIO_PP3300_DSW_GATED_EN, 1);
-
- /* Wait 20ms before allowing VCCST_PGOOD to rise. */
- msleep(20);
-
- /* Enable wireless. */
- wireless_set_state(WIRELESS_ON);
-
- /* Make sure the touchscreen is on, too. */
- gpio_set_level(GPIO_TOUCHSCREEN_RESET_L, 1);
-
- /* Wait for non-core power rails good */
- if (power_wait_signals(IN_PGOOD_S0)) {
- gpio_set_level(GPIO_TOUCHSCREEN_RESET_L, 0);
- wireless_set_state(WIRELESS_OFF);
- gpio_set_level(GPIO_PP3300_DSW_GATED_EN, 1);
- chipset_force_shutdown(CHIPSET_SHUTDOWN_WAIT);
- return POWER_S3;
- }
-
- /* Call hooks now that rails are up */
- hook_notify(HOOK_CHIPSET_RESUME);
-
- /*
- * Disable idle task deep sleep. This means that the low
- * power idle task will not go into deep sleep while in S0.
- */
- disable_sleep(SLEEP_MASK_AP_RUN);
-
- /*
- * Throttle CPU if necessary. This should only be asserted
- * when +VCCP is powered (it is by now).
- */
- gpio_set_level(GPIO_CPU_PROCHOT, throttle_cpu);
-
- /*
- * VCORE_PGOOD signal buffer is powered by PP1050_VCCST which
- * is gated by SLP_S3 assertion. Now the signal is valid and
- * can be enabled as an interrupt source.
- */
- gpio_enable_interrupt(GPIO_VCORE_PGOOD);
-
- /* Set PCH_PWROK */
- gpio_set_level(GPIO_PCH_PWROK, 1);
-
- /* Wait for VCORE_PGOOD before enabling SYS_PWROK */
- if (power_wait_signals(IN_PGOOD_VCORE)) {
- gpio_disable_interrupt(GPIO_VCORE_PGOOD);
- hook_notify(HOOK_CHIPSET_SUSPEND);
- enable_sleep(SLEEP_MASK_AP_RUN);
- gpio_set_level(GPIO_PCH_PWROK, 0);
- gpio_set_level(GPIO_CPU_PROCHOT, 0);
- gpio_set_level(GPIO_TOUCHSCREEN_RESET_L, 0);
- gpio_set_level(GPIO_PP3300_DSW_GATED_EN, 1);
- wireless_set_state(WIRELESS_OFF);
- chipset_force_shutdown(CHIPSET_SHUTDOWN_WAIT);
- return POWER_S3;
- }
-
- /*
- * Wait a bit for all voltages to be good. PCIe devices need
- * 99ms, but mini-PCIe devices only need 1ms. Intel recommends
- * at least 5ms between ALL_SYS_PWRGD and SYS_PWROK.
- */
- msleep(5);
-
- /* Set SYS_PWROK */
- gpio_set_level(GPIO_SYS_PWROK, 1);
- return POWER_S0;
-
- case POWER_S0S3:
- /* Call hooks before we remove power rails */
- hook_notify(HOOK_CHIPSET_SUSPEND);
-
- /* Clear PCH_PWROK */
- gpio_set_level(GPIO_SYS_PWROK, 0);
- gpio_set_level(GPIO_PCH_PWROK, 0);
-
- /* Wait 40ns */
- udelay(1);
-
- /* Suspend wireless */
- wireless_set_state(WIRELESS_SUSPEND);
-
- /*
- * Enable idle task deep sleep. Allow the low power idle task
- * to go into deep sleep in S3 or lower.
- */
- enable_sleep(SLEEP_MASK_AP_RUN);
-
- /* Put touchscreen in reset */
- gpio_set_level(GPIO_TOUCHSCREEN_RESET_L, 0);
-
- /*
- * Deassert prochot since CPU is off and we're about to drop
- * +VCCP.
- */
- gpio_set_level(GPIO_CPU_PROCHOT, 0);
-
- /* Turn off DSW gated */
- gpio_set_level(GPIO_PP3300_DSW_GATED_EN, 0);
-
- /*
- * VCORE_PGOOD signal buffer is powered by PP1050_VCCST which
- * is gated by SLP_S3 assertion. The signal is no longer
- * valid and should be disabled as an interrupt source.
- */
- gpio_disable_interrupt(GPIO_VCORE_PGOOD);
- return POWER_S3;
-
- case POWER_S3S5:
- /* Call hooks before we remove power rails */
- hook_notify(HOOK_CHIPSET_SHUTDOWN);
-
- /* Disable wireless */
- wireless_set_state(WIRELESS_OFF);
-
- /* Disable peripheral power */
- gpio_set_level(GPIO_ENABLE_TOUCHPAD, 0);
- gpio_set_level(GPIO_PP5000_USB_EN, 0);
-
- /* Turn off power to RAM */
- gpio_set_level(GPIO_PP1800_EN, 0);
- gpio_set_level(GPIO_PP1200_EN, 0);
-
- /*
- * Put touchscreen and lightbar in reset, so we won't
- * leak +3VALW through the reset line to chips powered
- * by +5VALW.
- *
- * (Note that we're no longer powering down +5VALW due
- * to crosbug.com/p/16600, but to minimize side effects
- * of that change we'll still reset these components in
- * S5.)
- */
- gpio_set_level(GPIO_TOUCHSCREEN_RESET_L, 0);
- gpio_set_level(GPIO_LIGHTBAR_RESET_L, 0);
-
- /* Call hooks after we remove power rails */
- hook_notify(HOOK_CHIPSET_SHUTDOWN_COMPLETE);
-
- return power_get_pause_in_s5() ? POWER_S5 : POWER_S5G3;
-
- case POWER_S5G3:
- /* Deassert DPWROK */
- gpio_set_level(GPIO_PCH_DPWROK, 0);
-
- /* Assert RSMRST# */
- gpio_set_level(GPIO_PCH_RSMRST_L, 0);
-
- /* Turn off power rails enabled in S5 */
- gpio_set_level(GPIO_PP1050_EN, 0);
-
- /* Check if we can disable PP5000 */
- if (!pp5000_in_g3)
- gpio_set_level(GPIO_PP5000_EN, 0);
-
- /* Disable 3.3V DSW */
- gpio_set_level(GPIO_PP3300_DSW_EN, 0);
- return POWER_G3;
- }
-
- return state;
-}
-
-/**
- * Set PP5000 rail in G3. The mask represents the reason for
- * turning on/off the PP5000 rail in G3, and enable either
- * enables or disables that mask. If any bit is enabled, then
- * the PP5000 rail will remain on. If all bits are cleared,
- * the rail will turn off.
- *
- * @param mask Mask to modify
- * @param enable Enable flag
- */
-void set_pp5000_in_g3(int mask, int enable)
-{
- if (enable)
- atomic_or(&pp5000_in_g3, mask);
- else
- atomic_clear_bits(&pp5000_in_g3, mask);
-
- /* if we are in G3 now, then set the rail accordingly */
- if (chipset_in_state(CHIPSET_STATE_HARD_OFF))
- gpio_set_level(GPIO_PP5000_EN, !!pp5000_in_g3);
-}
-
-#ifdef CONFIG_LIGHTBAR_POWER_RAILS
-/* Returns true if a change was made, NOT the new state */
-int lb_power(int enabled)
-{
- int ret = 0;
- int pp5000_en = gpio_get_level(GPIO_PP5000_EN);
-
- set_pp5000_in_g3(PP5000_IN_G3_LIGHTBAR, enabled);
-
- /* If the AP is on, we don't change the rails. */
- if (!chipset_in_state(CHIPSET_STATE_ANY_OFF))
- return ret;
-
- /* Check if PP5000 rail changed */
- if (gpio_get_level(GPIO_PP5000_EN) != pp5000_en)
- ret = 1;
-
- /*
- * When turning on, we have to wait for the rails to come up
- * fully before we the lightbar ICs will respond. There's not
- * a reliable PGOOD signal for that (I tried), so we just
- * have to wait. These delays seem to work.
- *
- * Note, we should delay even if the PP5000 rail was already
- * enabled because we can't be sure it's been enabled long
- * enough for lightbar IC to respond.
- *
- * Also, the lightbar do not expect other i2c traffic while
- * being power up. Put a lock on the i2c bus.
- * see chrome-os-partner:45223.
- */
- if (enabled) {
- i2c_lock(I2C_PORT_LIGHTBAR, 1);
- msleep(10);
- }
-
- if (enabled != gpio_get_level(GPIO_LIGHTBAR_RESET_L)) {
- ret = 1;
- gpio_set_level(GPIO_LIGHTBAR_RESET_L, enabled);
- msleep(1);
- }
- if (enabled) {
- lb_init(0);
- msleep(100);
- i2c_lock(I2C_PORT_LIGHTBAR, 0);
- }
-
- return ret;
-}
-#endif
diff --git a/board/samus_pd/board.c b/board/samus_pd/board.c
deleted file mode 100644
index eb4d4c90c6..0000000000
--- a/board/samus_pd/board.c
+++ /dev/null
@@ -1,620 +0,0 @@
-/* Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-/* samus_pd board configuration */
-
-#include "adc.h"
-#include "adc_chip.h"
-#include "battery.h"
-#include "charge_manager.h"
-#include "charge_ramp.h"
-#include "common.h"
-#include "console.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "pi3usb9281.h"
-#include "power.h"
-#include "pwm.h"
-#include "pwm_chip.h"
-#include "registers.h"
-#include "switch.h"
-#include "system.h"
-#include "task.h"
-#include "usb_charge.h"
-#include "usb_descriptor.h"
-#include "usb_pd.h"
-#include "util.h"
-
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-
-/*
- * When battery is high, system may not be pulling full current. Also, when
- * high AND input voltage is below boost bypass, then limit input current
- * limit to HIGH_BATT_LIMIT_CURR_MA to reduce audible ringing.
- */
-#define HIGH_BATT_THRESHOLD 90
-#define HIGH_BATT_LIMIT_BOOST_BYPASS_MV 11000
-#define HIGH_BATT_LIMIT_CURR_MA 2000
-
-/* Chipset power state */
-static enum power_state ps;
-
-/* Battery state of charge */
-static int batt_soc;
-
-/* Default to 5V charging allowed for dead battery case */
-static enum pd_charge_state charge_state = PD_CHARGE_5V;
-
-/* PD MCU status and host event status for host command */
-static int32_t host_event_status_flags;
-static int32_t pd_status_flags;
-
-static struct ec_response_pd_status pd_status;
-
-/* Desired input current limit */
-static int desired_charge_rate_ma = -1;
-
-/* PWM channels. Must be in the exact same order as in enum pwm_channel. */
-const struct pwm_t pwm_channels[] = {
- {STM32_TIM(15), STM32_TIM_CH(2), 0},
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-
-struct mutex pericom_mux_lock;
-struct pi3usb9281_config pi3usb9281_chips[] = {
- {
- .i2c_port = I2C_PORT_PERICOM,
- .mux_gpio = GPIO_USB_C_BC12_SEL,
- .mux_gpio_level = 0,
- .mux_lock = &pericom_mux_lock,
- },
- {
- .i2c_port = I2C_PORT_PERICOM,
- .mux_gpio = GPIO_USB_C_BC12_SEL,
- .mux_gpio_level = 1,
- .mux_lock = &pericom_mux_lock,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(pi3usb9281_chips) ==
- CONFIG_BC12_DETECT_PI3USB9281_CHIP_COUNT);
-
-static void pericom_port0_reenable_interrupts(void)
-{
- CPRINTS("VBUS p0 %d", gpio_get_level(GPIO_USB_C0_VBUS_WAKE));
- pi3usb9281_enable_interrupts(0);
-}
-DECLARE_DEFERRED(pericom_port0_reenable_interrupts);
-
-static void pericom_port1_reenable_interrupts(void)
-{
- CPRINTS("VBUS p1 %d", gpio_get_level(GPIO_USB_C1_VBUS_WAKE));
- pi3usb9281_enable_interrupts(1);
-}
-DECLARE_DEFERRED(pericom_port1_reenable_interrupts);
-
-void vbus0_evt(enum gpio_signal signal)
-{
- usb_charger_vbus_change(0, gpio_get_level(signal));
- task_wake(TASK_ID_PD_C0);
-}
-
-void vbus1_evt(enum gpio_signal signal)
-{
- 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);
-}
-
-void usb1_evt(enum gpio_signal signal)
-{
- task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12);
-}
-
-static void chipset_s5_to_s3(void)
-{
- ps = POWER_S3;
- hook_notify(HOOK_CHIPSET_STARTUP);
-}
-
-static void chipset_s3_to_s0(void)
-{
- /* Disable deep sleep and restore charge override port */
- disable_sleep(SLEEP_MASK_AP_RUN);
- ps = POWER_S0;
- hook_notify(HOOK_CHIPSET_RESUME);
-}
-
-static void chipset_s3_to_s5(void)
-{
- ps = POWER_S5;
- hook_notify(HOOK_CHIPSET_SHUTDOWN);
- hook_notify(HOOK_CHIPSET_SHUTDOWN_COMPLETE);
-}
-
-static void chipset_s0_to_s3(void)
-{
- /* Enable deep sleep and store charge override port */
- enable_sleep(SLEEP_MASK_AP_RUN);
- ps = POWER_S3;
- hook_notify(HOOK_CHIPSET_SUSPEND);
-}
-
-static void pch_evt_deferred(void)
-{
- /* Determine new chipset state, trigger corresponding transition */
- switch (ps) {
- case POWER_S5:
- if (gpio_get_level(GPIO_PCH_SLP_S5_L))
- chipset_s5_to_s3();
- if (gpio_get_level(GPIO_PCH_SLP_S3_L))
- chipset_s3_to_s0();
- break;
- case POWER_S3:
- if (gpio_get_level(GPIO_PCH_SLP_S3_L))
- chipset_s3_to_s0();
- else if (!gpio_get_level(GPIO_PCH_SLP_S5_L))
- chipset_s3_to_s5();
- break;
- case POWER_S0:
- if (!gpio_get_level(GPIO_PCH_SLP_S3_L))
- chipset_s0_to_s3();
- if (!gpio_get_level(GPIO_PCH_SLP_S5_L))
- chipset_s3_to_s5();
- break;
- default:
- break;
- }
-}
-DECLARE_DEFERRED(pch_evt_deferred);
-
-void pch_evt(enum gpio_signal signal)
-{
- hook_call_deferred(&pch_evt_deferred_data, 0);
-}
-
-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 (C1 TX)
- * Chan 4 : USART1_TX
- * Chan 5 : USART1_RX
- * Chan 6 : TIM3_CH1 (C1 RX)
- * Chan 7 : SPI2_TX (C0 TX)
- */
-
- /*
- * Remap USART1 RX/TX DMA to match uart driver. Remap SPI2 RX/TX and
- * TIM3_CH1 for unique DMA channels.
- */
- STM32_SYSCFG_CFGR1 |= BIT(9) | BIT(10) | BIT(24) | BIT(30);
-}
-
-#include "gpio_list.h"
-
-/* Initialize board. */
-static void board_init(void)
-{
- int slp_s5 = gpio_get_level(GPIO_PCH_SLP_S5_L);
- int slp_s3 = gpio_get_level(GPIO_PCH_SLP_S3_L);
-
- /*
- * Enable CC lines after all GPIO have been initialized. Note, it is
- * important that this is enabled after the CC_ODL lines are set low
- * to specify device mode.
- */
- gpio_set_level(GPIO_USB_C_CC_EN, 1);
-
- /* Enable interrupts on VBUS transitions. */
- gpio_enable_interrupt(GPIO_USB_C0_VBUS_WAKE);
- gpio_enable_interrupt(GPIO_USB_C1_VBUS_WAKE);
-
- /* Enable pericom BC1.2 interrupts. */
- gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_L);
- gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_L);
-
- /* Determine initial chipset state */
- if (slp_s5 && slp_s3) {
- disable_sleep(SLEEP_MASK_AP_RUN);
- hook_notify(HOOK_CHIPSET_RESUME);
- ps = POWER_S0;
- } else if (slp_s5 && !slp_s3) {
- enable_sleep(SLEEP_MASK_AP_RUN);
- hook_notify(HOOK_CHIPSET_STARTUP);
- ps = POWER_S3;
- } else {
- enable_sleep(SLEEP_MASK_AP_RUN);
- hook_notify(HOOK_CHIPSET_SHUTDOWN);
- hook_notify(HOOK_CHIPSET_SHUTDOWN_COMPLETE);
- ps = POWER_S5;
- }
-
- /* Enable interrupts on PCH state change */
- gpio_enable_interrupt(GPIO_PCH_SLP_S3_L);
- gpio_enable_interrupt(GPIO_PCH_SLP_S5_L);
-
- /* Initialize active charge port to none */
- pd_status.active_charge_port = CHARGE_PORT_NONE;
-
- /* Set PD MCU system status bits */
- if (system_jumped_to_this_image())
- pd_status_flags |= PD_STATUS_JUMPED_TO_IMAGE;
- if (system_is_in_rw())
- pd_status_flags |= PD_STATUS_IN_RW;
-
-#ifdef CONFIG_PWM
- /* Enable ILIM PWM: initial duty cycle 0% = 500mA limit. */
- pwm_enable(PWM_CH_ILIM, 1);
- pwm_set_duty(PWM_CH_ILIM, 0);
-#endif
-}
-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_C0_CC1_PD] = {"C0_CC1_PD", 3300, 4096, 0, STM32_AIN(0)},
- [ADC_C1_CC1_PD] = {"C1_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)},
-
- /* Vbus sensing. Converted to mV, full ADC is equivalent to 25.774V. */
- [ADC_VBUS] = {"VBUS", 25774, 4096, 0, STM32_AIN(11)},
-};
-BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- {"master", I2C_PORT_MASTER, 100,
- GPIO_MASTER_I2C_SCL, GPIO_MASTER_I2C_SDA},
- {"slave", I2C_PORT_SLAVE, 100,
- GPIO_SLAVE_I2C_SCL, GPIO_SLAVE_I2C_SDA},
-};
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-int board_get_battery_soc(void)
-{
- return batt_soc;
-}
-
-enum battery_present battery_is_present(void)
-{
- if (batt_soc >= 0)
- return BP_YES;
- return BP_NOT_SURE;
-}
-
-static void pd_send_ec_int(void)
-{
- gpio_set_level(GPIO_EC_INT, 1);
-
- /*
- * Delay long enough to guarantee EC see's the change. Slowest
- * EC clock speed is 250kHz in deep sleep -> 4us, and add 1us
- * for buffer.
- */
- usleep(5);
-
- gpio_set_level(GPIO_EC_INT, 0);
-}
-
-/**
- * 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 */
- if (is_real_port && usb_charger_port_is_sourcing_vbus(charge_port)) {
- CPRINTS("Skip enable p%d", charge_port);
- return EC_ERROR_INVAL;
- }
-
- CPRINTS("New chg p%d", charge_port);
-
- /*
- * If charging and the active charge port is changed, then disable
- * charging to guarantee charge circuit starts up cleanly.
- */
- if (pd_status.active_charge_port != CHARGE_PORT_NONE &&
- (charge_port == CHARGE_PORT_NONE ||
- charge_port != pd_status.active_charge_port)) {
- gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
- gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
- charge_state = PD_CHARGE_NONE;
- pd_status.active_charge_port = charge_port;
- CPRINTS("Chg: None");
- return EC_SUCCESS;
- }
-
- /* Save active charge port and enable charging if allowed */
- pd_status.active_charge_port = charge_port;
- if (charge_state != PD_CHARGE_NONE) {
- gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, !(charge_port == 0));
- gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, !(charge_port == 1));
- }
-
- return EC_SUCCESS;
-}
-
-/**
- * Return if max voltage charging is allowed.
- */
-int pd_is_max_request_allowed(void)
-{
- return charge_state == PD_CHARGE_MAX;
-}
-
-/**
- * Return if board is consuming full amount of input current
- */
-int charge_is_consuming_full_input_current(void)
-{
- return batt_soc >= 1 && batt_soc < HIGH_BATT_THRESHOLD;
-}
-
-/*
- * Number of VBUS samples to average when computing if VBUS is too low
- * for the ramp stable state.
- */
-#define VBUS_STABLE_SAMPLE_COUNT 4
-
-/* VBUS too low threshold */
-#define VBUS_LOW_THRESHOLD_MV 4600
-
-/**
- * Return if VBUS is sagging too low
- */
-int board_is_vbus_too_low(int port, enum chg_ramp_vbus_state ramp_state)
-{
- static int vbus[VBUS_STABLE_SAMPLE_COUNT];
- static int vbus_idx, vbus_samples_full;
- int vbus_sum, i;
-
- /*
- * If we are not allowing charging, it's because the EC saw
- * ACOK go low, so we know VBUS is drooping too far.
- */
- if (charge_state == PD_CHARGE_NONE)
- return 1;
-
- /* If we are ramping, only look at one reading */
- if (ramp_state == CHG_RAMP_VBUS_RAMPING) {
- /* Reset the VBUS array vars used for the stable state */
- vbus_idx = vbus_samples_full = 0;
- return adc_read_channel(ADC_VBUS) < VBUS_LOW_THRESHOLD_MV;
- }
-
- /* Fill VBUS array with ADC readings */
- vbus[vbus_idx] = adc_read_channel(ADC_VBUS);
- vbus_idx = (vbus_idx == VBUS_STABLE_SAMPLE_COUNT-1) ? 0 : vbus_idx + 1;
- if (vbus_idx == 0)
- vbus_samples_full = 1;
-
- /* If VBUS array is not full yet, then return ok */
- if (!vbus_samples_full)
- return 0;
-
- /* All VBUS samples are populated, take average */
- vbus_sum = 0;
- for (i = 0; i < VBUS_STABLE_SAMPLE_COUNT; i++)
- vbus_sum += vbus[i];
-
- /* Return if average is lower than threshold */
- return vbus_sum < (VBUS_STABLE_SAMPLE_COUNT * VBUS_LOW_THRESHOLD_MV);
-}
-
-static int board_update_charge_limit(int charge_ma)
-{
-#ifdef CONFIG_PWM
- int pwm_duty;
-#endif
- static int actual_charge_rate_ma = -1;
-
- desired_charge_rate_ma = charge_ma;
-
- if (batt_soc >= HIGH_BATT_THRESHOLD &&
- adc_read_channel(ADC_VBUS) < HIGH_BATT_LIMIT_BOOST_BYPASS_MV)
- charge_ma = MIN(charge_ma, HIGH_BATT_LIMIT_CURR_MA);
-
- /* if current hasn't changed, don't do anything */
- if (charge_ma == actual_charge_rate_ma)
- return 0;
-
- actual_charge_rate_ma = charge_ma;
-
-#ifdef CONFIG_PWM
- pwm_duty = MA_TO_PWM(charge_ma);
- if (pwm_duty < 0)
- pwm_duty = 0;
- else if (pwm_duty > 100)
- pwm_duty = 100;
-
- pwm_set_duty(PWM_CH_ILIM, pwm_duty);
-#endif
-
- pd_status.curr_lim_ma = charge_ma >= 500 ?
- (charge_ma - 500) * 92 / 100 + 256 : 0;
-
- CPRINTS("New ilim %d", charge_ma);
- return 1;
-}
-
-/**
- * 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)
-{
- /* Update current limit and notify EC if it changed */
- if (board_update_charge_limit(charge_ma), charge_mv)
- pd_send_ec_int();
-}
-
-static void board_update_battery_soc(int soc)
-{
- if (batt_soc != soc) {
- batt_soc = soc;
- if (batt_soc >= CONFIG_CHARGE_MANAGER_BAT_PCT_SAFE_MODE_EXIT)
- charge_manager_leave_safe_mode();
- board_update_charge_limit(desired_charge_rate_ma);
- hook_notify(HOOK_BATTERY_SOC_CHANGE);
- }
-}
-
-/* Send host event up to AP */
-void pd_send_host_event(int mask)
-{
- /* mask must be set */
- if (!mask)
- return;
-
- atomic_or(&(host_event_status_flags), mask);
- atomic_or(&(pd_status_flags), PD_STATUS_HOST_EVENT);
- pd_send_ec_int();
-}
-
-int battery_is_cut_off(void)
-{
- return 0; /* Always return NOT cut off */
-}
-
-/****************************************************************************/
-/* Console commands */
-static int command_ec_int(int argc, char **argv)
-{
- pd_send_ec_int();
-
- return EC_SUCCESS;
-}
-DECLARE_CONSOLE_COMMAND(ecint, command_ec_int,
- "",
- "Toggle EC interrupt line");
-
-static int command_pd_host_event(int argc, char **argv)
-{
- int event_mask;
- char *e;
-
- if (argc < 2)
- return EC_ERROR_PARAM_COUNT;
-
- event_mask = strtoi(argv[1], &e, 10);
- if (*e)
- return EC_ERROR_PARAM1;
-
- pd_send_host_event(event_mask);
-
- return EC_SUCCESS;
-}
-DECLARE_CONSOLE_COMMAND(pdevent, command_pd_host_event,
- "event_mask",
- "Send PD host event");
-
-/****************************************************************************/
-/* Host commands */
-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;
-
- /* update battery soc */
- board_update_battery_soc(p->batt_soc);
-
- if (p->charge_state != charge_state) {
- switch (p->charge_state) {
- case PD_CHARGE_NONE:
- /*
- * No current allowed in, set new power request
- * so that PD negotiates down to vSafe5V.
- */
- charge_state = p->charge_state;
- gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 1);
- gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 1);
- pd_set_new_power_request(
- pd_status.active_charge_port);
- /*
- * Wake charge ramp task so that it will check
- * board_is_vbus_too_low() and stop ramping up.
- */
- task_wake(TASK_ID_CHG_RAMP);
- CPRINTS("Chg: None");
- break;
- case PD_CHARGE_5V:
- /* Allow current on the active charge port */
- charge_state = p->charge_state;
- gpio_set_level(GPIO_USB_C0_CHARGE_EN_L,
- !(pd_status.active_charge_port == 0));
- gpio_set_level(GPIO_USB_C1_CHARGE_EN_L,
- !(pd_status.active_charge_port == 1));
- CPRINTS("Chg: 5V");
- break;
- case PD_CHARGE_MAX:
- /*
- * Allow negotiation above vSafe5V. Should only
- * ever get this command when 5V charging is
- * already allowed.
- */
- if (charge_state == PD_CHARGE_5V) {
- charge_state = p->charge_state;
- pd_set_new_power_request(
- pd_status.active_charge_port);
- CPRINTS("Chg: Max");
- }
- break;
- default:
- break;
- }
- }
-
- *r = pd_status;
- r->status = pd_status_flags;
-
- /* Clear host event */
- atomic_clear_bits(&(pd_status_flags), PD_STATUS_HOST_EVENT);
-
- args->response_size = sizeof(*r);
-
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_PD_EXCHANGE_STATUS, ec_status_host_cmd,
- EC_VER_MASK(EC_VER_PD_EXCHANGE_STATUS));
-
-static enum ec_status
-host_event_status_host_cmd(struct host_cmd_handler_args *args)
-{
- struct ec_response_host_event_status *r = args->response;
-
- /* Clear host event bit to avoid sending more unnecessary events */
- atomic_clear_bits(&(pd_status_flags), PD_STATUS_HOST_EVENT);
-
- /* Read and clear the host event status to return to AP */
- r->status = atomic_clear(&(host_event_status_flags));
-
- args->response_size = sizeof(*r);
- return EC_RES_SUCCESS;
-}
-DECLARE_HOST_COMMAND(EC_CMD_PD_HOST_EVENT_STATUS, host_event_status_host_cmd,
- EC_VER_MASK(0));
diff --git a/board/samus_pd/board.h b/board/samus_pd/board.h
deleted file mode 100644
index 3996cf882f..0000000000
--- a/board/samus_pd/board.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/* Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* samus_pd board configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/* 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
-
-/* To save space */
-#undef CONFIG_SUPPRESSED_HOST_COMMANDS
-#undef CONFIG_CMD_MFALLOW
-#define CONFIG_USB_PD_DEBUG_LEVEL 1
-
-/* Optional features */
-#define CONFIG_ADC
-#undef CONFIG_ADC_WATCHDOG
-#define CONFIG_BATTERY_PRESENT_CUSTOM
-#define CONFIG_BOARD_PRE_INIT
-#define CONFIG_CHARGE_MANAGER
-#define CONFIG_CHARGE_RAMP_SW
-#undef CONFIG_CMD_ADC
-#undef CONFIG_CMD_CHARGE_SUPPLIER_INFO
-#undef CONFIG_CMD_CRASH
-#undef CONFIG_CMD_FLASHINFO
-#undef CONFIG_CMD_HASH
-#undef CONFIG_CMD_HCDEBUG
-#undef CONFIG_CMD_I2C_SCAN
-#undef CONFIG_CMD_I2C_XFER
-/* Minimum ilim = 500 mA */
-#define CONFIG_CHARGER_INPUT_CURRENT PWM_0_MA
-#undef CONFIG_CMD_GETTIME
-#undef CONFIG_CMD_IDLE_STATS
-#undef CONFIG_CMD_MD
-#undef CONFIG_CMD_RW
-#undef CONFIG_CMD_SHMEM
-#undef CONFIG_CMD_TIMERINFO
-#define CONFIG_COMMON_GPIO_SHORTNAMES
-#undef CONFIG_CONSOLE_CMDHELP
-#undef CONFIG_CONSOLE_HISTORY
-#undef CONFIG_DEBUG_ASSERT
-#define CONFIG_FORCE_CONSOLE_RESUME
-#define CONFIG_HIBERNATE_WAKEUP_PINS (STM32_PWR_CSR_EWUP3|STM32_PWR_CSR_EWUP8)
-#define CONFIG_HOSTCMD_ALIGNED
-#undef CONFIG_HOSTCMD_EVENTS
-#define CONFIG_HW_CRC
-#define CONFIG_I2C
-#define CONFIG_I2C_CONTROLLER
-#define CONFIG_I2C_PERIPHERAL
-#undef CONFIG_LID_SWITCH
-#define CONFIG_LOW_POWER_IDLE
-#define CONFIG_LTO
-#undef CONFIG_PWM
-#define CONFIG_STM_HWTIMER32
-#undef CONFIG_TASK_PROFILING
-#define CONFIG_USB_CHARGER
-#define CONFIG_USB_POWER_DELIVERY
-#define CONFIG_USB_PD_TCPMV1
-#undef CONFIG_USB_PD_TCPMV1_DEBUG
-#define CONFIG_USB_PD_ALT_MODE
-#define CONFIG_USB_PD_ALT_MODE_DFP
-#define CONFIG_USB_PD_CHECK_MAX_REQUEST_ALLOWED
-#define CONFIG_USB_PD_COMM_LOCKED
-#define CONFIG_USB_PD_CUSTOM_PDO
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_TRY_SRC
-#define CONFIG_USB_PD_FLASH_ERASE_CHECK
-#define CONFIG_USB_PD_INTERNAL_COMP
-#undef CONFIG_USB_PD_LOGGING
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
-#define CONFIG_USB_PD_TCPC
-#define CONFIG_USB_PD_TCPM_STUB
-#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_DFP_ONLY
-#define CONFIG_USBC_SS_MUX
-#define CONFIG_USBC_VCONN
-#define CONFIG_USBC_VCONN_SWAP
-#define CONFIG_VBOOT_HASH
-#undef CONFIG_WATCHDOG_HELP
-
-/* 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_MASTER 1
-#define I2C_PORT_SLAVE 0
-#define I2C_PORT_EC I2C_PORT_SLAVE
-#define I2C_PORT_PERICOM I2C_PORT_MASTER
-
-/* peripheral address for host commands */
-#ifdef HAS_TASK_HOSTCMD
-#define CONFIG_HOSTCMD_I2C_ADDR_FLAGS CONFIG_USB_PD_I2C_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_C0_CC1_PD = 0,
- ADC_C1_CC1_PD,
- ADC_C0_CC2_PD,
- ADC_C1_CC2_PD,
- ADC_VBUS,
- /* Number of ADC channels */
- ADC_CH_COUNT
-};
-
-enum pwm_channel {
- PWM_CH_ILIM = 0,
- /* Number of PWM channels */
- PWM_CH_COUNT
-};
-
-/* Standard-current Rp */
-#define PD_SRC_VNC PD_SRC_DEF_VNC_MV
-#define PD_SRC_RD_THRESHOLD PD_SRC_DEF_RD_THRESH_MV
-
-/*
- * 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 typical operating power and max power */
-#define PD_OPERATING_POWER_MW 15000
-#define PD_MAX_POWER_MW 60000
-#define PD_MAX_CURRENT_MA 3000
-#define PD_MAX_VOLTAGE_MV 20000
-
-/* Charge current limit min / max, based on PWM duty cycle */
-#define PWM_0_MA 500
-#define PWM_100_MA 4000
-
-/* Map current in milli-amps to PWM duty cycle percentage */
-#define MA_TO_PWM(curr) (((curr) - PWM_0_MA) * 100 / (PWM_100_MA - PWM_0_MA))
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/samus_pd/build.mk b/board/samus_pd/build.mk
deleted file mode 100644
index 1946fc303c..0000000000
--- a/board/samus_pd/build.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- makefile -*-
-# Copyright 2014 The Chromium OS Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-#
-# Board specific files build
-
-# the IC is STmicro STM32F072VBH6
-CHIP:=stm32
-CHIP_FAMILY:=stm32f0
-CHIP_VARIANT:=stm32f07x
-
-# Not enough SRAM: Disable all tests
-test-list-y=
-
-board-y=board.o
-board-$(CONFIG_USB_POWER_DELIVERY)+=usb_mux.o usb_pd_policy.o
diff --git a/board/samus_pd/ec.tasklist b/board/samus_pd/ec.tasklist
deleted file mode 100644
index 297661df0b..0000000000
--- a/board/samus_pd/ec.tasklist
+++ /dev/null
@@ -1,17 +0,0 @@
-/* Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/**
- * 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(CHG_RAMP, chg_ramp_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_NOTEST(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, LARGER_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/samus_pd/gpio.inc b/board/samus_pd/gpio.inc
deleted file mode 100644
index a22f15375f..0000000000
--- a/board/samus_pd/gpio.inc
+++ /dev/null
@@ -1,137 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/* 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, PIN(E, 6), GPIO_INT_BOTH, vbus0_evt)
-GPIO_INT(USB_C1_VBUS_WAKE, PIN(F, 2), GPIO_INT_BOTH, vbus1_evt)
-GPIO_INT(USB_C0_BC12_INT_L, PIN(B, 0), GPIO_INT_FALLING, usb0_evt)
-GPIO_INT(USB_C1_BC12_INT_L, PIN(C, 11), GPIO_INT_FALLING, usb1_evt)
-GPIO_INT(PCH_SLP_S0_L, PIN(C, 14), GPIO_INT_BOTH, pch_evt)
-GPIO_INT(PCH_SLP_S3_L, PIN(C, 15), GPIO_INT_BOTH, pch_evt)
-GPIO_INT(PCH_SLP_S5_L, PIN(D, 7), GPIO_INT_BOTH, pch_evt)
-GPIO_INT(WP_L, PIN(D, 2), GPIO_INT_BOTH, switch_interrupt)
-
-/* PD RX/TX */
-GPIO(USB_C0_CC1_PD, PIN(A, 0), GPIO_ANALOG)
-GPIO(USB_C0_REF, PIN(A, 1), GPIO_ANALOG)
-GPIO(USB_C1_CC1_PD, PIN(A, 2), GPIO_ANALOG)
-GPIO(USB_C0_CC2_PD, PIN(A, 4), GPIO_ANALOG)
-GPIO(USB_C1_CC2_PD, PIN(A, 5), GPIO_ANALOG)
-GPIO(USB_C0_REF_PD_ODL, PIN(A, 6), GPIO_ODR_LOW)
-
-GPIO(USB_C_CC_EN, PIN(C, 10), GPIO_OUT_LOW)
-GPIO(USB_C1_CC_TX_EN, PIN(A, 15), GPIO_OUT_LOW)
-GPIO(USB_C0_CC_TX_EN, PIN(B, 9), GPIO_OUT_LOW)
-GPIO(USB_C1_CC1_TX_DATA, PIN(B, 4), GPIO_OUT_LOW)
-GPIO(USB_C0_CC1_TX_DATA, PIN(B, 14), GPIO_OUT_LOW)
-GPIO(USB_C1_CC2_TX_DATA, PIN(E, 14), GPIO_OUT_LOW)
-GPIO(USB_C0_CC2_TX_DATA, PIN(D, 3), GPIO_OUT_LOW)
-
-#if 0
-/* Alternate functions */
-GPIO(USB_C1_TX_CLKOUT, PIN(B, 1), GPIO_OUT_LOW)
-GPIO(USB_C0_TX_CLKOUT, PIN(E, 1), GPIO_OUT_LOW)
-GPIO(USB_C1_TX_CLKIN, PIN(B, 3), GPIO_OUT_LOW)
-GPIO(USB_C0_TX_CLKIN, PIN(B, 13), GPIO_OUT_LOW)
-#endif
-
-/* Power and muxes control */
-GPIO(PPVAR_BOOSTIN_SENSE, PIN(C, 1), GPIO_ANALOG)
-GPIO(PP3300_USB_PD_EN, PIN(A, 8), GPIO_OUT_HIGH)
-GPIO(USB_C0_CHARGE_EN_L, PIN(D, 12), GPIO_OUT_LOW)
-GPIO(USB_C1_CHARGE_EN_L, PIN(D, 13), GPIO_OUT_LOW)
-GPIO(USB_C0_5V_EN, PIN(D, 14), GPIO_OUT_LOW)
-GPIO(USB_C1_5V_EN, PIN(D, 15), GPIO_OUT_LOW)
-GPIO(USB_C0_CC1_VCONN1_EN_L, PIN(D, 8), GPIO_OUT_HIGH)
-GPIO(USB_C0_CC2_VCONN1_EN_L, PIN(D, 9), GPIO_OUT_HIGH)
-GPIO(USB_C1_CC1_VCONN1_EN_L, PIN(D, 10), GPIO_OUT_HIGH)
-GPIO(USB_C1_CC2_VCONN1_EN_L, PIN(D, 11), GPIO_OUT_HIGH)
-GPIO(USB_C0_CC_1A5_EN, PIN(B, 12), GPIO_OUT_LOW)
-GPIO(USB_C1_CC_1A5_EN, PIN(E, 12), GPIO_OUT_LOW)
-GPIO(ILIM_ADJ_PWM, PIN(B, 15), GPIO_OUT_LOW)
-
-GPIO(USB_C0_CC1_ODL, PIN(B, 8), GPIO_ODR_LOW)
-GPIO(USB_C0_CC2_ODL, PIN(E, 0), GPIO_ODR_LOW)
-GPIO(USB_C1_CC1_ODL, PIN(F, 9), GPIO_ODR_LOW)
-GPIO(USB_C1_CC2_ODL, PIN(F, 10), GPIO_ODR_LOW)
-
-GPIO(USB_C_BC12_SEL, PIN(C, 0), GPIO_OUT_LOW)
-GPIO(USB_C0_SS1_EN_L, PIN(E, 2), GPIO_OUT_HIGH)
-GPIO(USB_C0_SS2_EN_L, PIN(E, 3), GPIO_OUT_HIGH)
-GPIO(USB_C1_SS1_EN_L, PIN(E, 9), GPIO_OUT_HIGH)
-GPIO(USB_C1_SS2_EN_L, PIN(E, 10), GPIO_OUT_HIGH)
-GPIO(USB_C0_SS1_DP_MODE, PIN(E, 4), GPIO_OUT_HIGH)
-GPIO(USB_C0_SS2_DP_MODE, PIN(E, 5), GPIO_OUT_HIGH)
-GPIO(USB_C1_SS1_DP_MODE, PIN(E, 11), GPIO_OUT_HIGH)
-GPIO(USB_C1_SS2_DP_MODE, PIN(E, 13), GPIO_OUT_HIGH)
-GPIO(USB_C0_DP_MODE_L, PIN(E, 8), GPIO_OUT_HIGH)
-GPIO(USB_C1_DP_MODE_L, PIN(F, 6), GPIO_OUT_HIGH)
-GPIO(USB_C0_DP_POLARITY, PIN(E, 7), GPIO_OUT_HIGH)
-GPIO(USB_C1_DP_POLARITY, PIN(F, 3), GPIO_OUT_HIGH)
-GPIO(USB_C0_DP_HPD, PIN(F, 0), GPIO_OUT_LOW)
-GPIO(USB_C1_DP_HPD, PIN(F, 1), GPIO_OUT_LOW)
-
-#if 0
-/* Alternate functions */
-GPIO(USB_DM, PIN(A, 11), GPIO_ANALOG)
-GPIO(USB_DP, PIN(A, 12), GPIO_ANALOG)
-GPIO(UART_TX, PIN(A, 9), GPIO_OUT_LOW)
-GPIO(UART_RX, PIN(A, 10), GPIO_OUT_LOW)
-GPIO(TP64, PIN(A, 13), GPIO_ODR_HIGH)
-GPIO(TP71, PIN(A, 14), GPIO_ODR_HIGH)
-#endif
-
-/*
- * 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)
-GPIO(MASTER_I2C_SCL, PIN(B, 10), GPIO_INPUT)
-GPIO(MASTER_I2C_SDA, PIN(B, 11), GPIO_INPUT)
-
-/* Case closed debugging. */
-GPIO(EC_INT, PIN(B, 2), GPIO_OUT_LOW)
-GPIO(EC_IN_RW, PIN(C, 12), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(EC_RST_L, PIN(C, 13), GPIO_OUT_HIGH)
-GPIO(SPI_FLASH_CS_L, PIN(D, 0), GPIO_INPUT)
-GPIO(SPI_FLASH_CSK, PIN(D, 1), GPIO_INPUT)
-GPIO(SPI_FLASH_MOSI, PIN(C, 3), GPIO_INPUT)
-GPIO(SPI_FLASH_MISO, PIN(C, 2), GPIO_INPUT)
-GPIO(EC_JTAG_TCK, PIN(C, 6), GPIO_INPUT)
-GPIO(EC_JTAG_TMS, PIN(C, 7), GPIO_INPUT)
-GPIO(EC_JTAG_TDO, PIN(C, 8), GPIO_INPUT)
-GPIO(EC_JTAG_TDI, PIN(C, 9), GPIO_INPUT)
-GPIO(ENTERING_RW, PIN(B, 5), GPIO_OUT_LOW)
-GPIO(PD_DISABLE_DEBUG, PIN(E, 15), GPIO_OUT_HIGH)
-GPIO(PD_DEBUG_EN_L, PIN(D, 4), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(PD_SPI_PP3300_EN_L, PIN(A, 7), GPIO_OUT_HIGH)
-GPIO(BST_DISABLE, PIN(A, 3), GPIO_OUT_LOW)
-
-#if 0
-/* Alternate functions */
-GPIO(EC_UART_TX, PIN(C, 4), GPIO_OUT_LOW)
-GPIO(EC_UART_RX, PIN(C, 5), GPIO_INPUT)
-GPIO(AP_UART_TX, PIN(D, 5), GPIO_OUT_LOW)
-GPIO(AP_UART_RX, PIN(D, 6), GPIO_INPUT)
-#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, 0x0002), 0, MODULE_USB_PD, 0) /* TIM14_CH1: PB1) */
-ALTERNATE(PIN_MASK(E, 0x0002), 0, MODULE_USB_PD, 0) /* TIM17_CH1: PE1) */
-ALTERNATE(PIN_MASK(A, 0x0600), 1, MODULE_UART, 0) /* USART1: PA9/PA10 */
-ALTERNATE(PIN_MASK(D, 0x0060), 0, MODULE_UART, 0) /* USART2: PD5/PD6 */
-ALTERNATE(PIN_MASK(C, 0x0030), 1, MODULE_UART, 0) /* USART3: PC4/PC5 */
-ALTERNATE(PIN_MASK(B, 0x0cc0), 1, MODULE_I2C, 0) /* I2C SLAVE:PB6/7 MASTER:PB10/11 */
-
-#ifdef CONFIG_PWM
-ALTERNATE(PIN_MASK(B, 0x8000), 1, MODULE_PWM, 0) /* ILIM_PWM: PB15 */
-#endif
diff --git a/board/samus_pd/usb_mux.c b/board/samus_pd/usb_mux.c
deleted file mode 100644
index 2213fc41e0..0000000000
--- a/board/samus_pd/usb_mux.c
+++ /dev/null
@@ -1,117 +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.
- */
-
-/* Samus PD-custom USB mux driver. */
-
-#include "common.h"
-#include "gpio.h"
-#include "usb_mux.h"
-#include "util.h"
-
-struct usb_port_mux {
- enum gpio_signal ss1_en_l;
- enum gpio_signal ss2_en_l;
- enum gpio_signal dp_mode_l;
- enum gpio_signal dp_polarity;
- enum gpio_signal ss1_dp_mode;
- enum gpio_signal ss2_dp_mode;
-};
-
-static const struct usb_port_mux mux_gpios[] = {
- {
- .ss1_en_l = GPIO_USB_C0_SS1_EN_L,
- .ss2_en_l = GPIO_USB_C0_SS2_EN_L,
- .dp_mode_l = GPIO_USB_C0_DP_MODE_L,
- .dp_polarity = GPIO_USB_C0_DP_POLARITY,
- .ss1_dp_mode = GPIO_USB_C0_SS1_DP_MODE,
- .ss2_dp_mode = GPIO_USB_C0_SS2_DP_MODE,
- },
- {
- .ss1_en_l = GPIO_USB_C1_SS1_EN_L,
- .ss2_en_l = GPIO_USB_C1_SS2_EN_L,
- .dp_mode_l = GPIO_USB_C1_DP_MODE_L,
- .dp_polarity = GPIO_USB_C1_DP_POLARITY,
- .ss1_dp_mode = GPIO_USB_C1_SS1_DP_MODE,
- .ss2_dp_mode = GPIO_USB_C1_SS2_DP_MODE,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(mux_gpios) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-
-static int board_init_usb_mux(const struct usb_mux *me)
-{
- return EC_SUCCESS;
-}
-
-static int board_set_usb_mux(const struct usb_mux *me, mux_state_t mux_state)
-{
- const struct usb_port_mux *usb_mux = mux_gpios + me->usb_port;
- int polarity = mux_state & USB_PD_MUX_POLARITY_INVERTED;
-
- /* reset everything */
- gpio_set_level(usb_mux->ss1_en_l, 1);
- gpio_set_level(usb_mux->ss2_en_l, 1);
- gpio_set_level(usb_mux->dp_mode_l, 1);
- gpio_set_level(usb_mux->dp_polarity, 1);
- gpio_set_level(usb_mux->ss1_dp_mode, 1);
- gpio_set_level(usb_mux->ss2_dp_mode, 1);
-
- if (!(mux_state & (USB_PD_MUX_USB_ENABLED | USB_PD_MUX_DP_ENABLED)))
- /* everything is already disabled, we can return */
- return EC_SUCCESS;
-
- if (mux_state & USB_PD_MUX_USB_ENABLED)
- /* USB 3.0 uses 2 superspeed lanes */
- gpio_set_level(polarity ? usb_mux->ss2_dp_mode :
- usb_mux->ss1_dp_mode, 0);
-
- if (mux_state & USB_PD_MUX_DP_ENABLED) {
- /* DP uses available superspeed lanes (x2 or x4) */
- gpio_set_level(usb_mux->dp_polarity, polarity);
- gpio_set_level(usb_mux->dp_mode_l, 0);
- }
-
- /* switch on superspeed lanes */
- gpio_set_level(usb_mux->ss1_en_l, 0);
- gpio_set_level(usb_mux->ss2_en_l, 0);
-
- return EC_SUCCESS;
-}
-
-static int board_get_usb_mux(const struct usb_mux *me, mux_state_t *mux_state)
-{
- const struct usb_port_mux *usb_mux = mux_gpios + me->usb_port;
-
- *mux_state = 0;
-
- if (!gpio_get_level(usb_mux->ss1_dp_mode) ||
- !gpio_get_level(usb_mux->ss2_dp_mode))
- *mux_state |= USB_PD_MUX_USB_ENABLED;
-
- if (!gpio_get_level(usb_mux->dp_mode_l))
- *mux_state |= USB_PD_MUX_DP_ENABLED;
-
- if (gpio_get_level(usb_mux->dp_polarity))
- *mux_state |= USB_PD_MUX_POLARITY_INVERTED;
-
- return EC_SUCCESS;
-}
-
-const struct usb_mux_driver board_custom_usb_mux_driver = {
- .init = board_init_usb_mux,
- .set = board_set_usb_mux,
- .get = board_get_usb_mux,
-};
-
-const struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .usb_port = 0,
- .driver = &board_custom_usb_mux_driver,
- },
- {
- .usb_port = 1,
- .driver = &board_custom_usb_mux_driver,
- },
-};
diff --git a/board/samus_pd/usb_pd_config.h b/board/samus_pd/usb_pd_config.h
deleted file mode 100644
index c81b0bf113..0000000000
--- a/board/samus_pd/usb_pd_config.h
+++ /dev/null
@@ -1,278 +0,0 @@
-/* Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#include "adc.h"
-#include "chip/stm32/registers.h"
-#include "gpio.h"
-#include "usb_mux.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 17
-#define TIM_CLOCK_PD_RX_C0 1
-#define TIM_CLOCK_PD_TX_C1 14
-#define TIM_CLOCK_PD_RX_C1 3
-
-#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)
-
-/* Timer channel */
-#define TIM_RX_CCR_C0 1
-#define TIM_RX_CCR_C1 1
-#define TIM_TX_CCR_C0 1
-#define TIM_TX_CCR_C1 1
-
-/* 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 C1, SPI2 on PB 13-14 for port C0 */
-#define SPI_REGS(p) ((p) ? STM32_SPI1_REGS : STM32_SPI2_REGS)
-static inline void spi_enable_clock(int port)
-{
- if (port == 0)
- STM32_RCC_APB1ENR |= STM32_RCC_PB1_SPI2;
- else
- STM32_RCC_APB2ENR |= STM32_RCC_PB2_SPI1;
-}
-
-/* DMA for transmit uses DMA CH7 for C0 and DMA_CH3 for C1 */
-#define DMAC_SPI_TX(p) ((p) ? STM32_DMAC_CH3 : STM32_DMAC_CH7)
-
-/* RX uses COMP1 and TIM1 CH1 on port C0 and COMP2 and TIM3_CH1 for port C1*/
-#define CMP1OUTSEL STM32_COMP_CMP1OUTSEL_TIM1_IC1
-#define CMP2OUTSEL STM32_COMP_CMP2OUTSEL_TIM3_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
-#define EXTI_COMP_MASK(p) ((p) ? BIT(22) : BIT(21))
-#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_CH6 for C1 */
-#define DMAC_TIM_RX(p) ((p) ? STM32_DMAC_CH6 : 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 PB13/14 */
- STM32_GPIO_OSPEEDR(GPIO_B) |= 0x3C000000;
- /* 40 MHz pin speed on TIM17_CH1 (PE1) */
- STM32_GPIO_OSPEEDR(GPIO_E) |= 0x0000000C;
- } else {
- /* 40 MHz pin speed on SPI PB3/4 */
- STM32_GPIO_OSPEEDR(GPIO_B) |= 0x000003C0;
- /* 40 MHz pin speed on TIM14_CH1 (PB1) */
- STM32_GPIO_OSPEEDR(GPIO_B) |= 0x0000000C;
- }
-}
-
-/* Reset SPI peripheral used for TX */
-static inline void pd_tx_spi_reset(int port)
-{
- if (port == 0) {
- /* Reset SPI2 */
- STM32_RCC_APB1RSTR |= BIT(14);
- STM32_RCC_APB1RSTR &= ~BIT(14);
- } else {
- /* Reset SPI1 */
- STM32_RCC_APB2RSTR |= BIT(12);
- STM32_RCC_APB2RSTR &= ~BIT(12);
- }
-}
-
-/* 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) /* PD3 is SPI2 MISO */
- gpio_set_alternate_function(GPIO_D, 0x0008, 1);
- else /* PB14 is SPI2 MISO */
- gpio_set_alternate_function(GPIO_B, 0x4000, 0);
-
- /* set the low level reference */
- gpio_set_level(GPIO_USB_C0_CC_TX_EN, 1);
- } else {
- /* put SPI function on TX pin */
- if (polarity) /* PE14 is SPI1 MISO */
- gpio_set_alternate_function(GPIO_E, 0x4000, 1);
- else /* PB4 is SPI1 MISO */
- gpio_set_alternate_function(GPIO_B, 0x0010, 0);
-
- /* set the low level reference */
- gpio_set_level(GPIO_USB_C1_CC_TX_EN, 1);
- }
-}
-
-/* Put the TX driver in Hi-Z state */
-static inline void pd_tx_disable(int port, int polarity)
-{
- if (port == 0) {
- /* output low on SPI TX to disable the FET */
- if (polarity) /* PD3 is SPI2 MISO */
- STM32_GPIO_MODER(GPIO_D) = (STM32_GPIO_MODER(GPIO_D)
- & ~(3 << (2*3)))
- | (1 << (2*3));
- else /* PB14 is SPI2 MISO */
- STM32_GPIO_MODER(GPIO_B) = (STM32_GPIO_MODER(GPIO_B)
- & ~(3 << (2*14)))
- | (1 << (2*14));
-
- /* put the low level reference in Hi-Z */
- gpio_set_level(GPIO_USB_C0_CC_TX_EN, 0);
- } else {
- /* output low on SPI TX to disable the FET */
- if (polarity) /* PE14 is SPI1 MISO */
- STM32_GPIO_MODER(GPIO_E) = (STM32_GPIO_MODER(GPIO_E)
- & ~(3 << (2*14)))
- | (1 << (2*14));
- else /* PB4 is SPI1 MISO */
- STM32_GPIO_MODER(GPIO_B) = (STM32_GPIO_MODER(GPIO_B)
- & ~(3 << (2*4)))
- | (1 << (2*4));
-
- /* put the low level reference in Hi-Z */
- gpio_set_level(GPIO_USB_C1_CC_TX_EN, 0);
- }
-}
-
-/* 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) {
- /* use the right comparator inverted input for COMP1 */
- STM32_COMP_CSR = (val & ~STM32_COMP_CMP1INSEL_MASK) |
- (polarity ? STM32_COMP_CMP1INSEL_INM4
- : STM32_COMP_CMP1INSEL_INM6);
- } else {
- /* use the right comparator inverted input for COMP2 */
- STM32_COMP_CSR = (val & ~STM32_COMP_CMP2INSEL_MASK) |
- (polarity ? STM32_COMP_CMP2INSEL_INM5
- : STM32_COMP_CMP2INSEL_INM6);
- }
-}
-
-/* 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) {
- /* We never charging in power source mode */
- gpio_set_level(GPIO_USB_C0_CHARGE_EN_L, 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);
- } else {
- /* Kill VBUS power supply */
- gpio_set_level(GPIO_USB_C0_5V_EN, 0);
- /* Pull low for device mode. */
- gpio_set_level(GPIO_USB_C0_CC1_ODL, 0);
- gpio_set_level(GPIO_USB_C0_CC2_ODL, 0);
- /* Let charge_manager decide to enable the port */
- }
- } else {
- if (enable) {
- /* We never charging in power source mode */
- gpio_set_level(GPIO_USB_C1_CHARGE_EN_L, 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);
- } else {
- /* Kill VBUS power supply */
- gpio_set_level(GPIO_USB_C1_5V_EN, 0);
- /* Pull low for device mode. */
- gpio_set_level(GPIO_USB_C1_CC1_ODL, 0);
- gpio_set_level(GPIO_USB_C1_CC2_ODL, 0);
- /* Let charge_manager decide to enable the port */
- }
- }
-}
-
-/**
- * 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();
-
- /* Reset mux ... for NONE polarity doesn't matter */
- usb_mux_set(port, USB_PD_MUX_NONE, USB_SWITCH_DISCONNECT, 0);
-
- if (port == 0) {
- gpio_set_level(GPIO_USB_C0_CC1_VCONN1_EN_L, 1);
- gpio_set_level(GPIO_USB_C0_CC2_VCONN1_EN_L, 1);
- gpio_set_level(GPIO_USB_C0_DP_HPD, 0);
- } else {
- gpio_set_level(GPIO_USB_C1_CC1_VCONN1_EN_L, 1);
- gpio_set_level(GPIO_USB_C1_CC2_VCONN1_EN_L, 1);
- gpio_set_level(GPIO_USB_C1_DP_HPD, 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_L :
- GPIO_USB_C0_CC2_VCONN1_EN_L, !enable);
- else
- gpio_set_level(polarity ? GPIO_USB_C1_CC1_VCONN1_EN_L :
- GPIO_USB_C1_CC2_VCONN1_EN_L, !enable);
-}
-
-#endif /* __CROS_EC_USB_PD_CONFIG_H */
diff --git a/board/samus_pd/usb_pd_policy.c b/board/samus_pd/usb_pd_policy.c
deleted file mode 100644
index cdf234a743..0000000000
--- a/board/samus_pd/usb_pd_policy.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/* Copyright 2014 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#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 typical operating power and max power */
-#define OPERATING_POWER_MW 15000
-#define MAX_POWER_MW 60000
-#define MAX_CURRENT_MA 3000
-
-/*
- * Do not request any voltage within this deadband region, where
- * we're not sure whether or not the boost or the bypass will be on.
- */
-#define INPUT_VOLTAGE_DEADBAND_MIN 9700
-#define INPUT_VOLTAGE_DEADBAND_MAX 11999
-
-#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\
- PDO_FIXED_COMM_CAP)
-
-const uint32_t pd_src_pdo[] = {
- PDO_FIXED(5000, 900, 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);
-
-__override int pd_is_valid_input_voltage(int mv)
-{
- /* Allow any voltage not in the boost bypass deadband */
- return (mv < INPUT_VOLTAGE_DEADBAND_MIN) ||
- (mv > INPUT_VOLTAGE_DEADBAND_MAX);
-}
-
-int pd_set_power_supply_ready(int port)
-{
- /* 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)
-{
- /* Kill 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 :
- GPIO_USB_C0_VBUS_WAKE);
-}
-
-int pd_check_vconn_swap(int port)
-{
- /* in S5, do not allow vconn swap since pp5000 rail is off */
- return gpio_get_level(GPIO_PCH_SLP_S5_L);
-}
-
-/* ----------------- Vendor Defined Messages ------------------ */
-#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);
-}
-
-static void hpd0_irq_deferred(void)
-{
- gpio_set_level(GPIO_USB_C0_DP_HPD, 1);
-}
-
-static void hpd1_irq_deferred(void)
-{
- gpio_set_level(GPIO_USB_C1_DP_HPD, 1);
-}
-
-DECLARE_DEFERRED(hpd0_irq_deferred);
-DECLARE_DEFERRED(hpd1_irq_deferred);
-#define PORT_TO_HPD_IRQ_DEFERRED(port) ((port) ? \
- &hpd1_irq_deferred_data : \
- &hpd0_irq_deferred_data)
-
-__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) {
- gpio_set_level(hpd, 0);
- hook_call_deferred(PORT_TO_HPD_IRQ_DEFERRED(port),
- HPD_DSTREAM_DEBOUNCE_IRQ);
- } else if (irq & !cur_lvl) {
- CPRINTF("ERR:HPD:IRQ&LOW\n");
- return 0; /* nak */
- } else {
- gpio_set_level(hpd, lvl);
- }
- /* ack */
- return 1;
-}
-
-__override void svdm_exit_dp_mode(int port)
-{
- gpio_set_level(PORT_TO_HPD(port), 0);
-}
diff --git a/board/samus_pd/vif_override.xml b/board/samus_pd/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/samus_pd/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/sklrvp_mchp/battery.c b/board/sklrvp_mchp/battery.c
deleted file mode 120000
index 569f81ec47..0000000000
--- a/board/sklrvp_mchp/battery.c
+++ /dev/null
@@ -1 +0,0 @@
-../tglrvpu_ite/battery.c \ No newline at end of file
diff --git a/board/sklrvp_mchp/board.c b/board/sklrvp_mchp/board.c
deleted file mode 100644
index af286a7df0..0000000000
--- a/board/sklrvp_mchp/board.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* Copyright 2021 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.
- */
-
-/*
- * Microchip Evaluation Board(EVB) with
- * MEC1521H 144-pin processor card.
- * EVB connected to Intel eSPI host chipset.
- */
-
-/* #include "bb_retimer.h" */
-#include "button.h" /* */
-#include "charger.h" /* */
-#include "chipset.h"
-#include "driver/charger/isl9241.h" /* */
-#include "espi.h"
-#include "extpower.h"
-#include "driver/tcpm/fusb307.h" /* */
-#include "driver/tcpm/tcpci.h"
-#include "gpio_chip.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "espi.h"
-#include "lpc_chip.h"
-#include "keyboard_scan.h"
-#include "lid_switch.h"
-#include "power.h"
-#include "power/skylake.h"
-#include "power_button.h"
-#include "spi.h"
-#include "spi_chip.h"
-#include "switch.h"
-#include "system.h"
-#include "tablet_mode.h"
-#include "task.h"
-#include "timer.h"
-#include "uart.h"
-#include "usb_mux.h" /* */
-#include "usb_pd.h"
-#include "usb_pd_tcpm.h" /* */
-#include "util.h"
-#include "battery_smart.h"
-
-#include "gpio_list.h"
-
-#define CPUTS(outstr) cputs(CC_SYSTEM, outstr)
-#define CPRINTF(format, args...) cprintf(CC_SYSTEM, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args)
-
-/*
- * NOTE: MCHP EVB + SKL RVP3 does not use BD99992 PMIC.
- * RVP3 PMIC controlled by RVP3 logic.
- */
-#define I2C_ADDR_BD99992_FLAGS 0x30
-
-/* TCPC table of GPIO pins */
-const struct tcpc_gpio_config_t tcpc_gpios[] = {
- [TYPE_C_PORT_0] = {
- .vbus = {
- .pin = GPIO_USB_C0_VBUS_INT,
- .pin_pol = 1,
- },
- .src = {
- .pin = GPIO_USB_C0_SRC_EN,
- .pin_pol = 1,
- },
- .snk = {
- .pin = GPIO_USB_C0_SNK_EN_L,
- .pin_pol = 0,
- },
- .src_ilim = {
- .pin = GPIO_USB_C0_SRC_HI_ILIM,
- .pin_pol = 1,
- },
- },
- [TYPE_C_PORT_1] = {
- .vbus = {
- .pin = GPIO_USB_C1_VBUS_INT,
- .pin_pol = 1,
- },
- .src = {
- .pin = GPIO_USB_C1_SRC_EN,
- .pin_pol = 1,
- },
- .snk = {
- .pin = GPIO_USB_C1_SNK_EN_L,
- .pin_pol = 0,
- },
- .src_ilim = {
- .pin = GPIO_USB_C1_SRC_HI_ILIM,
- .pin_pol = 1,
- },
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_gpios) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* USB-C TPCP Configuration */
-const struct tcpc_config_t tcpc_config[] = {
- [TYPE_C_PORT_0] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = MCHP_I2C_PORT0,
- .addr_flags = FUSB307_I2C_ADDR_FLAGS,
- },
- .drv = &fusb307_tcpm_drv,
- },
- [TYPE_C_PORT_1] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = MCHP_I2C_PORT2,
- .addr_flags = FUSB307_I2C_ADDR_FLAGS,
- },
- .drv = &fusb307_tcpm_drv,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* USB MUX Configuration */
-const struct usb_mux usb_muxes[] = {
- [TYPE_C_PORT_0] = {
- .usb_port = TYPE_C_PORT_0,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
- [TYPE_C_PORT_1] = {
- .usb_port = TYPE_C_PORT_1,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- /*
- * Port-80 Display, Charger, Battery, IO-expanders, EEPROM,
- * IMVP9, AUX-rail, power-monitor.
- */
- [I2C_CHAN_BATT_CHG] = {
- .name = "batt_chg",
- .port = MCHP_I2C_PORT4,
- .kbps = 100,
- .scl = GPIO_SMB04_SCL,
- .sda = GPIO_SMB04_SDA,
- },
- /* other I2C devices */
- [I2C_CHAN_MISC] = {
- .name = "misc",
- .port = MCHP_I2C_PORT5,
- .kbps = 100,
- .scl = GPIO_SMB05_SCL,
- .sda = GPIO_SMB05_SDA,
- },
- [I2C_CHAN_TCPC_0] = {
- .name = "tcpci0",
- .port = MCHP_I2C_PORT0,
- .kbps = 100,
- .scl = GPIO_SMB00_SCL,
- .sda = GPIO_SMB00_SDA,
- },
- [I2C_CHAN_TCPC_1] = {
- .name = "tcpci1",
- .port = MCHP_I2C_PORT2,
- .kbps = 100,
- .scl = GPIO_SMB02_SCL,
- .sda = GPIO_SMB02_SDA,
- }
-};
-BUILD_ASSERT(ARRAY_SIZE(i2c_ports) == I2C_CHAN_COUNT);
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger Chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL9241_ADDR_FLAGS,
- .drv = &isl9241_drv,
- },
-};
-
-static void sklrvp_init(void)
-{
- int extpwr = extpower_is_present();
-
- /* Provide AC status to the PCH */
- CPRINTS("Set PCH_ACOK = %d", extpwr);
- gpio_set_level(GPIO_PCH_ACOK, extpwr);
-}
-DECLARE_HOOK(HOOK_INIT, sklrvp_init, HOOK_PRIO_DEFAULT);
-
-static void sklrvp_interrupt_init(void)
-{
- /* Enable ALL_SYS_PWRGD interrupt */
- CPUTS("IEN ALL_SYS_PWRGD");
- gpio_enable_interrupt(GPIO_ALL_SYS_PWRGD);
-}
-DECLARE_HOOK(HOOK_INIT, sklrvp_interrupt_init, HOOK_PRIO_DEFAULT);
-
-/* Will this work for SKL-RVP */
-/******************************************************************************/
-/* PWROK signal configuration */
-/*
- * SKL with MCHP EVB uses EC to handle ALL_SYS_PWRGD signal.
- * MEC170x/MEC152x connected to SKL/KBL RVP3 reference board
- * is required to monitor ALL_SYS_PWRGD and drive SYS_RESET_L
- * after a 10 to 100 ms delay.
- */
-#ifdef CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-
-static void board_all_sys_pwrgd(void)
-{
- int allsys_in = gpio_get_level(GPIO_ALL_SYS_PWRGD);
- int allsys_out = gpio_get_level(GPIO_SYS_RESET_L);
-
- if (allsys_in == allsys_out)
- return;
-
- CPRINTS("ALL_SYS_PWRGD=%d SYS_RESET_L=%d", allsys_in, allsys_out);
-
- /*
- * Wait at least 10 ms between power signals going high
- */
- if (allsys_in)
- msleep(100);
-
- if (!allsys_out) {
- gpio_set_level(GPIO_SYS_RESET_L, allsys_in);
- /* Force fan on for kabylake RVP */
- gpio_set_level(GPIO_EC_FAN1_PWM, 1);
- CPRINTS("Set SYS_RESET_L = %d", allsys_in);
- }
-}
-DECLARE_DEFERRED(board_all_sys_pwrgd);
-
-void board_all_sys_pwrgd_interrupt(enum gpio_signal signal)
-{
- CPUTS("ISR ALL_SYS_PWRGD");
- hook_call_deferred(&board_all_sys_pwrgd_data, 0);
-}
-#endif /* #ifdef CONFIG_BOARD_HAS_ALL_SYS_PWRGD */
-
-/*
- * Returns board information (board id[7:0] and Fab id[15:8]) on success
- * -1 on error.
- */
-int board_get_version(void)
-{
- int port0, port1;
- int fab_id, board_id, bom_id;
-
- if (ioexpander_read_intelrvp_version(&port0, &port1))
- return -1;
- /*
- * Port0: bit 0 - BOM ID(2)
- * bit 2:1 - FAB ID(1:0) + 1
- * Port1: bit 7:6 - BOM ID(1:0)
- * bit 5:0 - BOARD ID(5:0)
- */
- bom_id = ((port1 & 0xC0) >> 6) | ((port0 & 0x01) << 2);
- fab_id = ((port0 & 0x06) >> 1) + 1;
- board_id = port1 & 0x3F;
-
- CPRINTS("BID:0x%x, FID:0x%x, BOM:0x%x", board_id, fab_id, bom_id);
-
- return board_id | (fab_id << 8);
-}
-
-#ifdef CONFIG_BOARD_PRE_INIT
-/*
- * Used to enable JTAG debug during development.
- * NOTE: UART2_TX on the same pin as SWV(JTAG_TDO).
- * If UART2 is used for EC console you cannot enable SWV.
- * For no SWV change mode to MCHP_JTAG_MODE_SWD.
- * For low power idle testing enable GPIO060 as function 2(48MHZ_OUT)
- * to check PLL is turning off in heavy sleep. Note, do not put GPIO060
- * in gpio.inc
- * GPIO060 is port 1 bit[16].
- */
-void board_config_pre_init(void)
-{
-#ifdef CONFIG_CHIPSET_DEBUG
- MCHP_EC_JTAG_EN = MCHP_JTAG_ENABLE + MCHP_JTAG_MODE_SWD;
-#endif
-
-#if defined(CONFIG_LOW_POWER_IDLE) && defined(CONFIG_MCHP_48MHZ_OUT)
- gpio_set_alternate_function(1, 0x10000, 2);
-#endif
-}
-#endif /* #ifdef CONFIG_BOARD_PRE_INIT */
-
-
-/*
- * 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);
-}
-
-/* SPI devices */
-const struct spi_device_t spi_devices[] = {
- { QMSPI0_PORT, 4, GPIO_QMSPI_CS0},
-};
-const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices);
-
-/*
- * 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);
-}
-
-#ifdef CONFIG_USBC_VCONN
-void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled)
-{
-#ifndef CONFIG_USBC_PPC_VCONN
- /*
- * TODO: MCHP EC does not have built-in TCPC. Does external
- * I2C based TCPC need this?
- */
-#endif
-}
-#endif
-
diff --git a/board/sklrvp_mchp/board.h b/board/sklrvp_mchp/board.h
deleted file mode 100644
index c415af8107..0000000000
--- a/board/sklrvp_mchp/board.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/* Copyright 2021 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.
- */
-
-/*
- * Intel SKL RVP3 fly wired to MEC152x EVB board-specific configuration
- * Microchip Evaluation Board (EVB) with
- * MEC15211H 144-pin processor card.
- * SKL RVP3 has Kabylake silicon.
- */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/*
- * Use UART2 for EC console
- */
-#undef CONFIG_UART_CONSOLE
-#define CONFIG_UART_CONSOLE 0
-
-/*
- * Initial board bring-up and prevent power button task from
- * generating event to exit G3 state.
- */
-/* #define CONFIG_BRINGUP */
-
-/*
- * Debug on EVB with CONFIG_CHIPSET_DEBUG
- * Keep WDG disabled and JTAG enabled.
- * CONFIG_BOARD_PRE_INIT enables JTAG early
- * #define CONFIG_CHIPSET_DEBUG
- */
-
-#ifdef CONFIG_CHIPSET_DEBUG
-#ifndef CONFIG_BOARD_PRE_INIT
-#define CONFIG_BOARD_PRE_INIT
-#endif
-#endif
-
-/*
- * DEBUG: Add CRC32 in last 4 bytes of EC_RO/RW binaries
- * in SPI. LFW will use DMA CRC32 HW to check data integrity.
- * #define CONFIG_MCHP_LFW_DEBUG
- */
-
-
-/*
- * Override Boot-ROM JTAG mode
- * 0x01 = 4-pin standard JTAG
- * 0x03 = ARM 2-pin SWD + 1-pin SWV
- * 0x05 = ARM 2-pin SWD no SWV. Required if UART2 is used.
- */
-/* #define CONFIG_MCHP_JTAG_MODE 0x05 */
-
-/* debug MCHP eSPI */
-/* #define CONFIG_ESPI_DEBUG */
-
-/*
- * Enable Trace FIFO Debug port
- * When this is undefined all TRACEn() and tracen()
- * macros are defined as blank.
- * Uncomment this define to enable these messages.
- * Only enable if GPIO's 0171 & 0171 are available therefore
- * define this at the board level.
- */
-/* #define CONFIG_MCHP_TFDP */
-
-/*
- * Enable MCHP specific GPIO EC UART commands
- * for debug.
- */
-/* #define CONFIG_MEC_GPIO_EC_CMDS */
-
-/*
- * Enable CPRINT in chip eSPI module
- * and EC UART test command.
- */
-/* #define CONFIG_MCHP_ESPI_DEBUG */
-
-/*
- * DEBUG
- * Disable ARM Cortex-M4 write buffer so
- * exceptions become synchronous.
- *
- * #define CONFIG_DEBUG_DISABLE_WRITE_BUFFER
- */
-
-/*
- * DEBUG: Configure MEC152x GPIO060 as 48MHZ_OUT to
- * verify & debug clock is shutdown in heavy sleep.
- */
-/* #define CONFIG_MCHP_48MHZ_OUT */
-
-/*
- * EVB eSPI test mode (no eSPI master connected)
- * #define EVB_NO_ESPI_TEST_MODE
- */
-
-/*
- * Enable board specific ISR on ALL_SYS_PWRGD signal.
- * Requires for handling Kabylake/Skylake RVP3 board's
- * ALL_SYS_PWRGD signal.
- */
-#define CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-
-/*
- * Maximum clock frequence eSPI EC advertises
- * Values in MHz are 20, 25, 33, 50, and 66
- */
-/* SKL/KBL + EVB fly-wire hook up only supports 20MHz */
-#define CONFIG_HOSTCMD_ESPI_EC_MAX_FREQ MCHP_ESPI_CAP1_MAX_FREQ_20M
-
-
-/*
- * EC eSPI advertises IO lanes
- * 0 = Single
- * 1 = Single and Dual
- * 2 = Single and Quad
- * 3 = Single, Dual, and Quad
- */
-/* KBL + EVB fly-wire hook up only support Single mode */
-#define CONFIG_HOSTCMD_ESPI_EC_MODE MCHP_ESPI_CAP1_SINGLE_MODE
-
-/*
- * Bit map of eSPI channels EC advertises
- * bit[0] = 1 Peripheral channel
- * bit[1] = 1 Virtual Wire channel
- * bit[2] = 1 OOB channel
- * bit[3] = 1 Flash channel
- */
-#define CONFIG_HOSTCMD_ESPI_EC_CHAN_BITMAP MCHP_ESPI_CAP0_ALL_CHAN_SUPP
-
-/* MCHP EC variant */
-#define VARIANT_INTELRVP_EC_MCHP
-
-/* MECC config */
-#define CONFIG_INTEL_RVP_MECC_VERSION_0_9
-
-/* USB MUX */
-#define CONFIG_USB_MUX_VIRTUAL
-
-/* Not using EC FAN control */
-#undef CONFIG_FANS
-#define BOARD_FAN_MIN_RPM 3000
-#define BOARD_FAN_MAX_RPM 10000
-
-/* Temperature sensor module has dependency on EC fan control */
-#undef CONFIG_TEMP_SENSOR
-
-#include "baseboard.h"
-
-/*
- * Configuration after inclusion of base board.
- * baseboard enables CONFIG_LOW_POWER_IDLE.
- * Disable here.
- * #undef CONFIG_LOW_POWER_IDLE
- */
-
-#define CONFIG_CHIPSET_SKYLAKE
-#define GPIO_PG_EC_RSMRST_ODL GPIO_RSMRST_L_PGOOD
-#define GPIO_PCH_DSW_PWROK GPIO_EC_PCH_DSW_PWROK
-#define GPIO_PG_EC_ALL_SYS_PWRGD GPIO_ALL_SYS_PWRGD
-#define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_L
-#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L
-#define GPIO_BAT_LED_RED_L GPIO_BAT_LED_GREEN_L
-#define GPIO_PWR_LED_WHITE_L GPIO_AC_LED_GREEN_L
-/* MEC152x EVB pin used to enable SKL fan(s) */
-#define GPIO_FAN_POWER_EN GPIO_EC_FAN1_PWM
-
-
-/* Charger */
-#define CONFIG_CHARGER_ISL9241
-
-/* DC Jack charge ports */
-#undef CONFIG_DEDICATED_CHARGE_PORT_COUNT
-#define CONFIG_DEDICATED_CHARGE_PORT_COUNT 1
-
-/* USB ports */
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
-#define DEDICATED_CHARGE_PORT 2
-
-#ifdef CONFIG_USBC_VCONN
- #define CONFIG_USBC_VCONN_SWAP
- /* delay to turn on/off vconn */
- #define PD_VCONN_SWAP_DELAY 5000 /* us */
-#endif
-
-/*
- * USB PD configuration using FUSB307 chip on I2C as
- * an example.
- */
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-#define CONFIG_USB_PD_TCPM_FUSB307
-#define CONFIG_USB_PD_TCPM_TCPCI
-
-#define I2C_PORT_CHARGER MCHP_I2C_PORT2
-#define I2C_PORT_BATTERY MCHP_I2C_PORT2
-#define I2C_PORT_PCA9555_BOARD_ID_GPIO MCHP_I2C_PORT2
-#define I2C_PORT_PORT80 MCHP_I2C_PORT2
-#define I2C_ADDR_PCA9555_BOARD_ID_GPIO 0x22
-#define PORT80_I2C_ADDR MAX695X_I2C_ADDR1_FLAGS
-
-/*
- * External parallel crystal between XTAL1 and XTAL2 pins.
- * #define CONFIG_CLOCK_SRC_EXTERNAL
- * #define CONFIG_CLOCK_CRYSTAL
- * External single ended 32KHz 50% duty cycle input clock.
- * #define CONFIG_CLOCK_SRC_EXTERNAL
- * #undef CONFIG_CLOCK_CRYSTAL
- * Use internal silicon 32KHz oscillator
- * #undef CONFIG_CLOCK_SRC_EXTERNAL
- * CONFIG_CLOCK_CRYSTAL is a don't care
- *
- *
-#define CONFIG_CLOCK_SRC_EXTERNAL
-*/
-#undef CONFIG_CLOCK_SRC_EXTERNAL
-#define CONFIG_CLOCK_CRYSTAL
-
-/*
- * MEC1521H loads firmware using QMSPI controller
- * CONFIG_SPI_FLASH_PORT is the index into
- * spi_devices[] in board.c
- */
-#define CONFIG_SPI_FLASH_PORT 0
-#define CONFIG_SPI_FLASH
-/*
- * Google uses smaller flashes on chromebook boards
- * MCHP SPI test dongle for EVB uses 16MB W25Q128F
- * Configure for smaller flash is OK for testing except
- * for SPI flash lock bit.
- */
- #define CONFIG_FLASH_SIZE_BYTES 524288
- #define CONFIG_SPI_FLASH_W25X40
-
-/*
- * Enable extra SPI flash and generic SPI
- * commands via EC UART
- */
-#define CONFIG_CMD_SPI_FLASH
-#define CONFIG_CMD_SPI_XFER
-
-
-/* MEC152x does not have GP-SPI controllers */
-#undef CONFIG_MCHP_GPSPI
-
-
-#ifndef __ASSEMBLER__
-
-/* #include "gpio_signal.h" */
-/* #include "registers.h" */
-
-
-enum sklrvp_charge_ports {
- TYPE_C_PORT_0,
- TYPE_C_PORT_1,
-};
-
-enum sklrvp_i2c_channel {
- I2C_CHAN_BATT_CHG,
- I2C_CHAN_MISC,
- I2C_CHAN_TCPC_0,
- I2C_CHAN_TCPC_1,
- I2C_CHAN_COUNT,
-};
-
-enum battery_type {
- BATTERY_SIMPLO_SMP_HHP_408,
- BATTERY_SIMPLO_SMP_CA_445,
- BATTERY_TYPE_COUNT,
-};
-
-/* Map I2C port to controller */
-int board_i2c_p2c(int port);
-
-/* Reset PD MCU */
-void board_reset_pd_mcu(void);
-
-#ifdef CONFIG_LOW_POWER_IDLE
-void board_prepare_for_deep_sleep(void);
-void board_resume_from_deep_sleep(void);
-#endif
-
-#ifdef CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-void board_all_sys_pwrgd_interrupt(enum gpio_signal signal);
-#endif
-
-int board_get_version(void);
-
-/* MCHP we need to define this for use by baseboard */
-#define PD_MAX_POWER_MW 60000
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/sklrvp_mchp/build.mk b/board/sklrvp_mchp/build.mk
deleted file mode 100644
index 81d62ff652..0000000000
--- a/board/sklrvp_mchp/build.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- makefile -*-
-# Copyright 2021 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.
-#
-# Intel SKL-RVP fly wired to MEC152x EVB board-specific configuration
-#
-
-# the IC is Microchip MEC1521
-# external SPI is 512KB
-# external clock is crystal
-CHIP:=mchp
-CHIP_FAMILY:=mec152x
-CHIP_VARIANT:=mec1521
-CHIP_SPI_SIZE_KB:=512
-BASEBOARD:=intelrvp
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
diff --git a/board/sklrvp_mchp/ec.tasklist b/board/sklrvp_mchp/ec.tasklist
deleted file mode 100644
index b264f6522a..0000000000
--- a/board/sklrvp_mchp/ec.tasklist
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2021 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.
- */
-
-/*
- * Intel SKL-RVP MCHP MEC152x EVB board-specific configuration.
- * 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(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_NOTEST(CHIPSET, chipset_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_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, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, TASK_STACK_SIZE)
-
diff --git a/board/sklrvp_mchp/gpio.inc b/board/sklrvp_mchp/gpio.inc
deleted file mode 100644
index 9f9dde51f9..0000000000
--- a/board/sklrvp_mchp/gpio.inc
+++ /dev/null
@@ -1,312 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2021 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.
- */
-
-/*
- * mec152x EVB board GPIO pins
- * !!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- * MEC152X data sheets GPIO numbers are OCTAL.
- * Original glados MEC1322 used these octal numbers as base 10.
- * mec152X and its boards will use OCTAL therefore make sure all
- * numbers used below are written as C OCTAL with a leading 0.
- * Signal names are based upon the MEC152x MECC schematic.
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- */
-/* NOTE: MEC152XH MECC JTAG
- * GPIO_0145 is JTAG_TDI
- * GPIO_0146 is JTAG_TDO
- * GPIO_0147 is JTAG_CLK
- * GPIO_0150 is JTAG_TMS
- */
-/* NOTE: MEC152X QMSPI controller pins
- * MEC152X implements one instance of QMSPI and one
- * instance of SLV_SPI. It does not have the GP-SPI
- * controllers that MEC1701 has.
- * MEC152X QMSPI has three groups of pins that can be
- * connected to QMSPI controller.
- * PVT_CS#,IO0,IO1,IO2,IO3,CLK
- * SHD_CS0#,CS1#,IO0,IO1,IO2,IO3,CLK
- * GPSPI_CS#,IO0,IO1,IO2,IO3,CLK
- * MEC152X EVB and MECC boards connect their external SPI flash
- * to SHD_xxx QMSPI pins. This assumes the part's OTP and straps
- * set to not force BootROM load from PVT_xxx SPI port.
- * PVT_xxx and GPSPI_xxx are available other uses.
- */
-/* NOTE: MEC152xH-SZ unimplemented GPIO pins.
- * All MEC152x parts: 041, 0103, 0110, 0164
- * MEC1521H-SZ: 0213, 0211, 0212
- */
-
-/* include common gpio.inc under chip/mchp/lfw/... */
-#include "chip/mchp/lfw/gpio.inc"
-
-#define GPIO_BOTH_EDGES_PU (GPIO_INT_BOTH | GPIO_PULL_UP)
-#define GPIO_KB_OUTPUT_COL2 (GPIO_OUT_LOW)
-
-/* MEC152x is eSPI only !!!
- * MEC1521 MECC board GPIO_064 PCI_nRESET pulled high to VTR3.
- * No signal connection possible.
- */
-
-GPIO_INT(LID_OPEN, PIN(015), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
-
-
-GPIO_INT(AC_PRESENT, PIN(014), GPIO_INT_BOTH, extpower_interrupt)
-
-/* DC jack handled by intelrvp base board */
-GPIO_INT(DC_JACK_PRESENT, PIN(0244), GPIO_INT_BOTH, board_dc_jack_interrupt)
-
-/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */
-GPIO_INT(POWER_BUTTON_L, PIN(023), GPIO_INT_BOTH, power_button_interrupt)
-
-/* RSMRST from PMIC */
-GPIO_INT(RSMRST_L_PGOOD, PIN(0126), GPIO_INT_BOTH, power_signal_interrupt)
-
-GPIO_INT(PCH_SLP_SUS_L, PIN(0175), GPIO_INT_BOTH, power_signal_interrupt)
-
-/*
- * Handle ALL_SYS_PWRGD from SKL RVP3 board
- * MEC1521H-SZ GPIO_057/VCC_PWRGD OK
- */
-GPIO_INT(ALL_SYS_PWRGD, PIN(057), GPIO_INT_BOTH, board_all_sys_pwrgd_interrupt)
-
-/* Kabylake bring up move to ordinary GPIO input */
-/* MEC1521H-SZ GPIO_0034/GPSPI_IO2 OK */
-/*
- *GPIO_INT(VOLUME_UP_L, PIN(034), \
- *GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
- */
-/* MEC1521H-SZ GPIO_035/PWM8/CTOUT1/ICT15 OK */
-/*
- *GPIO_INT(VOLUME_DOWN_L, PIN(035), GPIO_INT_BOTH | GPIO_PULL_UP, \
- * button_interrupt)
- */
-
-/* MEC1521H-SZ GPIO_0161/VCI_IN2# OK */
-GPIO_INT(PMIC_INT_L, PIN(0161), GPIO_INT_FALLING, power_signal_interrupt)
-
- /* MEC1521H-SZ GPIO_0162/VCI_IN1# OK */
-GPIO_INT(TABLET_MODE_L, PIN(0100), GPIO_INT_BOTH | GPIO_PULL_UP, \
- gmr_tablet_switch_isr)
-
-/* Delayed PWR_OK from PMIC */
-GPIO_INT(PMIC_DPWROK, PIN(0151), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* UART input */
-/* MEC1521H-SZ UART0 pins are shared with MCHP TFDP.
- * UART1 has one pin used as a Boot-ROM strap.
- * UART2_RX is GPIO_0145/I2C09_SDA/JTAG_TDI/UART2_RX
- * UART2_TX is GPIO_0146/I2C09_SCL/JTAG_TDO/UART2_TX
- * We use ARM SWD on JTAG_TCK and JTAG_TMS freeing up UART2 pins.
- */
-GPIO_INT(UART0_RX, PIN(0105), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, \
- uart_deepsleep_interrupt)
-
-GPIO_INT(USB_C0_VBUS_INT, PIN(0101), GPIO_INT_BOTH, tcpc_alert_event)
-GPIO_INT(USB_C1_VBUS_INT, PIN(0102), GPIO_INT_BOTH, tcpc_alert_event)
-
-/* GPIO Pins not interrupt enabled */
-
-/* Kabylake bring up move to ordinary GPIO input */
-GPIO(VOLUME_UP_L, PIN(034), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(VOLUME_DOWN_L, PIN(035), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(WP_L, PIN(036), GPIO_INPUT)
-
-/* PCH and CPU pins */
-
-/*
- * This pull down 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(0222), GPIO_INPUT | GPIO_PULL_DOWN)
-GPIO(PCH_PWRBTN_L, PIN(043), GPIO_OUTPUT)
-GPIO(PCH_SEC_DISABLE_L, PIN(022), GPIO_OUT_HIGH)
-
-GPIO(PCH_WAKE_L, PIN(0255), GPIO_ODR_HIGH)
-GPIO(PCH_ACOK, PIN(0246), GPIO_OUT_LOW)
-GPIO(PCH_RSMRST_L, PIN(012), GPIO_OUT_LOW)
-GPIO(PCH_RTCRST, PIN(052), GPIO_OUT_LOW)
-
-GPIO(CPU_PROCHOT, PIN(0171), GPIO_OUT_LOW)
-
-GPIO(SYS_RESET_L, PIN(025), GPIO_OUT_LOW)
-
-GPIO(PMIC_SLP_SUS_L, PIN(033), GPIO_OUT_LOW)
-
-GPIO(EC_PCH_DSW_PWROK, PIN(013), 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.
- */
-/* MEC1521H-SZ GPIO_0163/VCI_IN0# OK */
-GPIO(BATLOW_L_PMIC_LDO_EN, PIN(0163), GPIO_INPUT)
-
-/* I2C pins - these will be reconfigured for alternate function below */
-/* MEC1521H-SZ does not implement I2C08 pins */
-GPIO(SMB00_SCL, PIN(004), GPIO_INPUT)
-GPIO(SMB00_SDA, PIN(003), GPIO_INPUT)
-GPIO(SMB01_SCL, PIN(0131), GPIO_INPUT)
-GPIO(SMB01_SDA, PIN(0130), GPIO_INPUT)
-GPIO(SMB02_SCL, PIN(0155), GPIO_INPUT)
-GPIO(SMB02_SDA, PIN(0154), GPIO_INPUT)
-GPIO(SMB03_SCL, PIN(010), GPIO_INPUT)
-GPIO(SMB03_SDA, PIN(007), GPIO_INPUT)
-GPIO(SMB04_SCL, PIN(0144), GPIO_INPUT)
-GPIO(SMB04_SDA, PIN(0143), GPIO_INPUT)
-GPIO(SMB05_SCL, PIN(0142), GPIO_INPUT)
-GPIO(SMB05_SDA, PIN(0141), GPIO_INPUT)
-
-/* usb related */
-GPIO(EN_PP3300_A, PIN(0153), GPIO_OUT_LOW)
-GPIO(EN_PP5000, PIN(042), GPIO_OUT_LOW)
-GPIO(USB_C0_SRC_EN, PIN(0206), GPIO_OUT_LOW)
-GPIO(USB_C0_SNK_EN_L, PIN(0202), GPIO_ODR_LOW | GPIO_PULL_DOWN)
-GPIO(USB_C0_SRC_HI_ILIM, PIN(0205), GPIO_OUT_LOW)
-GPIO(USB_C1_SRC_EN, PIN(0226), GPIO_OUT_LOW)
-GPIO(USB_C1_SNK_EN_L, PIN(0140), GPIO_ODR_LOW | GPIO_PULL_DOWN)
-GPIO(USB_C1_SRC_HI_ILIM, PIN(0132), GPIO_OUT_LOW)
-
-
-/* Fan PWM output and TACH input. PROCHOT input */
-GPIO(EC_FAN1_TTACH, PIN(050), GPIO_INPUT | GPIO_PULL_UP)
-/* Fan PWM output - NC / testing only */
-GPIO(EC_FAN1_PWM, PIN(053), GPIO_OUT_LOW)
-
-/* prochot input from devices */
-GPIO(PLATFORM_EC_PROCHOT, PIN(051), GPIO_INPUT | GPIO_PULL_UP)
-
-/* Miscellaneous */
-GPIO(PWM_KBLIGHT, PIN(02), GPIO_OUT_LOW)
-GPIO(ENTERING_RW, PIN(0221), GPIO_OUT_LOW)
-GPIO(ENABLE_TOUCHPAD, PIN(0115), GPIO_OUT_LOW)
-GPIO(EC_BATT_PRES_L, PIN(0200), GPIO_INPUT)
-GPIO(WLAN_OFF_L, PIN(0245), GPIO_OUT_LOW)
-
-/* From lid sensor */
-GPIO(ENABLE_BACKLIGHT, PIN(00), GPIO_OUT_LOW)
-
-/* Board Version */
-GPIO(BOARD_VERSION1, PIN(0114), GPIO_INPUT)
-GPIO(BOARD_VERSION2, PIN(0207), GPIO_INPUT)
-GPIO(BOARD_VERSION3, PIN(0011), GPIO_INPUT)
-
-/* For LEDs */
-GPIO(BAT_LED_GREEN_L, PIN(0156), GPIO_OUT_HIGH)
-GPIO(AC_LED_GREEN_L, PIN(0157), GPIO_OUT_HIGH)
-
-/* Used in baseboard/intelrvp */
-/* GPIO_0253 on EVB JP24-13. Jumper JP24 13-14 for 100K pull-up to Vbat */
-GPIO(EC_SPI_OE_N, PIN(0253), GPIO_OUT_LOW)
-
-/* Alternate functions GPIO definitions */
-
-/* KB pins */
-#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP)
-#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH)
-
-#if defined(CONFIG_CLOCK_SRC_EXTERNAL) && !defined(CONFIG_CLOCK_CRYSTAL)
-/* 32KHZ_IN = GPIO_0165(Bank=3, bit=21) Func1 */
-ALTERNATE(PIN_MASK(3, 0x200000), 1, MODULE_PMU, 0)
-#endif
-
-/* KB pins */
-/*
- * MEC1521H-SZ (144 pin package)
- * KSO00 = GPIO_0040 Func2 bank 1 bit 0
- * KSO01 = GPIO_0045 Func1 bank 1 bit 5
- * KSO02 = GPIO_0046 Func1 bank 1 bit 6
- * KSO03 = GPIO_0047 Func1 bank 1 bit 7
- * KSO04 = GPIO_0107 Func2 bank 2 bit 7
- * KSO05 = GPIO_0112 Func1 bank 2 bit 10
- * KSO06 = GPIO_0113 Func1 bank 2 bit 11
- * KSO07 = GPIO_0120 Func1 bank 2 bit 16
- * KSO08 = GPIO_0121 Func2 bank 2 bit 17
- * KSO09 = GPIO_0122 Func2 bank 2 bit 18
- * KSO10 = GPIO_0123 Func2 bank 2 bit 19
- * KSO11 = GPIO_0124 Func2 bank 2 bit 20
- * KSO12 = GPIO_0125 Func2 bank 2 bit 21
- * For 8x16 test keyboard add KSO13 - KSO15
- * KSO13 = GPIO_0126 Func2 bank 2 bit 22
- * KSO14 = GPIO_0152 Func1 bank 3 bit 10
- * KSO15 = GPIO_0151 Func2 bank 3 bit 9
- *
- * KSI0 = GPIO_0017 Func1 bank 0 bit 15
- * KSI1 = GPIO_0020 Func1 bank 0 bit 16
- * KSI2 = GPIO_0021 Func1 bank 0 bit 17
- * KSI3 = GPIO_0026 Func1 bank 0 bit 22
- * KSI4 = GPIO_0027 Func1 bank 0 bit 23
- * KSI5 = GPIO_0030 Func1 bank 0 bit 24
- * KSI6 = GPIO_0031 Func1 bank 0 bit 25
- * KSI7 = GPIO_0032 Func1 bank 0 bit 26
- */
-/* KSO 0 Bank 1, Func2, bit 0 */
-ALTERNATE(PIN_MASK(1, 0x01), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
-/* KSO 1-3 Bank 1, Func1, bits 5-7 */
-ALTERNATE(PIN_MASK(1, 0xA0), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-GPIO(KBD_KSO2, PIN(046), GPIO_KB_OUTPUT_COL2)
-#else
-/* KSO 1-3 Bank 1, Func1, bits 5-7 */
-ALTERNATE(PIN_MASK(1, 0xE0), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-#endif
-
-/* KSO 4, 8-12 Bank 2, Func2, bits 7, 17-21 */
-ALTERNATE(PIN_MASK(2, 0x003E0080), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-/* KSO 5-7, Bank 2, Func1, bits 10-11, 16 */
-ALTERNATE(PIN_MASK(2, 0x00010C00), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-
-/* KSI 0-7, Bank 0, Func1, bit 15-17, 22-26 */
-ALTERNATE(PIN_MASK(0, 0x07C38000), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-
-/*
- * ESPI_RESET# - GPIO_0061 Func 1, Bank 1 bit[17]
- * ESPI_ALERT# - GPIO_0063 Func 1, Bank 1 bit[19]
- * ESPI_CLK - GPIO_0065 Func 1, Bank 1 bit[21]
- * ESPI_CS# - GPIO_0066 Func 1, Bank 1 bit[22]
- * ESPI_IO0 - GPIO_0070 Func 1, Bank 1 bit[24]
- * ESPI_IO1 - GPIO_0071 Func 1, Bank 1 bit[25]
- * ESPI_IO2 - GPIO_0072 Func 1, Bank 1 bit[26]
- * ESPI_IO3 - GPIO_0073 Func 1, Bank 1 bit[27]
- */
-ALTERNATE(PIN_MASK(1, 0x0F6A0000), 1, MODULE_LPC, 0)
-
-/* I2C pins */
-/* MEC1521H-SZ does not implement I2C08 pins
- * Configure I2C00-05 as I2C alternate function
- * I2C00_SDA = GPIO_0003(Bank=0, bit=3) Func1
- * I2C00_SCL = GPIO_0004(Bank=0, bit=4) Func1
- * I2C01_SDA = GPIO_0130(Bank=2, bit=24) Func1
- * I2C01_SCL = GPIO_0131(Bank=2, bit=25) Func1
- * I2C02_SDA = GPIO_0154(Bank=3, bit=12) Func1
- * I2C02_SCL = GPIO_0155(Bank=3, bit=13) Func1
- * I2C03_SDA = GPIO_0007(Bank=0, bit=7) Func1
- * I2C03_SDL = GPIO_0010(Bank=0, bit=8) Func1
- * I2C04_SDA = GPIO_0143(Bank=3, bit=3) Func1
- * I2C04_SCL = GPIO_0144(Bank=3, bit=4) Func1
- * I2C05_SDA = GPIO_0141(Bank=3, bit=1) Func1
- * I2C05_SDL = GPIO_0142(Bank=3, bit=2) Func1
- */
-/* DEBUG with MECC not connected to motherboard. Enable internal pull-ups on I2C pins */
-ALTERNATE(PIN_MASK(0, 0x00000198), 1, MODULE_I2C, GPIO_ODR_HIGH)
-ALTERNATE(PIN_MASK(2, 0x03000000), 1, MODULE_I2C, GPIO_ODR_HIGH)
-ALTERNATE(PIN_MASK(3, 0x0000301E), 1, MODULE_I2C, GPIO_ODR_HIGH)
-
-/* ADC pins */
-/* ADC01 = GPIO_0201(Bank=4, bit=1) Func1
- * ADC03 = GPIO_0203(Bank=4, bit=3) Func1
- * ADC04 = GPIO_0204(Bank=4, bit=4) Func1
- * ADC07 = GPIO_0207/CMP_STRAP(Bank=4, bit=7) Func1
- */
-ALTERNATE(PIN_MASK(4, 0x009a), 1, MODULE_ADC, GPIO_ANALOG)
-
diff --git a/board/sklrvp_mchp/lfw/vif_override.xml b/board/sklrvp_mchp/lfw/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/sklrvp_mchp/lfw/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/sklrvp_mchp/vif_override.xml b/board/sklrvp_mchp/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/sklrvp_mchp/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/board/sklrvp_mchp1723/battery.c b/board/sklrvp_mchp1723/battery.c
deleted file mode 120000
index 569f81ec47..0000000000
--- a/board/sklrvp_mchp1723/battery.c
+++ /dev/null
@@ -1 +0,0 @@
-../tglrvpu_ite/battery.c \ No newline at end of file
diff --git a/board/sklrvp_mchp1723/board.c b/board/sklrvp_mchp1723/board.c
deleted file mode 100644
index 245f3c549a..0000000000
--- a/board/sklrvp_mchp1723/board.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* Copyright 2021 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.
- */
-
-/*
- * Microchip Evaluation Board(EVB) with
- * MEC1521H 144-pin processor card.
- * EVB connected to Intel eSPI host chipset.
- */
-
-/* #include "bb_retimer.h" */
-#include "button.h" /* */
-#include "charger.h" /* */
-#include "chipset.h"
-#include "driver/charger/isl9241.h" /* */
-#include "espi.h"
-#include "extpower.h"
-#include "driver/tcpm/fusb307.h" /* */
-#include "driver/tcpm/tcpci.h"
-#include "gpio_chip.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "host_command.h"
-#include "i2c.h"
-#include "espi.h"
-#include "lpc_chip.h"
-#include "keyboard_scan.h"
-#include "lid_switch.h"
-#include "power.h"
-#include "power/skylake.h"
-#include "power_button.h"
-#include "spi.h"
-#include "spi_chip.h"
-#include "switch.h"
-#include "system.h"
-#include "tablet_mode.h"
-#include "task.h"
-#include "timer.h"
-#include "uart.h"
-#include "usb_mux.h" /* */
-#include "usb_pd.h"
-#include "usb_pd_tcpm.h" /* */
-#include "util.h"
-#include "battery_smart.h"
-
-#include "gpio_list.h"
-
-#define CPUTS(outstr) cputs(CC_SYSTEM, outstr)
-#define CPRINTF(format, args...) cprintf(CC_SYSTEM, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ## args)
-
-/*
- * NOTE: MCHP EVB + SKL RVP3 does not use BD99992 PMIC.
- * RVP3 PMIC controlled by RVP3 logic.
- */
-#define I2C_ADDR_BD99992_FLAGS 0x30
-
-/* TCPC table of GPIO pins */
-const struct tcpc_gpio_config_t tcpc_gpios[] = {
- [TYPE_C_PORT_0] = {
- .vbus = {
- .pin = GPIO_USB_C0_VBUS_INT,
- .pin_pol = 1,
- },
- .src = {
- .pin = GPIO_USB_C0_SRC_EN,
- .pin_pol = 1,
- },
- .snk = {
- .pin = GPIO_USB_C0_SNK_EN_L,
- .pin_pol = 0,
- },
- .src_ilim = {
- .pin = GPIO_USB_C0_SRC_HI_ILIM,
- .pin_pol = 1,
- },
- },
- [TYPE_C_PORT_1] = {
- .vbus = {
- .pin = GPIO_USB_C1_VBUS_INT,
- .pin_pol = 1,
- },
- .src = {
- .pin = GPIO_USB_C1_SRC_EN,
- .pin_pol = 1,
- },
- .snk = {
- .pin = GPIO_USB_C1_SNK_EN_L,
- .pin_pol = 0,
- },
- .src_ilim = {
- .pin = GPIO_USB_C1_SRC_HI_ILIM,
- .pin_pol = 1,
- },
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_gpios) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* USB-C TPCP Configuration */
-const struct tcpc_config_t tcpc_config[] = {
- [TYPE_C_PORT_0] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = MCHP_I2C_PORT0,
- .addr_flags = FUSB307_I2C_ADDR_FLAGS,
- },
- .drv = &fusb307_tcpm_drv,
- },
- [TYPE_C_PORT_1] = {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = MCHP_I2C_PORT2,
- .addr_flags = FUSB307_I2C_ADDR_FLAGS,
- },
- .drv = &fusb307_tcpm_drv,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* USB MUX Configuration */
-const struct usb_mux usb_muxes[] = {
- [TYPE_C_PORT_0] = {
- .usb_port = TYPE_C_PORT_0,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
- [TYPE_C_PORT_1] = {
- .usb_port = TYPE_C_PORT_1,
- .driver = &virtual_usb_mux_driver,
- .hpd_update = &virtual_hpd_update,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == CONFIG_USB_PD_PORT_MAX_COUNT);
-
-/* I2C ports */
-const struct i2c_port_t i2c_ports[] = {
- /*
- * Port-80 Display, Charger, Battery, IO-expanders, EEPROM,
- * IMVP9, AUX-rail, power-monitor.
- */
- [I2C_CHAN_BATT_CHG] = {
- .name = "batt_chg",
- .port = MCHP_I2C_PORT4,
- .kbps = 100,
- .scl = GPIO_I2C02_SCL,
- .sda = GPIO_I2C02_SDA,
- },
- /* other I2C devices */
- [I2C_CHAN_MISC] = {
- .name = "misc",
- .port = MCHP_I2C_PORT5,
- .kbps = 100,
- .scl = GPIO_I2C00_SCL,
- .sda = GPIO_I2C00_SDA,
- },
- [I2C_CHAN_TCPC_0] = {
- .name = "tcpci0",
- .port = MCHP_I2C_PORT0,
- .kbps = 100,
- .scl = GPIO_I2C04_SCL,
- .sda = GPIO_I2C04_SDA,
- },
- [I2C_CHAN_TCPC_1] = {
- .name = "tcpci1",
- .port = MCHP_I2C_PORT2,
- .kbps = 100,
- .scl = GPIO_I2C05_SCL,
- .sda = GPIO_I2C05_SDA,
- }
-};
-BUILD_ASSERT(ARRAY_SIZE(i2c_ports) == I2C_CHAN_COUNT);
-const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports);
-
-/* Charger Chips */
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_CHARGER,
- .i2c_addr_flags = ISL9241_ADDR_FLAGS,
- .drv = &isl9241_drv,
- },
-};
-
-static void sklrvp_init(void)
-{
- int extpwr = extpower_is_present();
-
- /* Provide AC status to the PCH */
- CPRINTS("Set PCH_ACOK = %d", extpwr);
- gpio_set_level(GPIO_PCH_ACOK, extpwr);
-}
-DECLARE_HOOK(HOOK_INIT, sklrvp_init, HOOK_PRIO_DEFAULT);
-
-static void sklrvp_interrupt_init(void)
-{
- /* Enable ALL_SYS_PWRGD interrupt */
- CPUTS("IEN ALL_SYS_PWRGD");
- gpio_enable_interrupt(GPIO_ALL_SYS_PWRGD);
-}
-DECLARE_HOOK(HOOK_INIT, sklrvp_interrupt_init, HOOK_PRIO_DEFAULT);
-
-/* Will this work for SKL-RVP */
-/******************************************************************************/
-/* PWROK signal configuration */
-/*
- * SKL with MCHP EVB uses EC to handle ALL_SYS_PWRGD signal.
- * MEC170x/MEC152x connected to SKL/KBL RVP3 reference board
- * is required to monitor ALL_SYS_PWRGD and drive SYS_RESET_L
- * after a 10 to 100 ms delay.
- */
-#ifdef CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-
-static void board_all_sys_pwrgd(void)
-{
- int allsys_in = gpio_get_level(GPIO_ALL_SYS_PWRGD);
- int allsys_out = gpio_get_level(GPIO_SYS_RESET_L);
-
- if (allsys_in == allsys_out)
- return;
-
- CPRINTS("ALL_SYS_PWRGD=%d SYS_RESET_L=%d", allsys_in, allsys_out);
-
- /*
- * Wait at least 10 ms between power signals going high
- */
- if (allsys_in)
- msleep(100);
-
- if (!allsys_out) {
- gpio_set_level(GPIO_SYS_RESET_L, allsys_in);
- /* Force fan on for kabylake RVP */
- gpio_set_level(GPIO_EC_FAN1_PWM, 1);
- CPRINTS("Set SYS_RESET_L = %d", allsys_in);
- }
-}
-DECLARE_DEFERRED(board_all_sys_pwrgd);
-
-void board_all_sys_pwrgd_interrupt(enum gpio_signal signal)
-{
- CPUTS("ISR ALL_SYS_PWRGD");
- hook_call_deferred(&board_all_sys_pwrgd_data, 0);
-}
-#endif /* #ifdef CONFIG_BOARD_HAS_ALL_SYS_PWRGD */
-
-/*
- * Returns board information (board id[7:0] and Fab id[15:8]) on success
- * -1 on error.
- */
-int board_get_version(void)
-{
- int port0, port1;
- int fab_id, board_id, bom_id;
-
- if (ioexpander_read_intelrvp_version(&port0, &port1))
- return -1;
- /*
- * Port0: bit 0 - BOM ID(2)
- * bit 2:1 - FAB ID(1:0) + 1
- * Port1: bit 7:6 - BOM ID(1:0)
- * bit 5:0 - BOARD ID(5:0)
- */
- bom_id = ((port1 & 0xC0) >> 6) | ((port0 & 0x01) << 2);
- fab_id = ((port0 & 0x06) >> 1) + 1;
- board_id = port1 & 0x3F;
-
- CPRINTS("BID:0x%x, FID:0x%x, BOM:0x%x", board_id, fab_id, bom_id);
-
- return board_id | (fab_id << 8);
-}
-
-#ifdef CONFIG_BOARD_PRE_INIT
-/*
- * Used to enable JTAG debug during development.
- * NOTE: UART2_TX on the same pin as SWV(JTAG_TDO).
- * If UART2 is used for EC console you cannot enable SWV.
- * For no SWV change mode to MCHP_JTAG_MODE_SWD.
- * For low power idle testing enable GPIO060 as function 2(48MHZ_OUT)
- * to check PLL is turning off in heavy sleep. Note, do not put GPIO060
- * in gpio.inc
- * GPIO060 is port 1 bit[16].
- */
-void board_config_pre_init(void)
-{
-#ifdef CONFIG_CHIPSET_DEBUG
- MCHP_EC_JTAG_EN = MCHP_JTAG_ENABLE + MCHP_JTAG_MODE_SWD;
-#endif
-
-#if defined(CONFIG_LOW_POWER_IDLE) && defined(CONFIG_MCHP_48MHZ_OUT)
- gpio_set_alternate_function(1, 0x10000, 2);
-#endif
-}
-#endif /* #ifdef CONFIG_BOARD_PRE_INIT */
-
-
-/*
- * 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);
-}
-
-/* SPI devices */
-const struct spi_device_t spi_devices[] = {
- { QMSPI0_PORT, 4, GPIO_QMSPI_CS0},
-};
-const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices);
-
-/*
- * 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);
-}
-
-#ifdef CONFIG_USBC_VCONN
-void board_pd_vconn_ctrl(int port, enum usbpd_cc_pin cc_pin, int enabled)
-{
-#ifndef CONFIG_USBC_PPC_VCONN
- /*
- * TODO: MCHP EC does not have built-in TCPC. Does external
- * I2C based TCPC need this?
- */
-#endif
-}
-#endif
-
diff --git a/board/sklrvp_mchp1723/board.h b/board/sklrvp_mchp1723/board.h
deleted file mode 100644
index 4e9518a439..0000000000
--- a/board/sklrvp_mchp1723/board.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/* Copyright 2021 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.
- */
-
-/*
- * Intel SKL RVP3 fly wired to MEC1723 EVB board-specific configuration
- * Microchip Evaluation Board (EVB) with MEC1723-SZ (144-pin)
- * processor card.
- * SKL RVP3 has Kabylake silicon.
- */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-/* Use UART0 for EC console */
-#undef CONFIG_UART_CONSOLE
-#define CONFIG_UART_CONSOLE 0
-
-/*
- * Initial board bring-up and prevent power button task from
- * generating event to exit G3 state.
- */
-/* #define CONFIG_BRINGUP */
-
-/*
- * Debug on EVB with CONFIG_CHIPSET_DEBUG
- * Keep WDG disabled and JTAG enabled.
- * CONFIG_BOARD_PRE_INIT enables JTAG early
- * #define CONFIG_CHIPSET_DEBUG
- */
-#define CONFIG_CHIPSET_DEBUG /* Enable JTAG/SWD */
-#ifdef CONFIG_CHIPSET_DEBUG
-#ifndef CONFIG_BOARD_PRE_INIT
-#define CONFIG_BOARD_PRE_INIT
-#endif
-#endif
-
-/*
- * DEBUG: Add CRC32 in last 4 bytes of EC_RO/RW binaries
- * in SPI. LFW will use DMA CRC32 HW to check data integrity.
- * #define CONFIG_MCHP_LFW_DEBUG
- */
-
-
-/*
- * Override Boot-ROM JTAG mode
- * 0x01 = 4-pin standard JTAG
- * 0x03 = ARM 2-pin SWD + 1-pin SWV
- * 0x05 = ARM 2-pin SWD no SWV. Required if UART2 is used.
- */
-/* #define CONFIG_MCHP_JTAG_MODE 0x05 */
-
-/* debug MCHP eSPI */
-/* #define CONFIG_ESPI_DEBUG */
-
-/*
- * Enable Trace FIFO Debug port
- * When this is undefined all TRACEn() and tracen()
- * macros are defined as blank.
- * Uncomment this define to enable these messages.
- * Only enable if GPIO's 0171 & 0171 are available therefore
- * define this at the board level.
- */
-/* #define CONFIG_MCHP_TFDP */
-
-/*
- * Enable MCHP specific GPIO EC UART commands
- * for debug.
- */
-/* #define CONFIG_MEC_GPIO_EC_CMDS */
-
-/*
- * Enable CPRINT in chip eSPI module
- * and EC UART test command.
- */
-/* #define CONFIG_MCHP_ESPI_DEBUG */
-
-/*
- * DEBUG
- * Disable ARM Cortex-M4 write buffer so
- * exceptions become synchronous.
- *
- * #define CONFIG_DEBUG_DISABLE_WRITE_BUFFER
- */
-
-/*
- * DEBUG: Configure MEC152x GPIO060 as 48MHZ_OUT to
- * verify & debug clock is shutdown in heavy sleep.
- */
-/* #define CONFIG_MCHP_48MHZ_OUT */
-
-/*
- * EVB eSPI test mode (no eSPI master connected)
- * #define EVB_NO_ESPI_TEST_MODE
- */
-
-/*
- * Enable board specific ISR on ALL_SYS_PWRGD signal.
- * Requires for handling Kabylake/Skylake RVP3 board's
- * ALL_SYS_PWRGD signal.
- */
-#define CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-
-/*
- * Maximum clock frequency eSPI EC advertises
- * Values in MHz are 20, 25, 33, 50, and 66
- */
-/* SKL/KBL + EVB fly-wire hook up only supports 20MHz */
-#define CONFIG_HOSTCMD_ESPI_EC_MAX_FREQ MCHP_ESPI_CAP1_MAX_FREQ_20M
-
-
-/*
- * EC eSPI advertises IO lanes
- * 0 = Single
- * 1 = Single and Dual
- * 2 = Single and Quad
- * 3 = Single, Dual, and Quad
- */
-/* KBL + EVB fly-wire hook up only support Single mode */
-#define CONFIG_HOSTCMD_ESPI_EC_MODE MCHP_ESPI_CAP1_SINGLE_MODE
-
-/*
- * Bit map of eSPI channels EC advertises
- * bit[0] = 1 Peripheral channel
- * bit[1] = 1 Virtual Wire channel
- * bit[2] = 1 OOB channel
- * bit[3] = 1 Flash channel
- */
-#define CONFIG_HOSTCMD_ESPI_EC_CHAN_BITMAP MCHP_ESPI_CAP0_ALL_CHAN_SUPP
-
-/* MCHP EC variant */
-#define VARIANT_INTELRVP_EC_MCHP
-
-/* MECC configuration */
-#define CONFIG_INTEL_RVP_MECC_VERSION_0_9
-
-/* USB MUX */
-#define CONFIG_USB_MUX_VIRTUAL
-
-/* Not using EC FAN control */
-#undef CONFIG_FANS
-#define BOARD_FAN_MIN_RPM 3000
-#define BOARD_FAN_MAX_RPM 10000
-
-/* Temperature sensor module has dependency on EC fan control */
-#undef CONFIG_TEMP_SENSOR
-
-#include "baseboard.h"
-
-/*
- * Configuration after inclusion of base board.
- * baseboard enables CONFIG_LOW_POWER_IDLE.
- * Disable here.
- * #undef CONFIG_LOW_POWER_IDLE
- */
-
-#define CONFIG_CHIPSET_SKYLAKE
-#define GPIO_PG_EC_RSMRST_ODL GPIO_RSMRST_L_PGOOD
-#define GPIO_PCH_DSW_PWROK GPIO_EC_PCH_DSW_PWROK
-#define GPIO_PG_EC_ALL_SYS_PWRGD GPIO_ALL_SYS_PWRGD
-#define CONFIG_BATTERY_PRESENT_GPIO GPIO_EC_BATT_PRES_L
-#define GMR_TABLET_MODE_GPIO_L GPIO_TABLET_MODE_L
-#define GPIO_BAT_LED_RED_L GPIO_BAT_LED_GREEN_L
-#define GPIO_PWR_LED_WHITE_L GPIO_AC_LED_GREEN_L
-/* MEC152x EVB pin used to enable SKL fan(s) */
-#define GPIO_FAN_POWER_EN GPIO_EC_FAN1_PWM
-
-
-/* Charger */
-#define CONFIG_CHARGER_ISL9241
-
-/* DC Jack charge ports */
-#undef CONFIG_DEDICATED_CHARGE_PORT_COUNT
-#define CONFIG_DEDICATED_CHARGE_PORT_COUNT 1
-
-/* USB ports */
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
-#define DEDICATED_CHARGE_PORT 2
-
-#ifdef CONFIG_USBC_VCONN
- #define CONFIG_USBC_VCONN_SWAP
- /* delay to turn on/off vconn */
- #define PD_VCONN_SWAP_DELAY 5000 /* us */
-#endif
-
-/*
- * USB PD configuration using FUSB307 chip on I2C as
- * an example.
- */
-#define CONFIG_USB_PD_DUAL_ROLE
-#define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-#define CONFIG_USB_PD_TCPM_FUSB307
-#define CONFIG_USB_PD_TCPM_TCPCI
-
-#define I2C_PORT_CHARGER MCHP_I2C_PORT2
-#define I2C_PORT_BATTERY MCHP_I2C_PORT2
-#define I2C_PORT_PCA9555_BOARD_ID_GPIO MCHP_I2C_PORT2
-#define I2C_PORT_PORT80 MCHP_I2C_PORT2
-#define I2C_ADDR_PCA9555_BOARD_ID_GPIO 0x22
-#define PORT80_I2C_ADDR MAX695X_I2C_ADDR1_FLAGS
-
-/*
- * External parallel crystal between XTAL1 and XTAL2 pins.
- * #define CONFIG_CLOCK_SRC_EXTERNAL
- * #define CONFIG_CLOCK_CRYSTAL
- * External single ended 32KHz 50% duty cycle input clock.
- * #define CONFIG_CLOCK_SRC_EXTERNAL
- * #undef CONFIG_CLOCK_CRYSTAL
- * Use internal silicon 32KHz oscillator
- * #undef CONFIG_CLOCK_SRC_EXTERNAL
- * CONFIG_CLOCK_CRYSTAL is a don't care
- */
-#undef CONFIG_CLOCK_SRC_EXTERNAL
-
-/*
- * Google uses smaller flashes on chromebook boards
- * MCHP SPI test dongle for EVB uses 16MB W25Q128F
- * Configure for smaller flash is OK for testing except
- * for SPI flash lock bit.
- */
-#define CONFIG_FLASH_SIZE_BYTES 524288
-#define CONFIG_SPI_FLASH_W25X40
-
-/*
- * Enable extra SPI flash and generic SPI
- * commands via EC UART
- */
-#define CONFIG_CMD_SPI_FLASH
-#define CONFIG_CMD_SPI_XFER
-
-
-/* MEC172x has two GP-SPI controllers. Not used on this board */
-#undef CONFIG_MCHP_GPSPI
-
-
-#ifndef __ASSEMBLER__
-
-enum sklrvp_charge_ports {
- TYPE_C_PORT_0,
- TYPE_C_PORT_1,
-};
-
-enum sklrvp_i2c_channel {
- I2C_CHAN_BATT_CHG,
- I2C_CHAN_MISC,
- I2C_CHAN_TCPC_0,
- I2C_CHAN_TCPC_1,
- I2C_CHAN_COUNT,
-};
-
-enum battery_type {
- BATTERY_SIMPLO_SMP_HHP_408,
- BATTERY_SIMPLO_SMP_CA_445,
- BATTERY_TYPE_COUNT,
-};
-
-#ifdef CONFIG_LOW_POWER_IDLE
-void board_prepare_for_deep_sleep(void);
-void board_resume_from_deep_sleep(void);
-#endif
-
-#ifdef CONFIG_BOARD_EC_HANDLES_ALL_SYS_PWRGD
-void board_all_sys_pwrgd_interrupt(enum gpio_signal signal);
-#endif
-
-int board_get_version(void);
-
-/* MCHP we need to define this for use by baseboard */
-#define PD_MAX_POWER_MW 60000
-
-#endif /* !__ASSEMBLER__ */
-
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/sklrvp_mchp1723/build.mk b/board/sklrvp_mchp1723/build.mk
deleted file mode 100644
index 1a8cf34a09..0000000000
--- a/board/sklrvp_mchp1723/build.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- makefile -*-
-# Copyright 2021 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.
-#
-# Intel SKL-RVP fly wired to MEC152x EVB board-specific configuration
-#
-
-# the IC is Microchip MEC172x 416 KB total SRAM
-# MEC1723SZ variant is 144 pin, loads from external SPI flash
-# MEC1727SZ variant is 144 pin, loads from 512KB internal SPI flash
-# external SPI is 512KB
-# external clock is crystal
-CHIP:=mchp
-CHIP_FAMILY:=mec172x
-CHIP_VARIANT:=mec1723sz
-CHIP_SPI_SIZE_KB:=512
-BASEBOARD:=intelrvp
-
-board-y=board.o
-board-$(CONFIG_BATTERY_SMART)+=battery.o
diff --git a/board/sklrvp_mchp1723/ec.tasklist b/board/sklrvp_mchp1723/ec.tasklist
deleted file mode 100644
index b264f6522a..0000000000
--- a/board/sklrvp_mchp1723/ec.tasklist
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright 2021 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.
- */
-
-/*
- * Intel SKL-RVP MCHP MEC152x EVB board-specific configuration.
- * 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(CHARGER, charger_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_NOTEST(CHIPSET, chipset_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \
- TASK_ALWAYS(HOSTCMD, host_command_task, NULL, LARGER_TASK_STACK_SIZE) \
- TASK_ALWAYS(CONSOLE, console_task, NULL, VENTI_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, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, TASK_STACK_SIZE)
-
diff --git a/board/sklrvp_mchp1723/gpio.inc b/board/sklrvp_mchp1723/gpio.inc
deleted file mode 100644
index d3c3336f10..0000000000
--- a/board/sklrvp_mchp1723/gpio.inc
+++ /dev/null
@@ -1,259 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2021 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.
- */
-
-/*
- * mec172x EVB board GPIO pins
- * !!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- * MCHP MEC data sheet data sheet GPIO numbers are OCTAL.
- * Original glados MEC1322 used these octal numbers as base 10.
- * MCHP MEC and its boards will use OCTAL therefore make sure all
- * numbers used below are written as C OCTAL with a leading 0.
- * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- *
- */
-/* NOTE: MEC172x JTAG
- * GPIO_0145 is JTAG_TDI
- * GPIO_0146 is JTAG_TDO (SWV)
- * GPIO_0147 is JTAG_CLK (SWD_CLK)
- * GPIO_0150 is JTAG_TMS (SWD_IO)
- */
-/* NOTE: MEC172x SZ(144 pin) and LJ(176 pin) do not implement:
- * 0037, 0077, 0136, 0163, 0164, 0167, 0176, 0177, 0237, 0247, 0251, 0252,
- * 0256, 0257
- * SZ 144-pin package does not implement:
- * 0001, 0005, 0006, 0041, 0110, 0111, 0133 - 0135, 0160, 0166, 0172 - 0174,
- * 0210 - 0217, 0220, 0225, 0230 - 0236, 0250, 0253
- */
-
-/* include common gpio.inc under chip/mchp/lfw/... */
-#include "chip/mchp/lfw/gpio.inc"
-
-#define GPIO_BOTH_EDGES_PU (GPIO_INT_BOTH | GPIO_PULL_UP)
-#define GPIO_KB_OUTPUT_COL2 (GPIO_OUT_LOW)
-#define GPIO_KB_INPUT (GPIO_INPUT | GPIO_PULL_UP)
-#define GPIO_KB_OUTPUT (GPIO_ODR_HIGH)
-
-/* MEC172x Host interfaces are eSPI, SPI peripheral, or I2C */
-
-GPIO_INT(LID_OPEN, PIN(015), GPIO_INT_BOTH | GPIO_PULL_UP, lid_interrupt)
-
-
-GPIO_INT(AC_PRESENT, PIN(014), GPIO_INT_BOTH, extpower_interrupt)
-
-/* DC jack handled by intelrvp base board */
-GPIO_INT(DC_JACK_PRESENT, PIN(0244), GPIO_INT_BOTH, board_dc_jack_interrupt)
-
-/* Buffered power button input from PMIC / ROP_EC_PWR_BTN_L_R */
-GPIO_INT(POWER_BUTTON_L, PIN(023), GPIO_INT_BOTH, power_button_interrupt)
-
-/* RSMRST from PMIC */
-GPIO_INT(RSMRST_L_PGOOD, PIN(0126), GPIO_INT_BOTH, power_signal_interrupt)
-
-GPIO_INT(PCH_SLP_SUS_L, PIN(0175), GPIO_INT_BOTH, power_signal_interrupt)
-
-GPIO_INT(PMIC_INT_L, PIN(0161), GPIO_INT_FALLING, power_signal_interrupt)
-
-/* Delayed PWR_OK from PMIC */
-GPIO_INT(PMIC_DPWROK, PIN(0151), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* Handle ALL_SYS_PWRGD from SKL RVP3 board */
-GPIO_INT(ALL_SYS_PWRGD, PIN(057), GPIO_INT_BOTH, board_all_sys_pwrgd_interrupt)
-
-
-GPIO_INT(TABLET_MODE_L, PIN(0100), GPIO_INT_BOTH | GPIO_PULL_UP, \
- gmr_tablet_switch_isr)
-
-
-/* UART0 RX input wake event */
-GPIO_INT(UART0_RX, PIN(0105), GPIO_INT_BOTH_DSLEEP | GPIO_PULL_UP, \
- uart_deepsleep_interrupt)
-
-/*
- * NOTE: GPIO 0101 and 0102 are BGPO control by default. Chip level
- * GPIO code will switch these pins to GPIO mode. BGPO default state
- * is push-pull drive low.
- */
-GPIO_INT(USB_C0_VBUS_INT, PIN(0101), GPIO_INT_BOTH, tcpc_alert_event)
-GPIO_INT(USB_C1_VBUS_INT, PIN(0102), GPIO_INT_BOTH, tcpc_alert_event)
-
-/*---- GPIO Pins not interrupt enabled ----*/
-
-GPIO(VOLUME_UP_L, PIN(034), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(VOLUME_DOWN_L, PIN(035), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(WP_L, PIN(036), GPIO_INPUT)
-
-/* PCH and CPU pins */
-
-GPIO(PCH_SLP_S0_L, PIN(0222), GPIO_INPUT | GPIO_PULL_DOWN)
-GPIO(PCH_PWRBTN_L, PIN(043), GPIO_OUTPUT)
-GPIO(PCH_SEC_DISABLE_L, PIN(022), GPIO_OUT_HIGH)
-
-GPIO(PCH_WAKE_L, PIN(0255), GPIO_ODR_HIGH)
-GPIO(PCH_ACOK, PIN(0246), GPIO_OUT_LOW)
-GPIO(PCH_RSMRST_L, PIN(012), GPIO_OUT_LOW)
-GPIO(PCH_RTCRST, PIN(052), GPIO_OUT_LOW)
-
-GPIO(CPU_PROCHOT, PIN(0171), GPIO_OUT_LOW)
-
-GPIO(SYS_RESET_L, PIN(025), GPIO_OUT_LOW)
-
-GPIO(PMIC_SLP_SUS_L, PIN(033), GPIO_OUT_LOW)
-
-GPIO(EC_PCH_DSW_PWROK, PIN(013), GPIO_OUT_LOW)
-
-GPIO(BATLOW_L_PMIC_LDO_EN, PIN(0240), GPIO_INPUT)
-
-/*
- * I2C pins - these will be reconfigured for alternate function below
- * SZ package does not implement I2C11 pins.
- * Ports 0, 2 - 6, 9, 10, 12, 15 on VTR1 (3.3V only)
- * Ports 1, 7, 8 on VTR2 (auto-detect 3.3V or 1.8V)
- * Port 11 SDA on VBAT and SCL on VTR1
- * Ports 13, 14 on VTR3 (1.8V)
- * MEC172x has five I2C controllers. Assign one port per controller.
- */
-GPIO(I2C00_SCL, PIN(004), GPIO_INPUT)
-GPIO(I2C00_SDA, PIN(003), GPIO_INPUT)
-GPIO(I2C02_SCL, PIN(0155), GPIO_INPUT)
-GPIO(I2C02_SDA, PIN(0154), GPIO_INPUT)
-GPIO(I2C03_SCL, PIN(010), GPIO_INPUT)
-GPIO(I2C03_SDA, PIN(007), GPIO_INPUT)
-GPIO(I2C04_SCL, PIN(0144), GPIO_INPUT)
-GPIO(I2C04_SDA, PIN(0143), GPIO_INPUT)
-GPIO(I2C05_SCL, PIN(0142), GPIO_INPUT)
-GPIO(I2C05_SDA, PIN(0141), GPIO_INPUT)
-
-/* usb related */
-GPIO(EN_PP3300_A, PIN(0153), GPIO_OUT_LOW)
-GPIO(EN_PP5000, PIN(042), GPIO_OUT_LOW)
-GPIO(USB_C0_SRC_EN, PIN(0206), GPIO_OUT_LOW)
-GPIO(USB_C0_SNK_EN_L, PIN(0202), GPIO_ODR_LOW | GPIO_PULL_DOWN)
-GPIO(USB_C0_SRC_HI_ILIM, PIN(0205), GPIO_OUT_LOW)
-GPIO(USB_C1_SRC_EN, PIN(0226), GPIO_OUT_LOW)
-GPIO(USB_C1_SNK_EN_L, PIN(0140), GPIO_ODR_LOW | GPIO_PULL_DOWN)
-GPIO(USB_C1_SRC_HI_ILIM, PIN(0132), GPIO_OUT_LOW)
-
-
-/* Fan PWM output and TACH input. PROCHOT input */
-GPIO(EC_FAN1_TTACH, PIN(050), GPIO_INPUT | GPIO_PULL_UP)
-/* Fan PWM output - NC / testing only */
-GPIO(EC_FAN1_PWM, PIN(053), GPIO_OUT_LOW)
-
-/* prochot input from devices */
-GPIO(PLATFORM_EC_PROCHOT, PIN(051), GPIO_INPUT | GPIO_PULL_UP)
-
-/* Miscellaneous */
-GPIO(PWM_KBLIGHT, PIN(02), GPIO_OUT_LOW)
-GPIO(ENTERING_RW, PIN(0221), GPIO_OUT_LOW)
-GPIO(ENABLE_TOUCHPAD, PIN(0115), GPIO_OUT_LOW)
-GPIO(EC_BATT_PRES_L, PIN(0200), GPIO_INPUT)
-GPIO(WLAN_OFF_L, PIN(0245), GPIO_OUT_LOW)
-
-/* From lid sensor */
-GPIO(ENABLE_BACKLIGHT, PIN(024), GPIO_OUT_LOW)
-
-/* For LEDs */
-GPIO(BAT_LED_GREEN_L, PIN(0156), GPIO_OUT_HIGH)
-GPIO(AC_LED_GREEN_L, PIN(0157), GPIO_OUT_HIGH)
-
-/* Used in baseboard/intelrvp */
-GPIO(EC_SPI_OE_N, PIN(054), GPIO_OUT_LOW)
-
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
-/* KSO 1-3 Bank 1, Func1, bits 5-7 */
-GPIO(KBD_KSO2, PIN(046), GPIO_KB_OUTPUT_COL2)
-#endif
-
-/*---- Alternate functions GPIO definitions ----*/
-
-#if defined(CONFIG_CLOCK_SRC_EXTERNAL) && !defined(CONFIG_CLOCK_CRYSTAL)
-/* 32KHZ_IN = GPIO_0165(Bank=3, bit=21) Func1 */
-ALTERNATE(PIN_MASK(3, 0x200000), 1, MODULE_PMU, 0)
-#endif
-
-/* KB pins 8 x 13 */
-/*
- * KSO00 = GPIO_0040 Func2 bank 1 bit 0
- * KSO01 = GPIO_0045 Func1 bank 1 bit 5
- * KSO02 = GPIO_0046 Func1 bank 1 bit 6
- * KSO03 = GPIO_0047 Func1 bank 1 bit 7
- * KSO04 = GPIO_0107 Func2 bank 2 bit 7
- * KSO05 = GPIO_0112 Func1 bank 2 bit 10
- * KSO06 = GPIO_0113 Func1 bank 2 bit 11
- * KSO07 = GPIO_0120 Func1 bank 2 bit 16
- * KSO08 = GPIO_0121 Func2 bank 2 bit 17
- * KSO09 = GPIO_0122 Func2 bank 2 bit 18
- * KSO10 = GPIO_0123 Func2 bank 2 bit 19
- * KSO11 = GPIO_0124 Func2 bank 2 bit 20
- * KSO12 = GPIO_0125 Func2 bank 2 bit 21
- *
- * KSI0 = GPIO_0017 Func1 bank 0 bit 15
- * KSI1 = GPIO_0020 Func1 bank 0 bit 16
- * KSI2 = GPIO_0021 Func1 bank 0 bit 17
- * KSI3 = GPIO_0026 Func1 bank 0 bit 22
- * KSI4 = GPIO_0027 Func1 bank 0 bit 23
- * KSI5 = GPIO_0030 Func1 bank 0 bit 24
- * KSI6 = GPIO_0031 Func1 bank 0 bit 25
- * KSI7 = GPIO_0032 Func1 bank 0 bit 26
- */
-/* KSO 0 Bank 1, Func2, bit 0 */
-ALTERNATE(PIN_MASK(1, 0x01), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-
-#ifdef CONFIG_KEYBOARD_COL2_INVERTED
-/* KSO 1-3 Bank 1, Func1, bits 5-7 */
-ALTERNATE(PIN_MASK(1, 0xA0), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-#else
-/* KSO 1-3 Bank 1, Func1, bits 5-7 */
-ALTERNATE(PIN_MASK(1, 0xE0), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-#endif
-
-/* KSO 4, 8-12 Bank 2, Func2, bits 7, 17-21 */
-ALTERNATE(PIN_MASK(2, 0x003E0080), 2, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-/* KSO 5-7, Bank 2, Func1, bits 10-11, 16 */
-ALTERNATE(PIN_MASK(2, 0x00010C00), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_OUTPUT)
-
-/* KSI 0-7, Bank 0, Func1, bit 15-17, 22-26 */
-ALTERNATE(PIN_MASK(0, 0x07C38000), 1, MODULE_KEYBOARD_SCAN, GPIO_KB_INPUT)
-
-/*
- * ESPI_RESET# - GPIO_0061 Func 1, Bank 1 bit[17]
- * ESPI_ALERT# - GPIO_0063 Func 1, Bank 1 bit[19]
- * ESPI_CLK - GPIO_0065 Func 1, Bank 1 bit[21]
- * ESPI_CS# - GPIO_0066 Func 1, Bank 1 bit[22]
- * ESPI_IO0 - GPIO_0070 Func 1, Bank 1 bit[24]
- * ESPI_IO1 - GPIO_0071 Func 1, Bank 1 bit[25]
- * ESPI_IO2 - GPIO_0072 Func 1, Bank 1 bit[26]
- * ESPI_IO3 - GPIO_0073 Func 1, Bank 1 bit[27]
- */
-ALTERNATE(PIN_MASK(1, 0x0F6A0000), 1, MODULE_LPC, 0)
-
-/* I2C pins alternate functions for ports 0, 2-5
- * Configure I2C00-05 as I2C alternate function.
- * If board does not use external pull-ups then change GPIO flags
- * to enable internal pull-ups.
- * I2C00_SDA = GPIO_0003(Bank=0, bit=3) Func1
- * I2C00_SCL = GPIO_0004(Bank=0, bit=4) Func1
- * I2C02_SDA = GPIO_0154(Bank=3, bit=12) Func1
- * I2C02_SCL = GPIO_0155(Bank=3, bit=13) Func1
- * I2C03_SDA = GPIO_0007(Bank=0, bit=7) Func1
- * I2C03_SDL = GPIO_0010(Bank=0, bit=8) Func1
- * I2C04_SDA = GPIO_0143(Bank=3, bit=3) Func1
- * I2C04_SCL = GPIO_0144(Bank=3, bit=4) Func1
- * I2C05_SDA = GPIO_0141(Bank=3, bit=1) Func1
- * I2C05_SDL = GPIO_0142(Bank=3, bit=2) Func1
- */
-ALTERNATE(PIN_MASK(0, 0x00000198), 1, MODULE_I2C, GPIO_ODR_HIGH)
-ALTERNATE(PIN_MASK(3, 0x0000301E), 1, MODULE_I2C, GPIO_ODR_HIGH)
-
-/* ADC pins
- * ADC01 = GPIO_0201(Bank=4, bit=1) Func1
- * ADC03 = GPIO_0203(Bank=4, bit=3) Func1
- * ADC04 = GPIO_0204(Bank=4, bit=4) Func1
- * ADC07 = GPIO_0207(Bank=4, bit=7) Func1
- */
-ALTERNATE(PIN_MASK(4, 0x009a), 1, MODULE_ADC, GPIO_ANALOG)
-
diff --git a/board/sklrvp_mchp1723/vif_override.xml b/board/sklrvp_mchp1723/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/sklrvp_mchp1723/vif_override.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<!-- Add VIF field overrides here. See genvif.c and the Vendor Info File
- Definition from the USB-IF.
--->
diff --git a/common/keyboard_scan.c b/common/keyboard_scan.c
index a1e17bc61d..6584a55d84 100644
--- a/common/keyboard_scan.c
+++ b/common/keyboard_scan.c
@@ -376,47 +376,6 @@ static int check_runtime_keys(const uint8_t *state)
int num_press = 0;
int c;
-#ifdef BOARD_SAMUS
- int16_t chg_override;
-
- /*
- * TODO(crosbug.com/p/34850): remove these hot-keys for samus, should
- * be done at higher level than this.
- */
- /*
- * On samus, ctrl + search + 0|1|2 sets the active charge port
- * by sending the charge override host command. Should only be sent
- * when chipset is in S0. Note that 'search' and '1' keys are on
- * the same column.
- */
- if ((state[KEYBOARD_COL_LEFT_CTRL] == KEYBOARD_MASK_LEFT_CTRL ||
- state[KEYBOARD_COL_RIGHT_CTRL] == KEYBOARD_MASK_RIGHT_CTRL) &&
- ((state[KEYBOARD_COL_SEARCH] & KEYBOARD_MASK_SEARCH) ==
- KEYBOARD_MASK_SEARCH) &&
- chipset_in_state(CHIPSET_STATE_ON)) {
- if (state[KEYBOARD_COL_KEY_0] == KEYBOARD_MASK_KEY_0) {
- /* Charge from neither port */
- chg_override = -2;
- pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
- &chg_override, 2, NULL, 0);
- return 0;
- } else if (state[KEYBOARD_COL_KEY_1] ==
- (KEYBOARD_MASK_KEY_1 | KEYBOARD_MASK_SEARCH)) {
- /* Charge from port 0 (left side) */
- chg_override = 0;
- pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
- &chg_override, 2, NULL, 0);
- return 0;
- } else if (state[KEYBOARD_COL_KEY_2] == KEYBOARD_MASK_KEY_2) {
- /* Charge from port 1 (right side) */
- chg_override = 1;
- pd_host_command(EC_CMD_PD_CHARGE_PORT_OVERRIDE, 0,
- &chg_override, 2, NULL, 0);
- return 0;
- }
- }
-#endif
-
/*
* All runtime key combos are (right or left ) alt + volume up + (some
* key NOT on the same col as alt or volume up )
diff --git a/common/lb_common.c b/common/lb_common.c
index 08783997fa..019e0e254f 100644
--- a/common/lb_common.c
+++ b/common/lb_common.c
@@ -153,15 +153,6 @@ static inline uint8_t controller_read(int ctrl_num, uint8_t reg)
#define MAX_GREEN 0x30
#define MAX_BLUE 0x67
#endif
-#if defined(BOARD_SAMUS)
-/* Samus uses completely different LEDs, so the numbers are different. The
- * Samus LEDs can handle much higher currents, but these constants were
- * calibrated to provide uniform intensity at the level used by Link.
- * See crosbug.com/p/33017 before making any changes. */
-#define MAX_RED 0x34
-#define MAX_GREEN 0x2c
-#define MAX_BLUE 0x40
-#endif
#ifdef BOARD_HOST
/* For testing only */
#define MAX_RED 0xff
@@ -199,9 +190,6 @@ static const uint8_t led_to_ctrl[] = { 1, 1, 0, 0 };
#ifdef BOARD_BDS
static const uint8_t led_to_isc[] = { 0x18, 0x15, 0x18, 0x15 };
#endif
-#ifdef BOARD_SAMUS
-static const uint8_t led_to_isc[] = { 0x15, 0x18, 0x15, 0x18 };
-#endif
#ifdef BOARD_HOST
/* For testing only */
static const uint8_t led_to_isc[] = { 0x15, 0x18, 0x15, 0x18 };
diff --git a/driver/charger/bq24773.c b/driver/charger/bq24773.c
index d72faa3bed..d242f105c6 100644
--- a/driver/charger/bq24773.c
+++ b/driver/charger/bq24773.c
@@ -244,22 +244,13 @@ static enum ec_error_list bq2477x_post_init(int chgnum)
if (rv)
return rv;
-#ifndef BOARD_SAMUS
/* Turn off PROCHOT warning */
rv = raw_read16(chgnum, REG_PROCHOT_OPTION1, &option);
if (rv)
return rv;
option &= ~PROCHOT_OPTION1_SELECTOR_MASK;
-
rv = raw_write16(chgnum, REG_PROCHOT_OPTION1, option);
-#else
- /* On Samus, use PROCHOT warning to detect charging problems */
- /* Turn on PROCHOT warning */
- rv = raw_write16(chgnum, REG_PROCHOT_OPTION1, 0x8120);
- /* Set PROCHOT ICRIT warning when IADP is >120% of IDPM */
- rv |= raw_write16(chgnum, REG_PROCHOT_OPTION0, 0x1b54);
-#endif
if (rv)
return rv;
diff --git a/util/flash_ec b/util/flash_ec
index 6a91fd08e7..9b55da1ad8 100755
--- a/util/flash_ec
+++ b/util/flash_ec
@@ -51,7 +51,6 @@ die() {
BOARDS_IT83XX=(
adlrvpm_ite
adlrvpp_ite
- glkrvp_ite
it83xx_evb
jslrvp_ite
reef_it8320
@@ -83,7 +82,6 @@ BOARDS_STM32=(
pit
plankton
rainier
- samus_pd
strago_pd
zinger
)
@@ -123,7 +121,6 @@ BOARDS_NPCX_7M7X_JTAG=(
)
BOARDS_NPCX_SPI=(
- glkrvp
)
BOARDS_SPI_1800MV=(
@@ -135,7 +132,6 @@ BOARDS_RAIDEN=(
coral
eve
fizz
- flapjack
kukui
nami
nautilus
@@ -368,7 +364,7 @@ fi
# Servo variables management
case "${BOARD}" in
chocodile_bec ) MCU="usbpd" ;;
- oak_pd|samus_pd|strago_pd ) MCU="usbpd" ;;
+ oak_pd|strago_pd ) MCU="usbpd" ;;
chell_pd|glados_pd ) MCU="usbpd" ;;
bloonchipper|dartmonkey|hatch_fp|nami_fp|nocturne_fp ) MCU="fpmcu" ;;
dingdong|hoho|twinkie ) DUT_CONTROL_CMD=( "true" ); MCU="ec" ;;