From b88d5765c4f86003a317c9bb4ffb0a8991c0a885 Mon Sep 17 00:00:00 2001 From: Logan_Liao Date: Tue, 22 Feb 2022 08:12:05 +0800 Subject: Banshee : Correct IOEX wrong calling, PD, Charger setting. This patch correct IOEX to use ioex_set_level function, modify PD and Charger setting. BUG=b:214871796 BRANCH=brya TEST=bring up success on Proto board. Change-Id: Icb1d96cc20faff96476785cfc5cb3cf1b20877bc Signed-off-by: Logan_Liao Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3478977 Reviewed-by: Logan Liao Tested-by: Logan Liao Reviewed-by: Elthan Huang Reviewed-by: Boris Mittelberg Commit-Queue: Logan Liao --- board/banshee/board.h | 11 +++-------- board/banshee/charger.c | 6 +++--- board/banshee/ec.tasklist | 6 ++---- board/banshee/usbc_config.c | 25 ++++++++++++------------- 4 files changed, 20 insertions(+), 28 deletions(-) diff --git a/board/banshee/board.h b/board/banshee/board.h index 82c0bc6977..b86d009247 100644 --- a/board/banshee/board.h +++ b/board/banshee/board.h @@ -84,8 +84,6 @@ #define CONFIG_IO_EXPANDER_NCT38XX #define CONFIG_IO_EXPANDER_PORT_COUNT 4 -#define CONFIG_USB_PD_TCPM_PS8815 -#define CONFIG_USB_PD_TCPM_PS8815_FORCE_DID #define CONFIG_USBC_RETIMER_INTEL_BB /* I2C speed console command */ @@ -191,13 +189,10 @@ #define CONFIG_FANS FAN_CH_COUNT /* Charger defines */ -#define CONFIG_CHARGER_BQ25720 -#define CONFIG_CHARGER_BQ25720_VSYS_TH2_CUSTOM -#define CONFIG_CHARGER_BQ25720_VSYS_TH2_DV 70 +#define CONFIG_CHARGER_ISL9241 #define CONFIG_CHARGE_RAMP_SW -#define CONFIG_CHARGER_BQ25710_SENSE_RESISTOR 10 -#define CONFIG_CHARGER_BQ25710_SENSE_RESISTOR_AC 10 -#define CONFIG_CHARGER_BQ25710_PSYS_SENSING +#define CONFIG_CHARGER_SENSE_RESISTOR 10 +#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10 /* * Older boards have a different ADC assignment. diff --git a/board/banshee/charger.c b/board/banshee/charger.c index e6a5c446d7..85e0de90fe 100644 --- a/board/banshee/charger.c +++ b/board/banshee/charger.c @@ -10,7 +10,7 @@ #include "charger.h" #include "compile_time_macros.h" #include "console.h" -#include "driver/charger/bq25710.h" +#include "driver/charger/isl9241.h" #include "usbc_ppc.h" #include "usb_pd.h" #include "util.h" @@ -23,8 +23,8 @@ const struct charger_config_t chg_chips[] = { { .i2c_port = I2C_PORT_CHARGER, - .i2c_addr_flags = BQ25710_SMBUS_ADDR1_FLAGS, - .drv = &bq25710_drv, + .i2c_addr_flags = ISL9241_ADDR_FLAGS, + .drv = &isl9241_drv, }, }; BUILD_ASSERT(ARRAY_SIZE(chg_chips) == CHARGER_NUM); diff --git a/board/banshee/ec.tasklist b/board/banshee/ec.tasklist index 095d81adcf..0b8d0e412b 100644 --- a/board/banshee/ec.tasklist +++ b/board/banshee/ec.tasklist @@ -30,7 +30,5 @@ TASK_ALWAYS(PD_C1, pd_task, NULL, BASEBOARD_PD_TASK_STACK_SIZE) \ TASK_ALWAYS(PD_C2, pd_task, NULL, BASEBOARD_PD_TASK_STACK_SIZE) \ TASK_ALWAYS(PD_C3, pd_task, NULL, BASEBOARD_PD_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 1, BASEBOARD_PD_INT_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_INT_C1, pd_interrupt_handler_task, 1, BASEBOARD_PD_INT_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_INT_C2, pd_interrupt_handler_task, 1, BASEBOARD_PD_INT_TASK_STACK_SIZE) \ - TASK_ALWAYS(PD_INT_C3, pd_interrupt_handler_task, 1, BASEBOARD_PD_INT_TASK_STACK_SIZE) + TASK_ALWAYS(PD_INT_C0, pd_shared_alert_task, (BIT(1) | BIT(0)), BASEBOARD_PD_INT_TASK_STACK_SIZE) \ + TASK_ALWAYS(PD_INT_C1, pd_shared_alert_task, (BIT(3) | BIT(2)), BASEBOARD_PD_INT_TASK_STACK_SIZE) diff --git a/board/banshee/usbc_config.c b/board/banshee/usbc_config.c index 77226b367a..b93c6fb2dc 100644 --- a/board/banshee/usbc_config.c +++ b/board/banshee/usbc_config.c @@ -304,23 +304,21 @@ void board_reset_pd_mcu(void) */ gpio_set_level(GPIO_USB_C0_C1_TCPC_RST_ODL, 0); gpio_set_level(GPIO_USB_C2_C3_TCPC_RST_ODL, 0); - gpio_set_level(IOEX_USB_C0_RT_RST_ODL, 0); - gpio_set_level(IOEX_USB_C1_RT_RST_ODL, 0); - gpio_set_level(IOEX_USB_C2_RT_RST_ODL, 0); - gpio_set_level(IOEX_USB_C3_RT_RST_ODL, 0); /* * delay for power-on to reset-off and min. assertion time */ - msleep(20); + msleep(NCT38XX_RESET_HOLD_DELAY_MS); gpio_set_level(GPIO_USB_C0_C1_TCPC_RST_ODL, 1); gpio_set_level(GPIO_USB_C2_C3_TCPC_RST_ODL, 1); - gpio_set_level(IOEX_USB_C0_RT_RST_ODL, 1); - gpio_set_level(IOEX_USB_C1_RT_RST_ODL, 1); - gpio_set_level(IOEX_USB_C2_RT_RST_ODL, 1); - gpio_set_level(IOEX_USB_C3_RT_RST_ODL, 1); + + nct38xx_reset_notify(USBC_PORT_C0); + nct38xx_reset_notify(USBC_PORT_C1); + nct38xx_reset_notify(USBC_PORT_C2); + nct38xx_reset_notify(USBC_PORT_C3); /* wait for chips to come up */ - msleep(50); + if (NCT3808_RESET_POST_DELAY_MS != 0) + msleep(NCT3808_RESET_POST_DELAY_MS); } static void board_tcpc_init(void) @@ -362,9 +360,10 @@ uint16_t tcpc_get_alert_status(void) uint16_t status = 0; if (gpio_get_level(GPIO_USB_C0_C1_TCPC_INT_ODL) == 0) - status |= PD_STATUS_TCPC_ALERT_0 | PD_STATUS_TCPC_ALERT_1; + status = PD_STATUS_TCPC_ALERT_0 | PD_STATUS_TCPC_ALERT_1; + if (gpio_get_level(GPIO_USB_C2_C3_TCPC_INT_ODL) == 0) - status |= PD_STATUS_TCPC_ALERT_2 | PD_STATUS_TCPC_ALERT_3; + status = PD_STATUS_TCPC_ALERT_2 | PD_STATUS_TCPC_ALERT_3; return status; } @@ -389,7 +388,7 @@ void tcpc_alert_event(enum gpio_signal signal) schedule_deferred_pd_interrupt(USBC_PORT_C0); break; case GPIO_USB_C2_C3_TCPC_INT_ODL: - schedule_deferred_pd_interrupt(USBC_PORT_C1); + schedule_deferred_pd_interrupt(USBC_PORT_C2); break; default: break; -- cgit v1.2.1