summaryrefslogtreecommitdiff
path: root/board/madoo
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /board/madoo
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14633.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'board/madoo')
-rw-r--r--board/madoo/battery.c183
-rw-r--r--board/madoo/board.c625
-rw-r--r--board/madoo/board.h165
-rw-r--r--board/madoo/build.mk14
-rw-r--r--board/madoo/cbi_ssfc.c36
-rw-r--r--board/madoo/cbi_ssfc.h61
-rw-r--r--board/madoo/ec.tasklist25
-rw-r--r--board/madoo/gpio.inc145
-rw-r--r--board/madoo/led.c182
-rw-r--r--board/madoo/usb_pd_policy.c61
-rw-r--r--board/madoo/vif_override.xml3
11 files changed, 0 insertions, 1500 deletions
diff --git a/board/madoo/battery.c b/board/madoo/battery.c
deleted file mode 100644
index 92afe149f3..0000000000
--- a/board/madoo/battery.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/* Copyright 2020 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 information
- */
-
-#include "battery.h"
-#include "battery_fuel_gauge.h"
-#include "common.h"
-#include "ec_commands.h"
-#include "extpower.h"
-
-/* Shutdown mode parameter to write to manufacturer access register */
-#define SB_SHUTDOWN_DATA 0x0010
-
-const struct board_batt_params board_battery_info[] = {
- [BATTERY_SIMPLO_HIGHPOWER] = {
- .fuel_gauge = {
- .manuf_name = "333-1D-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .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,
- },
- },
- [BATTERY_SIMPLO_COS] = {
- .fuel_gauge = {
- .manuf_name = "333-1C-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .voltage_normal = 7600,
- .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,
- },
- },
- [BATTERY_CosMX] = {
- .fuel_gauge = {
- .manuf_name = "333-AC-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .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,
- },
- },
- [BATTERY_SAMSUNG_SDI] = {
- .fuel_gauge = {
- .manuf_name = "333-54-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .voltage_normal = 7600,
- .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,
- },
- },
- [BATTERY_DYNAPACK_COS] = {
- .fuel_gauge = {
- .manuf_name = "333-2C-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .voltage_normal = 7600,
- .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,
- },
- },
- [BATTERY_DYNAPACK_ATL] = {
- .fuel_gauge = {
- .manuf_name = "333-27-DA-A",
- .ship_mode = {
- .reg_addr = 0x00,
- .reg_data = { 0x0010, 0x0010 },
- },
- .fet = {
- .mfgacc_support = 1,
- .reg_addr = 0x0,
- .reg_mask = 0x6000,
- .disconnect_val = 0x6000,
- },
- },
- .batt_info = {
- .voltage_max = 8800, /* mV */
- .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,
- },
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(board_battery_info) == BATTERY_TYPE_COUNT);
-
-const enum battery_type DEFAULT_BATTERY_TYPE = BATTERY_SIMPLO_HIGHPOWER;
diff --git a/board/madoo/board.c b/board/madoo/board.c
deleted file mode 100644
index 1c989b859e..0000000000
--- a/board/madoo/board.c
+++ /dev/null
@@ -1,625 +0,0 @@
-/* Copyright 2020 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.
- */
-
-/* Madoo board-specific configuration */
-
-#include "adc_chip.h"
-#include "button.h"
-#include "cbi_fw_config.h"
-#include "charge_manager.h"
-#include "charge_state_v2.h"
-#include "charger.h"
-#include "chipset.h"
-#include "common.h"
-#include "compile_time_macros.h"
-#include "driver/accel_bma2x2.h"
-#include "driver/accelgyro_bmi_common.h"
-#include "driver/accelgyro_lsm6dsm.h"
-#include "driver/bc12/pi3usb9201.h"
-#include "driver/charger/isl923x.h"
-#include "driver/retimer/nb7v904m.h"
-#include "driver/tcpm/raa489000.h"
-#include "driver/tcpm/tcpci.h"
-#include "driver/temp_sensor/thermistor.h"
-#include "driver/usb_mux/pi3usb3x532.h"
-#include "extpower.h"
-#include "gpio.h"
-#include "hooks.h"
-#include "i2c.h"
-#include "keyboard_scan.h"
-#include "keyboard_8042_sharedlib.h"
-#include "lid_switch.h"
-#include "motion_sense.h"
-#include "power.h"
-#include "power_button.h"
-#include "pwm.h"
-#include "pwm_chip.h"
-#include "stdbool.h"
-#include "switch.h"
-#include "system.h"
-#include "tablet_mode.h"
-#include "task.h"
-#include "temp_sensor.h"
-#include "usb_mux.h"
-#include "usb_pd.h"
-#include "usb_pd_tcpm.h"
-
-#define CPRINTS(format, args...) cprints(CC_USBCHARGE, format, ## args)
-#define CPRINTF(format, args...) cprintf(CC_USBCHARGE, format, ## args)
-
-#define INT_RECHECK_US 5000
-
-/* C0 interrupt line shared by BC 1.2 and charger */
-static void check_c0_line(void);
-DECLARE_DEFERRED(check_c0_line);
-
-static void notify_c0_chips(void)
-{
- /*
- * The interrupt line is shared between the TCPC and BC 1.2 detection
- * chip. Therefore we'll need to check both ICs.
- */
- schedule_deferred_pd_interrupt(0);
- task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12);
-}
-
-static void check_c0_line(void)
-{
- /*
- * If line is still being held low, see if there's more to process from
- * one of the chips
- */
- if (!gpio_get_level(GPIO_USB_C0_INT_ODL)) {
- notify_c0_chips();
- hook_call_deferred(&check_c0_line_data, INT_RECHECK_US);
- }
-}
-
-static void usb_c0_interrupt(enum gpio_signal s)
-{
- /* Cancel any previous calls to check the interrupt line */
- hook_call_deferred(&check_c0_line_data, -1);
-
- /* Notify all chips using this line that an interrupt came in */
- notify_c0_chips();
-
- /* Check the line again in 5ms */
- hook_call_deferred(&check_c0_line_data, INT_RECHECK_US);
-
-}
-
-/* C1 interrupt line shared by BC 1.2, TCPC, and charger */
-static void check_c1_line(void);
-DECLARE_DEFERRED(check_c1_line);
-
-static void notify_c1_chips(void)
-{
- schedule_deferred_pd_interrupt(1);
- task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12);
-}
-
-static void check_c1_line(void)
-{
- /*
- * If line is still being held low, see if there's more to process from
- * one of the chips.
- */
- if (!gpio_get_level(GPIO_USB_C1_INT_ODL)) {
- notify_c1_chips();
- hook_call_deferred(&check_c1_line_data, INT_RECHECK_US);
- }
-}
-
-static void sub_usb_c1_interrupt(enum gpio_signal s)
-{
- /* Cancel any previous calls to check the interrupt line */
- hook_call_deferred(&check_c1_line_data, -1);
-
- /* Notify all chips using this line that an interrupt came in */
- notify_c1_chips();
-
- /* Check the line again in 5ms */
- hook_call_deferred(&check_c1_line_data, INT_RECHECK_US);
-
-}
-
-static void c0_ccsbu_ovp_interrupt(enum gpio_signal s)
-{
- cprints(CC_USBPD, "C0: CC OVP, SBU OVP, or thermal event");
- pd_handle_cc_overvoltage(0);
-}
-
-#include "gpio_list.h"
-
-/* ADC channels */
-const struct adc_t adc_channels[] = {
- [ADC_TEMP_SENSOR_1] = {
- .name = "TEMP_SENSOR1",
- .input_ch = NPCX_ADC_CH0,
- .factor_mul = ADC_MAX_VOLT,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- },
- [ADC_TEMP_SENSOR_2] = {
- .name = "TEMP_SENSOR2",
- .input_ch = NPCX_ADC_CH1,
- .factor_mul = ADC_MAX_VOLT,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- },
- [ADC_SUB_ANALOG] = {
- .name = "SUB_ANALOG",
- .input_ch = NPCX_ADC_CH2,
- .factor_mul = ADC_MAX_VOLT,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- },
- [ADC_VSNS_PP3300_A] = {
- .name = "PP3300_A_PGOOD",
- .input_ch = NPCX_ADC_CH9,
- .factor_mul = ADC_MAX_VOLT,
- .factor_div = ADC_READ_MAX + 1,
- .shift = 0,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(adc_channels) == ADC_CH_COUNT);
-
-void board_init(void)
-{
- int on;
-
- gpio_enable_interrupt(GPIO_USB_C0_INT_ODL);
- gpio_enable_interrupt(GPIO_SUB_USB_C1_INT_ODL);
- gpio_enable_interrupt(GPIO_USB_C0_CCSBU_OVP_ODL);
-
- /* Enable gpio interrupt for base accelgyro sensor */
- gpio_enable_interrupt(GPIO_BASE_SIXAXIS_INT_L);
-
- /*
- * If interrupt lines are already low, schedule them to be processed
- * after inits are completed.
- */
- if (!gpio_get_level(GPIO_USB_C0_INT_ODL))
- hook_call_deferred(&check_c0_line_data, 0);
- if (!gpio_get_level(GPIO_USB_C1_INT_ODL))
- hook_call_deferred(&check_c1_line_data, 0);
-
- /* Turn on 5V if the system is on, otherwise turn it off. */
- on = chipset_in_state(CHIPSET_STATE_ON | CHIPSET_STATE_ANY_SUSPEND |
- CHIPSET_STATE_SOFT_OFF);
- board_power_5v_enable(on);
- if (get_cbi_fw_config_keyboard() == CUST_UK2_KB) {
- /*
- * Observed on Shyvana with UK keyboard,
- * \|: 0x0061->0x61->0x56
- * r-ctrl: 0xe014->0x14->0x1d
- */
- uint16_t tmp = get_scancode_set2(4, 0);
-
- set_scancode_set2(4, 0, get_scancode_set2(2, 7));
- set_scancode_set2(2, 7, tmp);
- }
-}
-DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT);
-
-void board_hibernate(void)
-{
- /*
- * Both charger ICs need to be put into their "low power mode" before
- * entering the Z-state.
- */
- raa489000_hibernate(1, true);
- raa489000_hibernate(0, false);
-}
-
-void board_reset_pd_mcu(void)
-{
- /*
- * TODO(b:147316511): Here we could issue a digital reset to the IC,
- * unsure if we actually want to do that or not yet.
- */
-}
-
-static void set_5v_gpio(int level)
-{
- gpio_set_level(GPIO_EN_PP5000, level);
-}
-
-__override void board_power_5v_enable(int enable)
-{
- /*
- * Port 0 simply has a GPIO to turn on the 5V regulator, however, 5V is
- * generated locally on the sub board and we need to set the comparator
- * polarity on the sub board charger IC.
- */
- set_5v_gpio(!!enable);
-
- if (isl923x_set_comparator_inversion(1, !!enable))
- CPRINTS("Failed to %sable sub rails!", enable ?
- "en" : "dis");
-}
-
-int board_is_sourcing_vbus(int port)
-{
- int regval;
-
- tcpc_read(port, TCPC_REG_POWER_STATUS, &regval);
- return !!(regval & TCPC_REG_POWER_STATUS_SOURCING_VBUS);
-
-}
-
-int board_set_active_charge_port(int port)
-{
- int is_real_port = (port >= 0 &&
- port < CONFIG_USB_PD_PORT_MAX_COUNT);
- int i;
- int old_port;
-
- if (!is_real_port && port != CHARGE_PORT_NONE)
- return EC_ERROR_INVAL;
-
- old_port = charge_manager_get_active_charge_port();
-
- CPRINTS("New chg p%d", port);
-
- /* Disable all ports. */
- if (port == CHARGE_PORT_NONE) {
- for (i = 0; i < CONFIG_USB_PD_PORT_MAX_COUNT; i++) {
- tcpc_write(i, TCPC_REG_COMMAND,
- TCPC_REG_COMMAND_SNK_CTRL_LOW);
- raa489000_enable_asgate(i, false);
- }
-
- return EC_SUCCESS;
- }
-
- /* Check if port is sourcing VBUS. */
- if (board_is_sourcing_vbus(port)) {
- CPRINTS("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 (tcpc_write(i, TCPC_REG_COMMAND,
- TCPC_REG_COMMAND_SNK_CTRL_LOW))
- CPRINTS("p%d: sink path disable failed.", i);
- raa489000_enable_asgate(i, false);
- }
-
- /*
- * Stop the charger IC from switching while changing ports. Otherwise,
- * we can overcurrent the adapter we're switching to. (crbug.com/926056)
- */
- if (old_port != CHARGE_PORT_NONE)
- charger_discharge_on_ac(1);
-
- /* Enable requested charge port. */
- if (raa489000_enable_asgate(port, true) ||
- tcpc_write(port, TCPC_REG_COMMAND,
- TCPC_REG_COMMAND_SNK_CTRL_HIGH)) {
- CPRINTS("p%d: sink path enable failed.", port);
- charger_discharge_on_ac(0);
- return EC_ERROR_UNKNOWN;
- }
-
- /* Allow the charger IC to begin/continue switching. */
- charger_discharge_on_ac(0);
-
- return EC_SUCCESS;
-}
-
-void board_set_charge_limit(int port, int supplier, int charge_ma,
- int max_ma, int charge_mv)
-{
- int icl = MAX(charge_ma, CONFIG_CHARGER_INPUT_CURRENT);
-
- /*
- * b/147463641: The charger IC seems to overdraw ~4%, therefore we
- reduce
- * our target accordingly.
- */
- icl = icl * 96 / 100;
- charge_set_input_current_limit(icl, charge_mv);
-}
-
-__override void typec_set_source_current_limit(int port, enum tcpc_rp_value rp)
-{
- if (port < 0 || port > board_get_usb_pd_port_count())
- return;
-
- raa489000_set_output_current(port, rp);
-}
-
-/* Sensors */
-static struct mutex g_lid_mutex;
-static struct mutex g_base_mutex;
-
-/* Matrices to rotate accelerometers into the standard reference. */
-static 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)}
-};
-
-static const mat33_fp_t base_standard_ref = {
- { 0, FLOAT_TO_FP(1), 0},
- { FLOAT_TO_FP(-1), 0, 0},
- { 0, 0, FLOAT_TO_FP(1)}
-};
-
-static struct accelgyro_saved_data_t g_bma253_data;
-static struct lsm6dsm_data lsm6dsm_data = LSM6DSM_DATA;
-
-struct motion_sensor_t motion_sensors[] = {
- [LID_ACCEL] = {
- .name = "Lid Accel",
- .active_mask = SENSOR_ACTIVE_S0_S3,
- .chip = MOTIONSENSE_CHIP_BMA255,
- .type = MOTIONSENSE_TYPE_ACCEL,
- .location = MOTIONSENSE_LOC_LID,
- .drv = &bma2x2_accel_drv,
- .mutex = &g_lid_mutex,
- .drv_data = &g_bma253_data,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = BMA2x2_I2C_ADDR1_FLAGS,
- .rot_standard_ref = &lid_standard_ref,
- .default_range = 2,
- .min_frequency = BMA255_ACCEL_MIN_FREQ,
- .max_frequency = BMA255_ACCEL_MAX_FREQ,
- .config = {
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 10000 | ROUND_UP_FLAG,
- },
- [SENSOR_CONFIG_EC_S3] = {
- .odr = 10000 | ROUND_UP_FLAG,
- },
- },
- },
- [BASE_ACCEL] = {
- .name = "Base Accel",
- .active_mask = SENSOR_ACTIVE_S0_S3,
- .chip = MOTIONSENSE_CHIP_LSM6DSM,
- .type = MOTIONSENSE_TYPE_ACCEL,
- .location = MOTIONSENSE_LOC_BASE,
- .drv = &lsm6dsm_drv,
- .mutex = &g_base_mutex,
- .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data,
- MOTIONSENSE_TYPE_ACCEL),
- .int_signal = GPIO_BASE_SIXAXIS_INT_L,
- .flags = MOTIONSENSE_FLAG_INT_SIGNAL,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = LSM6DSM_ADDR0_FLAGS,
- .rot_standard_ref = &base_standard_ref,
- .default_range = 4, /* g */
- .min_frequency = LSM6DSM_ODR_MIN_VAL,
- .max_frequency = LSM6DSM_ODR_MAX_VAL,
- .config = {
- [SENSOR_CONFIG_EC_S0] = {
- .odr = 13000 | ROUND_UP_FLAG,
- .ec_rate = 100 * MSEC,
- },
- [SENSOR_CONFIG_EC_S3] = {
- .odr = 10000 | ROUND_UP_FLAG,
- .ec_rate = 100 * MSEC,
- },
- },
- },
- [BASE_GYRO] = {
- .name = "Base Gyro",
- .active_mask = SENSOR_ACTIVE_S0_S3,
- .chip = MOTIONSENSE_CHIP_LSM6DSM,
- .type = MOTIONSENSE_TYPE_GYRO,
- .location = MOTIONSENSE_LOC_BASE,
- .drv = &lsm6dsm_drv,
- .mutex = &g_base_mutex,
- .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data,
- MOTIONSENSE_TYPE_GYRO),
- .int_signal = GPIO_BASE_SIXAXIS_INT_L,
- .flags = MOTIONSENSE_FLAG_INT_SIGNAL,
- .port = I2C_PORT_SENSOR,
- .i2c_spi_addr_flags = LSM6DSM_ADDR0_FLAGS,
- .default_range = 1000 | ROUND_UP_FLAG, /* dps */
- .rot_standard_ref = &base_standard_ref,
- .min_frequency = LSM6DSM_ODR_MIN_VAL,
- .max_frequency = LSM6DSM_ODR_MAX_VAL,
- },
-};
-
-const unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors);
-
-/* Thermistors */
-const struct temp_sensor_t temp_sensors[] = {
- [TEMP_SENSOR_1] = {.name = "Memory",
- .type = TEMP_SENSOR_TYPE_BOARD,
- .read = get_temp_3v3_51k1_47k_4050b,
- .idx = ADC_TEMP_SENSOR_1},
- [TEMP_SENSOR_2] = {.name = "Charger",
- .type = TEMP_SENSOR_TYPE_BOARD,
- .read = get_temp_3v3_51k1_47k_4050b,
- .idx = ADC_TEMP_SENSOR_2},
-};
-BUILD_ASSERT(ARRAY_SIZE(temp_sensors) == TEMP_SENSOR_COUNT);
-
-__override void ocpc_get_pid_constants(int *kp, int *kp_div,
- int *ki, int *ki_div,
- int *kd, int *kd_div)
-{
- *kp = 1;
- *kp_div = 20;
- *ki = 1;
- *ki_div = 250;
- *kd = 0;
- *kd_div = 1;
-}
-
-int pd_snk_is_vbus_provided(int port)
-{
- return pd_check_vbus_level(port, VBUS_PRESENT);
-}
-
-const struct charger_config_t chg_chips[] = {
- {
- .i2c_port = I2C_PORT_USB_C0,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-
- {
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = ISL923X_ADDR_FLAGS,
- .drv = &isl923x_drv,
- },
-};
-
-const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = {
- {
- .i2c_port = I2C_PORT_USB_C0,
- .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
- .flags = PI3USB9201_ALWAYS_POWERED,
- },
-
- {
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS,
- .flags = PI3USB9201_ALWAYS_POWERED,
- },
-};
-
-/* PWM channels. Must be in the exactly same order as in enum pwm_channel. */
-const struct pwm_t pwm_channels[] = {
- [PWM_CH_KBLIGHT] = {
- .channel = 3,
- .flags = PWM_CONFIG_DSLEEP,
- .freq = 10000,
- },
-};
-BUILD_ASSERT(ARRAY_SIZE(pwm_channels) == PWM_CH_COUNT);
-
-const struct tcpc_config_t tcpc_config[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_USB_C0,
- .addr_flags = RAA489000_TCPC0_I2C_FLAGS,
- },
- .flags = TCPC_FLAGS_TCPCI_REV2_0,
- .drv = &raa489000_tcpm_drv,
- },
-
- {
- .bus_type = EC_BUS_TYPE_I2C,
- .i2c_info = {
- .port = I2C_PORT_SUB_USB_C1,
- .addr_flags = RAA489000_TCPC0_I2C_FLAGS,
- },
- .flags = TCPC_FLAGS_TCPCI_REV2_0,
- .drv = &raa489000_tcpm_drv,
- },
-};
-
-const struct usb_mux usbc0_retimer = {
- .usb_port = 0,
- .i2c_port = I2C_PORT_USB_C0,
- .i2c_addr_flags = NB7V904M_I2C_ADDR0,
- .driver = &nb7v904m_usb_redriver_drv,
-};
-const struct usb_mux usbc1_retimer = {
- .usb_port = 1,
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = NB7V904M_I2C_ADDR0,
- .driver = &nb7v904m_usb_redriver_drv,
-};
-struct usb_mux usb_muxes[CONFIG_USB_PD_PORT_MAX_COUNT] = {
- {
- .usb_port = 0,
- .i2c_port = I2C_PORT_USB_C0,
- .i2c_addr_flags = PI3USB3X532_I2C_ADDR0,
- .driver = &pi3usb3x532_usb_mux_driver,
- },
- {
- .usb_port = 1,
- .i2c_port = I2C_PORT_SUB_USB_C1,
- .i2c_addr_flags = PI3USB3X532_I2C_ADDR0,
- .driver = &pi3usb3x532_usb_mux_driver,
- .next_mux = &usbc1_retimer,
- }
-};
-
-static void reconfigure_usbmux(void)
-{
- if (system_get_board_version() < 2) {
- CPRINTS("add redriver at usbc0");
- usb_muxes[0].next_mux = &usbc0_retimer;
- }
-}
-DECLARE_HOOK(HOOK_INIT, reconfigure_usbmux, HOOK_PRIO_INIT_I2C+1);
-
-uint16_t tcpc_get_alert_status(void)
-{
- uint16_t status = 0;
- int regval;
-
- /*
- * The interrupt line is shared between the TCPC and BC1.2 detector IC.
- * Therefore, go out and actually read the alert registers to report the
- * alert status.
- */
- if (!gpio_get_level(GPIO_USB_C0_INT_ODL)) {
- if (!tcpc_read16(0, TCPC_REG_ALERT, &regval)) {
- /* The TCPCI Rev 1.0 spec says to ignore bits 14:12. */
- if (!(tcpc_config[0].flags & TCPC_FLAGS_TCPCI_REV2_0))
- regval &= ~((1 << 14) | (1 << 13) | (1 << 12));
-
- if (regval)
- status |= PD_STATUS_TCPC_ALERT_0;
- }
- }
-
- if (!gpio_get_level(GPIO_SUB_USB_C1_INT_ODL)) {
- if (!tcpc_read16(1, TCPC_REG_ALERT, &regval)) {
- /* TCPCI spec Rev 1.0 says to ignore bits 14:12. */
- if (!(tcpc_config[1].flags & TCPC_FLAGS_TCPCI_REV2_0))
- regval &= ~((1 << 14) | (1 << 13) | (1 << 12));
-
- if (regval)
- status |= PD_STATUS_TCPC_ALERT_1;
- }
- }
-
- return status;
-}
-
-/* This callback disables keyboard when convertibles are fully open */
-__override void lid_angle_peripheral_enable(int enable)
-{
- int chipset_in_s0 = chipset_in_state(CHIPSET_STATE_ON);
-
- /*
- * If the lid is in tablet position via other sensors,
- * ignore the lid angle, which might be faulty then
- * disable keyboard.
- */
- if (tablet_get_mode())
- enable = 0;
-
- if (enable) {
- keyboard_scan_enable(1, KB_SCAN_DISABLE_LID_ANGLE);
- } else {
- /*
- * Ensure that the chipset is off before disabling the keyboard.
- * When the chipset is on, the EC keeps the keyboard enabled and
- * the AP decides whether to ignore input devices or not.
- */
- if (!chipset_in_s0)
- keyboard_scan_enable(0, KB_SCAN_DISABLE_LID_ANGLE);
- }
-}
diff --git a/board/madoo/board.h b/board/madoo/board.h
deleted file mode 100644
index 7528f256c0..0000000000
--- a/board/madoo/board.h
+++ /dev/null
@@ -1,165 +0,0 @@
-/* Copyright 2020 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.
- */
-
-/* Madoo board configuration */
-
-#ifndef __CROS_EC_BOARD_H
-#define __CROS_EC_BOARD_H
-
-#define VARIANT_DEDEDE_EC_NPCX796FC
-#include "baseboard.h"
-
-/* Charger */
-#define CONFIG_CHARGER_RAA489000
-#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10
-#define CONFIG_CHARGER_SENSE_RESISTOR 10
-#define CONFIG_OCPC_DEF_RBATT_MOHMS 22 /* R_DS(on) 11.6mOhm + 10mOhm sns rstr */
-#define CONFIG_OCPC
-#undef CONFIG_CHARGER_SINGLE_CHIP
-
-/* EC console commands */
-#define CONFIG_CMD_TCPC_DUMP
-#define CONFIG_CMD_CHARGER_DUMP
-
-/* GPIO for C1 interrupts, for baseboard use */
-#define GPIO_USB_C1_INT_ODL GPIO_SUB_USB_C1_INT_ODL
-
-/* Keyboard */
-#define CONFIG_PWM_KBLIGHT
-
-/* PWM */
-#define CONFIG_PWM
-#define NPCX7_PWM1_SEL 0 /* GPIO C2 is not used as PWM1. */
-
-/* USB */
-#define CONFIG_BC12_DETECT_PI3USB9201
-#define CONFIG_USBC_RETIMER_NB7V904M
-
-/* LED */
-#define CONFIG_LED_COMMON
-#define CONFIG_LED_ONOFF_STATES
-#define CONFIG_LED_ONOFF_STATES_BAT_LOW 10
-
-/* USB PD */
-#define CONFIG_USB_PD_PORT_MAX_COUNT 2
-#define CONFIG_USB_PD_TCPM_RAA489000
-#undef CONFIG_USB_PD_TCPC_LPM_EXIT_DEBOUNCE
-#define CONFIG_USB_PD_TCPC_LPM_EXIT_DEBOUNCE (100 * MSEC)
-
-/* USB defines specific to external TCPCs */
-#define CONFIG_USB_PD_DUAL_ROLE_AUTO_TOGGLE
-#define CONFIG_USB_PD_VBUS_DETECT_TCPC
-#define CONFIG_USB_PD_DISCHARGE_TCPC
-#define CONFIG_USB_PD_TCPC_LOW_POWER
-
-/* Variant references the TCPCs to determine Vbus sourcing */
-#define CONFIG_USB_PD_5V_EN_CUSTOM
-
-/* I2C configuration */
-#define I2C_PORT_EEPROM NPCX_I2C_PORT7_0
-#define I2C_PORT_BATTERY NPCX_I2C_PORT5_0
-#define I2C_PORT_SENSOR NPCX_I2C_PORT0_0
-#define I2C_PORT_USB_C0 NPCX_I2C_PORT1_0
-#define I2C_PORT_SUB_USB_C1 NPCX_I2C_PORT2_0
-#define I2C_PORT_USB_MUX I2C_PORT_USB_C0
-/* TODO(b:147440290): Need to handle multiple charger ICs */
-#define I2C_PORT_CHARGER I2C_PORT_USB_C0
-
-#define I2C_PORT_ACCEL I2C_PORT_SENSOR
-
-#define I2C_ADDR_EEPROM_FLAGS 0x50 /* 7b address */
-
-/* Sensors */
-#define CONFIG_CMD_ACCELS
-#define CONFIG_CMD_ACCEL_INFO
-
-#define CONFIG_ACCEL_BMA255 /* Lid accel */
-#define CONFIG_ACCELGYRO_LSM6DSM /* Base accel */
-
-/* Lid operates in forced mode, base in FIFO */
-#define CONFIG_ACCEL_FORCE_MODE_MASK BIT(LID_ACCEL)
-#define CONFIG_ACCEL_FIFO
-#define CONFIG_ACCEL_FIFO_SIZE 256 /* Must be a power of 2 */
-#define CONFIG_ACCEL_FIFO_THRES (CONFIG_ACCEL_FIFO_SIZE / 3)
-
-#define CONFIG_ACCEL_INTERRUPTS
-
-#define CONFIG_LID_ANGLE
-#define CONFIG_LID_ANGLE_UPDATE
-#define CONFIG_LID_ANGLE_SENSOR_BASE BASE_ACCEL
-#define CONFIG_LID_ANGLE_SENSOR_LID LID_ACCEL
-
-#define CONFIG_TABLET_MODE
-#define CONFIG_TABLET_MODE_SWITCH
-#define CONFIG_GMR_TABLET_MODE
-
-#define CONFIG_ACCEL_LSM6DSM_INT_EVENT \
- TASK_EVENT_MOTION_SENSOR_INTERRUPT(BASE_ACCEL)
-
-#define CONFIG_BATTERY_DEVICE_CHEMISTRY "LION"
-#define CONFIG_BATTERY_FUEL_GAUGE
-
-#define CONFIG_USB_MUX_RUNTIME_CONFIG
-
-/* Thermistors */
-#define CONFIG_TEMP_SENSOR
-#define CONFIG_THERMISTOR
-#define CONFIG_STEINHART_HART_3V3_51K1_47K_4050B
-
-#ifndef __ASSEMBLER__
-
-#include "gpio_signal.h"
-#include "registers.h"
-
-enum chg_id {
- CHARGER_PRIMARY,
- CHARGER_SECONDARY,
- CHARGER_NUM,
-};
-
-enum adc_channel {
- ADC_TEMP_SENSOR_1, /* ADC0 */
- ADC_TEMP_SENSOR_2, /* ADC1 */
- ADC_SUB_ANALOG, /* ADC2 */
- ADC_VSNS_PP3300_A, /* ADC9 */
- ADC_CH_COUNT
-};
-
-enum sensor_id {
- LID_ACCEL,
- BASE_ACCEL,
- BASE_GYRO,
- SENSOR_COUNT
-};
-
-enum temp_sensor_id {
- TEMP_SENSOR_1,
- TEMP_SENSOR_2,
- TEMP_SENSOR_COUNT
-};
-
-enum pwm_channel {
- PWM_CH_KBLIGHT,
- PWM_CH_COUNT,
-};
-
-enum battery_type {
- BATTERY_SIMPLO_HIGHPOWER,
- BATTERY_SIMPLO_COS,
- BATTERY_CosMX,
- BATTERY_SAMSUNG_SDI,
- BATTERY_DYNAPACK_COS,
- BATTERY_DYNAPACK_ATL,
- BATTERY_TYPE_COUNT,
-};
-
-/* Keyboard type */
-enum fw_config_keyboard_type {
- COMMON_KB = 0,
- CUST_UK2_KB = 1,
-};
-
-#endif /* !__ASSEMBLER__ */
-#endif /* __CROS_EC_BOARD_H */
diff --git a/board/madoo/build.mk b/board/madoo/build.mk
deleted file mode 100644
index cd002a20e7..0000000000
--- a/board/madoo/build.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- makefile -*-
-# Copyright 2020 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:=npcx7m7fc
-BASEBOARD:=dedede
-
-board-y=board.o battery.o cbi_ssfc.o led.o usb_pd_policy.o
diff --git a/board/madoo/cbi_ssfc.c b/board/madoo/cbi_ssfc.c
deleted file mode 100644
index c4b859f133..0000000000
--- a/board/madoo/cbi_ssfc.c
+++ /dev/null
@@ -1,36 +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.
- */
-
-#include "cbi_ssfc.h"
-#include "common.h"
-#include "console.h"
-#include "cros_board_info.h"
-#include "hooks.h"
-
-#define CPRINTS(format, args...) cprints(CC_SYSTEM, format, ##args)
-
-/* Cache SSFC on init since we don't expect it to change in runtime */
-static union dedede_cbi_ssfc cached_ssfc;
-BUILD_ASSERT(sizeof(cached_ssfc) == sizeof(uint32_t));
-
-static void cbi_ssfc_init(void)
-{
- if (cbi_get_ssfc(&cached_ssfc.raw_value) != EC_SUCCESS)
- /* Default to 0 when CBI isn't populated */
- cached_ssfc.raw_value = 0;
-
- CPRINTS("Read CBI SSFC : 0x%04X", cached_ssfc.raw_value);
-}
-DECLARE_HOOK(HOOK_INIT, cbi_ssfc_init, HOOK_PRIO_FIRST);
-
-enum ec_ssfc_base_sensor get_cbi_ssfc_base_sensor(void)
-{
- return (enum ec_ssfc_base_sensor) cached_ssfc.base_sensor;
-}
-
-enum ec_ssfc_lid_sensor get_cbi_ssfc_lid_sensor(void)
-{
- return (enum ec_ssfc_lid_sensor) cached_ssfc.lid_sensor;
-}
diff --git a/board/madoo/cbi_ssfc.h b/board/madoo/cbi_ssfc.h
deleted file mode 100644
index 873b90f993..0000000000
--- a/board/madoo/cbi_ssfc.h
+++ /dev/null
@@ -1,61 +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.
- */
-
-#ifndef _DEDEDE_CBI_SSFC__H_
-#define _DEDEDE_CBI_SSFC__H_
-
-#include "stdint.h"
-
-/****************************************************************************
- * Dedede CBI Second Source Factory Cache
- */
-
-/*
- * Base Sensor (Bits 0-2)
- */
-enum ec_ssfc_base_sensor {
- SSFC_SENSOR_BASE_DEFAULT = 0,
- SSFC_SENSOR_BMI160 = 1,
- SSFC_SENSOR_ICM426XX = 2,
- SSFC_SENSOR_LSM6DSM = 3,
- SSFC_SENSOR_ICM42607 = 4
-};
-
-/*
- * Lid Sensor (Bits 3-5)
- */
-enum ec_ssfc_lid_sensor {
- SSFC_SENSOR_LID_DEFAULT = 0,
- SSFC_SENSOR_BMA255 = 1,
- SSFC_SENSOR_KX022 = 2,
- SSFC_SENSOR_LIS2DWL = 3
-};
-
-union dedede_cbi_ssfc {
- struct {
- uint32_t base_sensor : 3;
- uint32_t lid_sensor : 3;
- uint32_t usb_ss_mux : 3;
- uint32_t reserved_2 : 23;
- };
- uint32_t raw_value;
-};
-
-/**
- * Get the Base sensor type from SSFC_CONFIG.
- *
- * @return the Base sensor board type.
- */
-enum ec_ssfc_base_sensor get_cbi_ssfc_base_sensor(void);
-
-/**
- * Get the Lid sensor type from SSFC_CONFIG.
- *
- * @return the Lid sensor board type.
- */
-enum ec_ssfc_lid_sensor get_cbi_ssfc_lid_sensor(void);
-
-
-#endif /* _DEDEDE_CBI_SSFC__H_ */
diff --git a/board/madoo/ec.tasklist b/board/madoo/ec.tasklist
deleted file mode 100644
index 0aba1fabeb..0000000000
--- a/board/madoo/ec.tasklist
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Copyright 2020 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-/*
- * See CONFIG_TASK_LIST in config.h for details.
- */
-
-#define CONFIG_TASK_LIST \
- TASK_ALWAYS(HOOKS, hook_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(MOTIONSENSE, motion_sense_task, NULL, VENTI_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(CHARGER, charger_task, NULL, VENTI_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(CONSOLE, console_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(HOSTCMD, host_command_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_NOTEST(KEYSCAN, keyboard_scan_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(POWERBTN, power_button_task, NULL, VENTI_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C0, pd_task, NULL, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_C1, pd_task, NULL, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, ULTRA_TASK_STACK_SIZE) \
- TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, ULTRA_TASK_STACK_SIZE)
diff --git a/board/madoo/gpio.inc b/board/madoo/gpio.inc
deleted file mode 100644
index b26c7814ce..0000000000
--- a/board/madoo/gpio.inc
+++ /dev/null
@@ -1,145 +0,0 @@
-/* -*- mode:c -*-
- *
- * Copyright 2020 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.
- */
-
-/* Power Interrupts */
-GPIO_INT(SLP_S0_L, PIN(D, 5), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(SLP_S3_L, PIN(A, 5), GPIO_INT_BOTH, baseboard_all_sys_pgood_interrupt)
-GPIO_INT(SLP_S4_L, PIN(D, 4), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(SLP_SUS_L, PIN(D, 7), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(RSMRST_PWRGD_L, PIN(C, 6), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(VCCIN_AUX_VID1, PIN(C, 7), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(CPU_C10_GATE_L, PIN(6, 7), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(VCCIN_AUX_VID0, PIN(F, 4), GPIO_INT_BOTH | GPIO_SEL_1P8V, power_signal_interrupt)
-GPIO_INT(PG_VCCIO_EXT_OD, PIN(B, 0), GPIO_INT_BOTH, baseboard_all_sys_pgood_interrupt)
-GPIO_INT(PG_PP5000_U_OD, PIN(E, 2), GPIO_INT_BOTH, power_signal_interrupt)
-GPIO_INT(PG_DRAM_OD, PIN(E, 4), GPIO_INT_BOTH, baseboard_all_sys_pgood_interrupt)
-GPIO_INT(PG_PP1050_ST_OD, PIN(4, 2), GPIO_INT_BOTH, power_signal_interrupt)
-
-/* USB-C interrupts */
-GPIO_INT(USB_C0_INT_ODL, PIN(6, 2), GPIO_INT_FALLING | GPIO_PULL_UP, usb_c0_interrupt)
-GPIO_INT(SUB_USB_C1_INT_ODL, PIN(F, 5), GPIO_INT_FALLING | GPIO_PULL_UP, sub_usb_c1_interrupt) /* C1 interrupt OR 5V power en */
-GPIO_INT(USB_C0_CCSBU_OVP_ODL, PIN(A, 2), GPIO_INT_FALLING | GPIO_PULL_UP, c0_ccsbu_ovp_interrupt) /* Fault protection */
-
-/* Button interrupts */
-GPIO_INT(H1_EC_PWR_BTN_ODL, PIN(0, 1), GPIO_INT_BOTH | GPIO_PULL_UP, power_button_interrupt)
-GPIO_INT(VOLDN_BTN_ODL, PIN(4, 0), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-GPIO_INT(VOLUP_BTN_ODL, PIN(7, 3), GPIO_INT_BOTH | GPIO_PULL_UP, button_interrupt)
-
-/* Other interrupts */
-GPIO_INT(LID_OPEN, PIN(D, 2), GPIO_INT_BOTH, lid_interrupt)
-GPIO_INT(EC_WP_OD, PIN(A, 1), GPIO_INT_BOTH, switch_interrupt)
-GPIO_INT(BASE_SIXAXIS_INT_L, PIN(5, 6), GPIO_INT_FALLING | GPIO_SEL_1P8V, lsm6dsm_interrupt)
-GPIO_INT(LID_360_L, PIN(9, 5), GPIO_INT_BOTH, gmr_tablet_switch_isr)
-
-/* I2C Ports */
-GPIO(EC_I2C_EEPROM_SCL, PIN(B, 3), GPIO_INPUT)
-GPIO(EC_I2C_EEPROM_SDA, PIN(B, 2), GPIO_INPUT)
-GPIO(EC_I2C_BATTERY_SCL, PIN(3, 3), GPIO_INPUT)
-GPIO(EC_I2C_BATTERY_SDA, PIN(3, 6), GPIO_INPUT)
-GPIO(EC_I2C_SENSOR_SCL, PIN(B, 5), GPIO_INPUT)
-GPIO(EC_I2C_SENSOR_SDA, PIN(B, 4), GPIO_INPUT)
-GPIO(EC_I2C_USB_C0_SCL, PIN(9, 0), GPIO_INPUT)
-GPIO(EC_I2C_USB_C0_SDA, PIN(8, 7), GPIO_INPUT)
-GPIO(EC_I2C_SUB_USB_C1_SCL, PIN(9, 2), GPIO_INPUT)
-GPIO(EC_I2C_SUB_USB_C1_SDA, PIN(9, 1), GPIO_INPUT)
-
-/* Misc Enables */
-GPIO(EN_VCCIO_EXT, PIN(6, 1), GPIO_OUT_LOW)
-/* TODO(b:149775160) - Modify if needed if we ever use this signal. */
-GPIO(EN_VCCST, PIN(A, 7), GPIO_INPUT)
-GPIO(EN_PP3300_PEN, PIN(6, 3), GPIO_OUT_LOW)
-GPIO(EN_PP3300_A, PIN(0, 3), GPIO_OUT_LOW)
-GPIO(EN_PP5000_U, PIN(A, 4), GPIO_OUT_LOW)
-GPIO(EN_SLP_Z, PIN(8, 3), GPIO_OUT_LOW)
-GPIO(EN_KB_BL, PIN(6, 0), GPIO_OUT_LOW)
-GPIO(EN_BL_OD, PIN(D, 3), GPIO_ODR_LOW)
-GPIO(IMVP9_PE, PIN(E, 0), GPIO_OUT_LOW)
-GPIO(ECH1_PACKET_MODE, PIN(7, 5), GPIO_OUT_LOW)
-
-/* Power Sequencing */
-GPIO(EC_AP_PSYS, PIN(B, 7), GPIO_OUT_LOW)
-GPIO(EC_AP_RSMRST_L, PIN(A, 6), GPIO_OUT_LOW)
-GPIO(EC_AP_PWR_BTN_ODL, PIN(C, 1), GPIO_ODR_HIGH)
-GPIO(EC_AP_RTCRST, PIN(7, 6), GPIO_OUT_LOW)
-GPIO(EC_AP_WAKE_ODL, PIN(7, 4), GPIO_ODR_HIGH)
-GPIO(EC_AP_DPWROK, PIN(A, 3), GPIO_OUT_LOW)
-GPIO(EC_AP_PCH_PWROK_OD, PIN(9, 4), GPIO_ODR_LOW)
-GPIO(EC_AP_VCCST_PWRGD_OD, PIN(B, 1), GPIO_ODR_LOW)
-GPIO(EC_AP_SYS_PWROK, PIN(0, 2), GPIO_OUT_LOW)
-GPIO(EC_AP_MKBP_INT_L, PIN(7, 0), GPIO_ODR_HIGH)
-GPIO(EC_PROCHOT_ODL, PIN(F, 1), GPIO_ODR_HIGH | GPIO_SEL_1P8V)
-GPIO(EC_ENTERING_RW, PIN(E, 3), GPIO_OUT_LOW)
-GPIO(ALL_SYS_PWRGD, PIN(A, 0), GPIO_OUT_LOW)
-GPIO(SYS_RST_ODL, PIN(C, 5), GPIO_ODR_HIGH)
-GPIO(CCD_MODE_ODL, PIN(E, 5), GPIO_ODR_HIGH)
-
-GPIO(USB_C0_RST_ODL, PIN(9, 7), GPIO_OUT_HIGH) /* currently unused */
-GPIO(EC_AP_USB_C1_HDMI_HPD, PIN(9, 6), GPIO_OUT_LOW)
-GPIO(EC_AP_USB_C0_HPD, PIN(9, 3), GPIO_OUT_LOW)
-GPIO(HDMI_SEL_L, PIN(7, 2), GPIO_OUT_HIGH)
-GPIO(EC_BATTERY_PRES_ODL, PIN(E, 1), GPIO_INPUT)
-
-/*LEDs*/
-GPIO(BAT_LED_AMBER_L, PIN(C, 4), GPIO_OUT_HIGH)
-GPIO(BAT_LED_WHITE_L, PIN(C, 3), GPIO_OUT_HIGH)
-GPIO(PWR_LED_WHITE_L, PIN(C, 2), GPIO_OUT_HIGH)
-GPIO(EC_CHG_LED_R_Y, PIN(F, 2), GPIO_OUT_HIGH)
-GPIO(EC_CHG_LED_R_W, PIN(F, 3), GPIO_OUT_HIGH)
-
-/*
- * Waddledoo doesn't have these physical pins coming to the EC but uses other
- * logic.
- */
-UNIMPLEMENTED(AC_PRESENT)
-UNIMPLEMENTED(PG_EC_DSW_PWROK)
-UNIMPLEMENTED(PG_EC_ALL_SYS_PWRGD)
-
-/* Alternate Functions */
-/* ADC */
-ALTERNATE(PIN_MASK(F, BIT(0)), 0, MODULE_ADC, 0) /* ADC9 */
-ALTERNATE(PIN_MASK(4, 0x38), 0, MODULE_ADC, 0) /* ADC0-2 */
-
-/* Keyboard */
-ALTERNATE(PIN_MASK(3, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT | GPIO_PULL_UP) /* KSI0, KSI1 */
-ALTERNATE(PIN_MASK(2, 0xFC), 0, MODULE_KEYBOARD_SCAN, GPIO_INPUT | GPIO_PULL_UP) /* KSI2-7 */
-ALTERNATE(PIN_MASK(2, 0x03), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO0, KSO1 */
-ALTERNATE(PIN_MASK(1, 0x7F), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO3-9 */
-ALTERNATE(PIN_MASK(0, 0xF0), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO10-13 */
-ALTERNATE(PIN_MASK(8, 0x04), 0, MODULE_KEYBOARD_SCAN, GPIO_ODR_HIGH) /* KSO14 */
-GPIO(EC_KSO_02_INV, PIN(1, 7), GPIO_OUT_LOW) /* KSO2 inverted */
-
-/* PWM */
-ALTERNATE(PIN_MASK(8, BIT(0)), 0, MODULE_PWM, 0) /* PWM3 */
-
-/* UART */
-ALTERNATE(PIN_MASK(6, 0x30), 0, MODULE_UART, 0) /* UART1 */
-
-/* I2C */
-ALTERNATE(PIN_MASK(B, 0x3C), 0, MODULE_I2C, 0) /* I2C7,I2C0 */
-ALTERNATE(PIN_MASK(3, 0x48), 0, MODULE_I2C, 0) /* I2C5 */
-ALTERNATE(PIN_MASK(9, 0x07), 0, MODULE_I2C, 0) /* I2C2, I2C1 SCL */
-ALTERNATE(PIN_MASK(8, 0x80), 0, MODULE_I2C, 0) /* I2C1 SDA */
-
-/* NC pins, enable internal pull-up to avoid floating state. */
-GPIO(GPIO00_NC, PIN(0, 0), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO32_NC, PIN(3, 2), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO34_NC, PIN(3, 4), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO35_NC, PIN(3, 5), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO37_NC, PIN(3, 7), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO41_NC, PIN(4, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO57_NC, PIN(5, 7), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO81_NC, PIN(8, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIO86_NC, PIN(8, 6), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIOC0_NC, PIN(C, 0), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIOD0_NC, PIN(D, 0), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIOD1_NC, PIN(D, 1), GPIO_INPUT | GPIO_PULL_UP)
-GPIO(GPIOD6_NC, PIN(D, 6), GPIO_INPUT | GPIO_PULL_UP)
diff --git a/board/madoo/led.c b/board/madoo/led.c
deleted file mode 100644
index d6bed74e4b..0000000000
--- a/board/madoo/led.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Copyright 2020 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 madoo
- */
-
-#include "charge_state.h"
-#include "driver/tcpm/tcpci.h"
-#include "ec_commands.h"
-#include "gpio.h"
-#include "led_common.h"
-#include "led_onoff_states.h"
-#include "hooks.h"
-#include "system.h"
-
-#define LED_OFF_LVL 1
-#define LED_ON_LVL 0
-
-__override const int led_charge_lvl_1;
-
-__override const int led_charge_lvl_2 = 100;
-
-/* madoo: Note there is only LED for charge / power */
-__override struct led_descriptor
- led_bat_state_table[LED_NUM_STATES][LED_NUM_PHASES] = {
- [STATE_CHARGING_LVL_1] = {{EC_LED_COLOR_AMBER, LED_INDEFINITE} },
- [STATE_CHARGING_LVL_2] = {{EC_LED_COLOR_AMBER, LED_INDEFINITE} },
- [STATE_CHARGING_FULL_CHARGE] = {{EC_LED_COLOR_WHITE, LED_INDEFINITE} },
- [STATE_DISCHARGE_S0] = {{LED_OFF, LED_INDEFINITE} },
- [STATE_DISCHARGE_S0_BAT_LOW] = {{EC_LED_COLOR_AMBER, 1 * LED_ONE_SEC},
- {LED_OFF, 1 * LED_ONE_SEC} },
- /* STATE_DISCHARGE_S3 will changed if sku is clamshells */
- [STATE_DISCHARGE_S3] = {{LED_OFF, LED_INDEFINITE} },
- [STATE_DISCHARGE_S5] = {{LED_OFF, LED_INDEFINITE} },
- [STATE_BATTERY_ERROR] = {{EC_LED_COLOR_AMBER, 0.5 * LED_ONE_SEC},
- {LED_OFF, 0.5 * LED_ONE_SEC} },
-};
-
-__override const struct led_descriptor
- led_pwr_state_table[PWR_LED_NUM_STATES][LED_NUM_PHASES] = {
- [PWR_LED_STATE_ON] = {{EC_LED_COLOR_WHITE, LED_INDEFINITE} },
- [PWR_LED_STATE_SUSPEND_AC] = {{EC_LED_COLOR_WHITE, 1 * LED_ONE_SEC},
- {LED_OFF, 1 * LED_ONE_SEC} },
- [PWR_LED_STATE_SUSPEND_NO_AC] = {{EC_LED_COLOR_WHITE, 1 * LED_ONE_SEC},
- {LED_OFF, 1 * LED_ONE_SEC} },
- [PWR_LED_STATE_OFF] = {{LED_OFF, LED_INDEFINITE} },
-};
-
-const enum ec_led_id supported_led_ids[] = {
- EC_LED_ID_BATTERY_LED,
- EC_LED_ID_POWER_LED
-};
-
-const int supported_led_ids_count = ARRAY_SIZE(supported_led_ids);
-
-__override void led_set_color_power(enum ec_led_colors color)
-{
- if (color == EC_LED_COLOR_WHITE)
- gpio_set_level(GPIO_PWR_LED_WHITE_L, LED_ON_LVL);
- else
- /* LED_OFF and unsupported colors */
- gpio_set_level(GPIO_PWR_LED_WHITE_L, LED_OFF_LVL);
-}
-
-/*
- * Turn off battery LED, if AC is present but battery is not charging.
- * It could be caused by battery's protection like OTP.
- */
-int battery_safety_check(void)
-{
- uint8_t data[6];
- int rv;
-
- /* ignore battery in error state because it has other behavior */
- if (charge_get_state() == PWR_STATE_ERROR)
- return false;
-
- /* turn off LED due to a safety fault */
- rv = sb_read_mfgacc(PARAM_SAFETY_STATUS,
- SB_ALT_MANUFACTURER_ACCESS, data, sizeof(data));
- if (rv)
- return false;
- /*
- * Each bit represents for one safey status, and normally they should
- * all be 0. Data reads from LSB to MSB.
- * data[2] - BIT 7-0
- * AOLDL, AOLD, OCD2, OCD1, OCC2, OCC1, COV, CUV
- *
- * data[3] - BIT 15-8
- * RSVD, CUVC, OTD, OTC, ASCDL, ASCD, ASCCL, ASCC
- *
- * data[4] - BIT 23-16
- * CHGC, OC, RSVD, CTO, RSVD, PTO, RSVD, OTF
- *
- * data[5] - BIT 31-24
- * RSVD, RSVD, OCDL, COVL, UTD, UTC, PCHGC, CHGV
- */
- if (data[2] || data[3] || data[4] || data[5])
- return true;
-
- return false;
-}
-
-__override void led_set_color_battery(enum ec_led_colors color)
-{
- switch (color) {
- case EC_LED_COLOR_WHITE:
- /* Ports are controlled by different GPIO */
- if (battery_safety_check()) {
- gpio_set_level(GPIO_BAT_LED_WHITE_L, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_OFF_LVL);
- } else if (charge_manager_get_active_charge_port() == 1 ||
- system_get_board_version() < 3) {
- gpio_set_level(GPIO_BAT_LED_WHITE_L, LED_ON_LVL);
- gpio_set_level(GPIO_BAT_LED_AMBER_L, LED_OFF_LVL);
- } else if (charge_manager_get_active_charge_port() == 0) {
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_ON_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_OFF_LVL);
- }
- break;
- case EC_LED_COLOR_AMBER:
- /* Ports are controlled by different GPIO */
- if (battery_safety_check()) {
- gpio_set_level(GPIO_BAT_LED_AMBER_L, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_OFF_LVL);
- } else if (charge_get_state() == PWR_STATE_ERROR &&
- system_get_board_version() >= 3) {
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_ON_LVL);
- } else if (charge_manager_get_active_charge_port() == 1 ||
- system_get_board_version() < 3) {
- gpio_set_level(GPIO_BAT_LED_WHITE_L, LED_OFF_LVL);
- gpio_set_level(GPIO_BAT_LED_AMBER_L, LED_ON_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_OFF_LVL);
- } else if (charge_manager_get_active_charge_port() == 0) {
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_ON_LVL);
- } else if (charge_get_percent() <
- CONFIG_LED_ONOFF_STATES_BAT_LOW) {
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_ON_LVL);
- }
- break;
- default: /* LED_OFF and other unsupported colors */
- gpio_set_level(GPIO_BAT_LED_WHITE_L, LED_OFF_LVL);
- gpio_set_level(GPIO_BAT_LED_AMBER_L, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_W, LED_OFF_LVL);
- gpio_set_level(GPIO_EC_CHG_LED_R_Y, LED_OFF_LVL);
- break;
- }
-}
-
-void led_get_brightness_range(enum ec_led_id led_id, uint8_t *brightness_range)
-{
- if (led_id == EC_LED_ID_BATTERY_LED) {
- brightness_range[EC_LED_COLOR_WHITE] = 1;
- brightness_range[EC_LED_COLOR_AMBER] = 1;
- } else if (led_id == EC_LED_ID_POWER_LED) {
- brightness_range[EC_LED_COLOR_WHITE] = 1;
- }
-}
-
-int led_set_brightness(enum ec_led_id led_id, const uint8_t *brightness)
-{
- if (led_id == EC_LED_ID_BATTERY_LED) {
- if (brightness[EC_LED_COLOR_WHITE] != 0)
- led_set_color_battery(EC_LED_COLOR_WHITE);
- else if (brightness[EC_LED_COLOR_AMBER] != 0)
- led_set_color_battery(EC_LED_COLOR_AMBER);
- else
- led_set_color_battery(LED_OFF);
- } else if (led_id == EC_LED_ID_POWER_LED) {
- if (brightness[EC_LED_COLOR_WHITE] != 0)
- led_set_color_power(EC_LED_COLOR_WHITE);
- else
- led_set_color_power(LED_OFF);
- }
-
- return EC_SUCCESS;
-}
-
diff --git a/board/madoo/usb_pd_policy.c b/board/madoo/usb_pd_policy.c
deleted file mode 100644
index 02bb449f60..0000000000
--- a/board/madoo/usb_pd_policy.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2020 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 "chipset.h"
-#include "common.h"
-#include "console.h"
-#include "driver/charger/isl923x_public.h"
-#include "driver/tcpm/tcpci.h"
-#include "usb_pd.h"
-
-#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args)
-#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args)
-
-int pd_check_vconn_swap(int port)
-{
- /* Allow VCONN swaps if the AP is on. */
- return chipset_in_state(CHIPSET_STATE_ANY_SUSPEND | CHIPSET_STATE_ON);
-}
-
-void pd_power_supply_reset(int port)
-{
- /* Disable VBUS */
- tcpc_write(port, TCPC_REG_COMMAND, TCPC_REG_COMMAND_SRC_CTRL_LOW);
-
- /* Notify host of power info change. */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-}
-
-int pd_set_power_supply_ready(int port)
-{
- int rv;
-
- if (port >= CONFIG_USB_PD_PORT_MAX_COUNT)
- return EC_ERROR_INVAL;
-
- /* Disable charging. */
- rv = tcpc_write(port, TCPC_REG_COMMAND, TCPC_REG_COMMAND_SNK_CTRL_LOW);
- if (rv)
- return rv;
-
- /* Our policy is not to source VBUS when the AP is off. */
- if (chipset_in_state(CHIPSET_STATE_ANY_OFF))
- return EC_ERROR_NOT_POWERED;
-
- /* Provide Vbus. */
- rv = tcpc_write(port, TCPC_REG_COMMAND, TCPC_REG_COMMAND_SRC_CTRL_HIGH);
- if (rv)
- return rv;
-
- rv = raa489000_enable_asgate(port, true);
- if (rv)
- return rv;
-
- /* Notify host of power info change. */
- pd_send_host_event(PD_EVENT_POWER_CHANGE);
-
- return EC_SUCCESS;
-}
diff --git a/board/madoo/vif_override.xml b/board/madoo/vif_override.xml
deleted file mode 100644
index 32736caf64..0000000000
--- a/board/madoo/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.
--->