diff options
Diffstat (limited to 'baseboard/ite_evb')
-rw-r--r-- | baseboard/ite_evb/baseboard.c | 195 | ||||
-rw-r--r-- | baseboard/ite_evb/baseboard.h | 51 | ||||
-rw-r--r-- | baseboard/ite_evb/build.mk | 10 | ||||
-rw-r--r-- | baseboard/ite_evb/usb_pd_policy.c | 140 |
4 files changed, 0 insertions, 396 deletions
diff --git a/baseboard/ite_evb/baseboard.c b/baseboard/ite_evb/baseboard.c deleted file mode 100644 index 00459b12bc..0000000000 --- a/baseboard/ite_evb/baseboard.c +++ /dev/null @@ -1,195 +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. - */ - -/* ite_evb baseboard configuration */ -#include "clock.h" -#include "common.h" -#include "console.h" -#include "fan.h" -#include "gpio.h" -#include "hooks.h" -#include "i2c.h" -#include "intc.h" -#include "keyboard_scan.h" -#include "lid_switch.h" -#include "lpc.h" -#include "power_button.h" -#include "pwm_chip.h" -#include "registers.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" - -#if defined(CONFIG_FANS) || defined(CONFIG_PWM) -const struct fan_conf fan_conf_0 = { - .flags = FAN_USE_RPM_MODE, - .ch = 0, /* Use MFT id to control fan */ - .pgood_gpio = -1, - .enable_gpio = -1, -}; - -const struct fan_rpm fan_rpm_0 = { - .rpm_min = 1500, - .rpm_start = 1500, - .rpm_max = 6500, -}; - -const struct fan_t fans[] = { - { .conf = &fan_conf_0, - .rpm = &fan_rpm_0, }, -}; -BUILD_ASSERT(ARRAY_SIZE(fans) == CONFIG_FANS); - -/* - * PWM HW channelx binding tachometer channelx for fan control. - * Four tachometer input pins but two tachometer modules only, - * so always binding [TACH_CH_TACH0A | TACH_CH_TACH0B] and/or - * [TACH_CH_TACH1A | TACH_CH_TACH1B] - */ -const struct fan_tach_t fan_tach[] = { - [PWM_HW_CH_DCR0] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR1] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR2] = { - .ch_tach = TACH_CH_TACH1A, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR3] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR4] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR5] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR6] = { - .ch_tach = TACH_CH_NULL, - .fan_p = -1, - .rpm_re = -1, - .s_duty = -1, - }, - [PWM_HW_CH_DCR7] = { - .ch_tach = TACH_CH_TACH0A, - .fan_p = 2, - .rpm_re = 50, - .s_duty = 30, - }, -}; -BUILD_ASSERT(ARRAY_SIZE(fan_tach) == PWM_HW_CH_TOTAL); -#endif /* defined(CONFIG_FANS) || defined(CONFIG_PWM) */ - -/* 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 */ - }, -}; - -#if defined(CONFIG_SPI_FLASH_PORT) -/* SPI devices */ -const struct spi_device_t spi_devices[] = { - [CONFIG_SPI_FLASH_PORT] = { - .port = CONFIG_SPI_FLASH_PORT, - .div = 0, - .gpio_cs = -1 - }, -}; -const unsigned int spi_devices_used = ARRAY_SIZE(spi_devices); -#endif - -/* Initialize board. */ -static void board_init(void) -{ -} -DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); - -/* Wake-up pins for hibernate */ -const enum gpio_signal hibernate_wake_pins[] = { - GPIO_POWER_BUTTON_L, GPIO_LID_OPEN -}; -const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins); - -/* - * I2C channels (A, B, and C) are using the same timing registers (00h~07h) - * at default. - * In order to set frequency independently for each channels, - * We use timing registers 09h~0Bh, and the supported frequency will be: - * 50KHz, 100KHz, 400KHz, or 1MHz. - * I2C channels (D, E and F) can be set different frequency on different ports. - * The I2C(D/E/F) frequency depend on the frequency of SMBus Module and - * the individual prescale register. - * The frequency of SMBus module is 24MHz on default. - * The allowed range of I2C(D/E/F) frequency is as following setting. - * SMBus Module Freq = PLL_CLOCK / ((IT83XX_ECPM_SCDCR2 & 0x0F) + 1) - * (SMBus Module Freq / 510) <= I2C Freq <= (SMBus Module Freq / 8) - * Channel D has multi-function and can be used as UART interface. - * Channel F is reserved for EC debug. - */ - -/* I2C ports */ -const struct i2c_port_t i2c_ports[] = { - { - .name = "battery", - .port = I2C_PORT_BATTERY, - .kbps = 100, - .scl = GPIO_I2C_C_SCL, - .sda = GPIO_I2C_C_SDA, - }, - { - .name = "evb-1", - .port = IT83XX_I2C_CH_A, - .kbps = 100, - .scl = GPIO_I2C_A_SCL, - .sda = GPIO_I2C_A_SDA, - }, - { - .name = "evb-2", - .port = IT83XX_I2C_CH_B, - .kbps = 100, - .scl = GPIO_I2C_B_SCL, - .sda = GPIO_I2C_B_SDA, - }, - { - .name = "opt-4", - .port = IT83XX_I2C_CH_E, - .kbps = 100, - .scl = GPIO_I2C_E_SCL, - .sda = GPIO_I2C_E_SDA, - }, -}; -const unsigned int i2c_ports_used = ARRAY_SIZE(i2c_ports); diff --git a/baseboard/ite_evb/baseboard.h b/baseboard/ite_evb/baseboard.h deleted file mode 100644 index 7fe309491c..0000000000 --- a/baseboard/ite_evb/baseboard.h +++ /dev/null @@ -1,51 +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. - */ - -/* ite_evb baseboard configuration */ - -#ifndef __CROS_EC_BASEBOARD_H -#define __CROS_EC_BASEBOARD_H - -/* Optional features */ -#define CONFIG_BATTERY_SMART -#define CONFIG_BOARD_VERSION_GPIO -#define CONFIG_FANS 1 -#define CONFIG_I2C -#define CONFIG_I2C_CONTROLLER -#define CONFIG_IT83XX_ENABLE_MOUSE_DEVICE -#define CONFIG_IT83XX_SMCLK2_ON_GPC7 -#define CONFIG_IT83XX_VCC_3P3V - -#define CONFIG_KEYBOARD_PROTOCOL_8042 -#define CONFIG_LOW_POWER_IDLE -#define CONFIG_LOW_POWER_S0 -#define CONFIG_PECI -#define CONFIG_PECI_COMMON -#define CONFIG_PECI_TJMAX 100 -#define CONFIG_POWER_BUTTON -#define CONFIG_PWM -/* Use CS0 of SSPI */ -#define CONFIG_SPI_CONTROLLER -#define CONFIG_SPI_FLASH_PORT 0 -#define CONFIG_UART_HOST -#define CONFIG_HOSTCMD_LPC - -/* Optional console commands */ -#define CONFIG_CMD_FLASH -#define CONFIG_CMD_SCRATCHPAD -#define CONFIG_CMD_STACKOVERFLOW - -/* Debug */ -#undef CONFIG_CMD_FORCETIME -#undef CONFIG_HOOK_DEBUG -#undef CONFIG_KEYBOARD_DEBUG -#undef CONFIG_UART_TX_BUF_SIZE -#define CONFIG_UART_TX_BUF_SIZE 4096 - -/* I2C Bus Configuration */ -#define I2C_PORT_CHARGER IT83XX_I2C_CH_C -#define I2C_PORT_BATTERY IT83XX_I2C_CH_C - -#endif /* __CROS_EC_BASEBOARD_H */ diff --git a/baseboard/ite_evb/build.mk b/baseboard/ite_evb/build.mk deleted file mode 100644 index 77352145ee..0000000000 --- a/baseboard/ite_evb/build.mk +++ /dev/null @@ -1,10 +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. -# -# Baseboard specific files build -# - -baseboard-y=baseboard.o -baseboard-$(CONFIG_USB_POWER_DELIVERY)+=usb_pd_policy.o diff --git a/baseboard/ite_evb/usb_pd_policy.c b/baseboard/ite_evb/usb_pd_policy.c deleted file mode 100644 index 59f3da13f5..0000000000 --- a/baseboard/ite_evb/usb_pd_policy.c +++ /dev/null @@ -1,140 +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. - */ - -/* Shared USB-C policy for ite_evb baseboard */ - -#include "adc.h" -#include "config.h" -#include "common.h" -#include "console.h" -#include "gpio.h" -#include "hooks.h" -#include "it83xx_pd.h" -#include "registers.h" -#include "system.h" -#include "task.h" -#include "timer.h" -#include "util.h" -#include "usb_mux.h" - -#define CPRINTF(format, args...) cprintf(CC_USBPD, format, ## args) -#define CPRINTS(format, args...) cprints(CC_USBPD, format, ## args) - -/* ---------------- Power Data Objects (PDOs) ----------------- */ -#ifdef CONFIG_USB_PD_CUSTOM_PDO -#define PDO_FIXED_FLAGS (PDO_FIXED_DUAL_ROLE | PDO_FIXED_DATA_SWAP |\ - PDO_FIXED_UNCONSTRAINED | PDO_FIXED_COMM_CAP) - -/* Threshold voltage of VBUS provided (mV) */ -#define PD_VBUS_PROVIDED_THRESHOLD 3900 - -const uint32_t pd_src_pdo[] = { - PDO_FIXED(5000, 1500, PDO_FIXED_FLAGS), -}; -const int pd_src_pdo_cnt = ARRAY_SIZE(pd_src_pdo); - -const uint32_t pd_snk_pdo[] = { - PDO_FIXED(5000, 500, PDO_FIXED_FLAGS), - PDO_BATT(4500, 14000, 10000), - PDO_VAR(4500, 14000, 3000), -}; -const int pd_snk_pdo_cnt = ARRAY_SIZE(pd_snk_pdo); -#endif - -int pd_is_max_request_allowed(void) -{ - /* Max voltage request allowed */ - return 1; -} - -int pd_snk_is_vbus_provided(int port) -{ - int mv = ADC_READ_ERROR; - - switch (port) { - case USBPD_PORT_A: - mv = adc_read_channel(ADC_VBUSSA); - break; - case USBPD_PORT_B: - mv = adc_read_channel(ADC_VBUSSB); - break; - case USBPD_PORT_C: - mv = adc_read_channel(ADC_VBUSSC); - break; - } - - return mv > PD_VBUS_PROVIDED_THRESHOLD; -} - -int pd_set_power_supply_ready(int port) -{ - /* Provide VBUS */ - board_pd_vbus_ctrl(port, 1); - /* Vbus provided or not */ - return !pd_snk_is_vbus_provided(port); -} - -void pd_power_supply_reset(int port) -{ - /* Kill VBUS */ - board_pd_vbus_ctrl(port, 0); -} - - -__override int pd_check_data_swap(int port, enum pd_data_role data_role) -{ - /* Always allow data swap: we can be DFP or UFP for USB */ - return 1; -} - -int pd_check_vconn_swap(int port) -{ - /* - * VCONN is provided directly by the battery(PPVAR_SYS) - * but use the same rules as power swap - */ - return pd_get_dual_role(port) == PD_DRP_TOGGLE_ON ? 1 : 0; -} - -/* ----------------- Vendor Defined Messages ------------------ */ -/* - * We don't have mux on pd evb and not define CONFIG_USBC_SS_MUX, - * so mux related functions do nothing then return. - */ -__override int svdm_enter_dp_mode(int port, uint32_t mode_caps) -{ - /* - * Do not enter dp mode, we let VDM enumeration stop after discover - * modes have done. - */ - return -1; -} - -__override void svdm_dp_post_config(int port) -{ -} - -__override int svdm_dp_attention(int port, uint32_t *payload) -{ - /* Ack */ - return 1; -} - -__override void svdm_exit_dp_mode(int port) -{ -} - -__override int pd_custom_vdm(int port, int cnt, uint32_t *payload, - uint32_t **rpayload) -{ - /* Return length 0, means nothing needn't tx */ - return 0; -} - -__override int svdm_dp_config(int port, uint32_t *payload) -{ - /* Return length 0, means nothing needn't tx */ - return 0; -}; |