diff options
-rw-r--r-- | board/vilboz/board.c | 113 | ||||
-rw-r--r-- | board/vilboz/board.h | 7 | ||||
-rw-r--r-- | board/vilboz/ec.tasklist | 4 | ||||
-rw-r--r-- | board/vilboz/gpio.inc | 7 |
4 files changed, 3 insertions, 128 deletions
diff --git a/board/vilboz/board.c b/board/vilboz/board.c index 6c7a153c75..9e3f6762bc 100644 --- a/board/vilboz/board.c +++ b/board/vilboz/board.c @@ -11,11 +11,8 @@ #include "driver/bc12/pi3usb9201.h" #include "driver/ioexpander/pcal6408.h" #include "driver/ppc/aoz1380.h" -#include "driver/ppc/nx20p348x.h" #include "driver/tcpm/nct38xx.h" #include "driver/usb_mux/amd_fp5.h" -#include "driver/usb_mux/ps8740.h" -#include "driver/usb_mux/ps8743.h" #include "extpower.h" #include "fan.h" #include "fan_chip.h" @@ -32,6 +29,7 @@ #include "task.h" #include "usb_charge.h" #include "usb_pd_tcpm.h" +#include "usb_mux.h" #include "usbc_ppc.h" #define CPRINTSUSB(format, args...) cprints(CC_USBCHARGE, format, ## args) @@ -40,14 +38,6 @@ /* This I2C moved. Temporarily detect and support the V0 HW. */ int I2C_PORT_BATTERY = I2C_PORT_BATTERY_V1; -/* Interrupt handler varies with DB option. */ -void (*c1_tcpc_config_interrupt)(enum gpio_signal signal) = tcpc_alert_event; - -void c1_tcpc_interrupt(enum gpio_signal signal) -{ - c1_tcpc_config_interrupt(signal); -} - void hdmi_hpd_interrupt(enum gpio_signal signal) { gpio_set_level(GPIO_DP1_HPD, gpio_get_level(signal)); @@ -161,30 +151,6 @@ unsigned int motion_sensor_count = ARRAY_SIZE(motion_sensors); /* These IO expander GPIOs vary with DB option. */ enum gpio_signal IOEX_USB_A1_CHARGE_EN_DB_L = IOEX_USB_A1_CHARGE_EN_DB_L_OPT1; -static int board_ps8743_mux_set(const struct usb_mux *me, - mux_state_t mux_state) -{ - int rv = EC_SUCCESS; - int reg = 0; - - rv = ps8743_read(me, PS8743_REG_MODE, ®); - if (rv) - return rv; - - /* Disable FLIP pin, enable I2C control. */ - reg |= PS8743_MODE_FLIP_REG_CONTROL; - /* Disable CE_USB pin, enable I2C control. */ - reg |= PS8743_MODE_USB_REG_CONTROL; - /* Disable CE_DP pin, enable I2C control. */ - reg |= PS8743_MODE_DP_REG_CONTROL; - - return ps8743_write(me, PS8743_REG_MODE, reg); -} - -/***************************************************************************** - * USB-C - */ - /* * USB C0 port SBU mux use standalone FSUSB42UMX * chip and it need a board specific driver. @@ -219,14 +185,6 @@ const struct usb_mux usbc0_sbu_mux = { .driver = &usbc0_sbu_mux_driver, }; -struct usb_mux usbc1_amd_fp5_usb_mux = { - .usb_port = USBC_PORT_C1, - .i2c_port = I2C_PORT_USB_AP_MUX, - .i2c_addr_flags = AMD_FP5_MUX_I2C_ADDR_FLAGS, - .driver = &amd_fp5_usb_mux_driver, - .flags = USB_MUX_FLAG_SET_WITHOUT_FLIP, -}; - struct usb_mux usb_muxes[] = { [USBC_PORT_C0] = { .usb_port = USBC_PORT_C0, @@ -235,13 +193,6 @@ struct usb_mux usb_muxes[] = { .driver = &amd_fp5_usb_mux_driver, .next_mux = &usbc0_sbu_mux, }, - [USBC_PORT_C1] = { - .usb_port = USBC_PORT_C1, - .i2c_port = I2C_PORT_TCPC1, - .i2c_addr_flags = PS8743_I2C_ADDR1_FLAG, - .driver = &ps8743_usb_mux_driver, - .next_mux = &usbc1_amd_fp5_usb_mux, - } }; BUILD_ASSERT(ARRAY_SIZE(usb_muxes) == USBC_PORT_COUNT); @@ -250,12 +201,6 @@ struct ppc_config_t ppc_chips[] = { /* Device does not talk I2C */ .drv = &aoz1380_drv }, - - [USBC_PORT_C1] = { - .i2c_port = I2C_PORT_TCPC1, - .i2c_addr_flags = NX20P3483_ADDR1_FLAGS, - .drv = &nx20p348x_drv - }, }; BUILD_ASSERT(ARRAY_SIZE(ppc_chips) == USBC_PORT_COUNT); unsigned int ppc_cnt = ARRAY_SIZE(ppc_chips); @@ -267,10 +212,6 @@ void ppc_interrupt(enum gpio_signal signal) aoz1380_interrupt(USBC_PORT_C0); break; - case GPIO_USB_C1_PPC_INT_ODL: - nx20p348x_interrupt(USBC_PORT_C1); - break; - default: break; } @@ -337,10 +278,6 @@ void board_overcurrent_event(int port, int is_overcurrented) ioex_set_level(IOEX_USB_C0_FAULT_ODL, !is_overcurrented); break; - case USBC_PORT_C1: - ioex_set_level(IOEX_USB_C1_FAULT_ODL, !is_overcurrented); - break; - default: break; } @@ -356,15 +293,6 @@ const struct tcpc_config_t tcpc_config[] = { .drv = &nct38xx_tcpm_drv, .flags = TCPC_FLAGS_TCPCI_REV2_0, }, - [USBC_PORT_C1] = { - .bus_type = EC_BUS_TYPE_I2C, - .i2c_info = { - .port = I2C_PORT_TCPC1, - .addr_flags = NCT38XX_I2C_ADDR1_1_FLAGS, - }, - .drv = &nct38xx_tcpm_drv, - .flags = TCPC_FLAGS_TCPCI_REV2_0, - }, }; BUILD_ASSERT(ARRAY_SIZE(tcpc_config) == USBC_PORT_COUNT); BUILD_ASSERT(CONFIG_USB_PD_PORT_MAX_COUNT == USBC_PORT_COUNT); @@ -374,11 +302,6 @@ const struct pi3usb9201_config_t pi3usb9201_bc12_chips[] = { .i2c_port = I2C_PORT_TCPC0, .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, }, - - [USBC_PORT_C1] = { - .i2c_port = I2C_PORT_TCPC1, - .i2c_addr_flags = PI3USB9201_I2C_ADDR_3_FLAGS, - }, }; BUILD_ASSERT(ARRAY_SIZE(pi3usb9201_bc12_chips) == USBC_PORT_COUNT); @@ -399,10 +322,6 @@ void board_reset_pd_mcu(void) NCT38XX_RESET_HOLD_DELAY_MS, NCT38XX_RESET_POST_DELAY_MS); - /* Reset TCPC1 */ - reset_pd_port(USBC_PORT_C1, GPIO_USB_C1_TCPC_RST_L, - NCT38XX_RESET_HOLD_DELAY_MS, - NCT38XX_RESET_POST_DELAY_MS); } uint16_t tcpc_get_alert_status(void) @@ -418,11 +337,6 @@ uint16_t tcpc_get_alert_status(void) status |= PD_STATUS_TCPC_ALERT_0; } - if (!gpio_get_level(GPIO_USB_C1_TCPC_INT_ODL)) { - if (gpio_get_level(GPIO_USB_C1_TCPC_RST_L) != 0) - status |= PD_STATUS_TCPC_ALERT_1; - } - return status; } @@ -434,9 +348,6 @@ void tcpc_alert_event(enum gpio_signal signal) case GPIO_USB_C0_TCPC_INT_ODL: port = 0; break; - case GPIO_USB_C1_TCPC_INT_ODL: - port = 1; - break; default: return; } @@ -451,10 +362,6 @@ void bc12_interrupt(enum gpio_signal signal) task_set_event(TASK_ID_USB_CHG_P0, USB_CHG_EVENT_BC12, 0); break; - case GPIO_USB_C1_BC12_INT_ODL: - task_set_event(TASK_ID_USB_CHG_P1, USB_CHG_EVENT_BC12, 0); - break; - default: break; } @@ -462,20 +369,6 @@ void bc12_interrupt(enum gpio_signal signal) static void setup_fw_config(void) { - uint32_t board_version = 0; - - if (cbi_get_board_version(&board_version) == EC_SUCCESS - && board_version >= 2) { - ccprints("PS8743 USB MUX"); - usb_muxes[USBC_PORT_C1].i2c_addr_flags = PS8743_I2C_ADDR1_FLAG; - usb_muxes[USBC_PORT_C1].driver = &ps8743_usb_mux_driver; - usb_muxes[USBC_PORT_C1].board_set = &board_ps8743_mux_set; - } else { - ccprints("PS8740 USB MUX"); - usb_muxes[USBC_PORT_C1].i2c_addr_flags = PS8740_I2C_ADDR0_FLAG; - usb_muxes[USBC_PORT_C1].driver = &ps8740_usb_mux_driver; - } - if (ec_config_get_usb_db() == DALBOZ_DB_D_OPT2_USBA_HDMI) { ccprints("DB OPT2 HDMI"); gpio_enable_interrupt(GPIO_HDMI_CONN_HPD_3V3); @@ -485,20 +378,16 @@ static void setup_fw_config(void) ioex_init(IOEX_C1_NCT3807); IOEX_USB_A1_CHARGE_EN_DB_L = IOEX_USB_A1_CHARGE_EN_DB_L_OPT1; usb_port_enable[USBA_PORT_A1] = GPIO_EN_USB_A1_5V; - c1_tcpc_config_interrupt = tcpc_alert_event; } /* Enable PPC interrupts. */ gpio_enable_interrupt(GPIO_USB_C0_PPC_FAULT_ODL); - gpio_enable_interrupt(GPIO_USB_C1_PPC_INT_ODL); /* Enable TCPC interrupts. */ gpio_enable_interrupt(GPIO_USB_C0_TCPC_INT_ODL); - gpio_enable_interrupt(GPIO_USB_C1_TCPC_INT_ODL); /* Enable BC 1.2 interrupts */ gpio_enable_interrupt(GPIO_USB_C0_BC12_INT_ODL); - gpio_enable_interrupt(GPIO_USB_C1_BC12_INT_ODL); if (ec_config_has_lid_angle_tablet_mode()) { /* Enable Gyro interrupts */ diff --git a/board/vilboz/board.h b/board/vilboz/board.h index fa95f0bd0d..cc159c16d4 100644 --- a/board/vilboz/board.h +++ b/board/vilboz/board.h @@ -22,11 +22,7 @@ #define CONFIG_MKBP_USE_GPIO -#define CONFIG_USBC_PPC_NX20P3483 -#define CONFIG_USB_MUX_PS8740 -#define CONFIG_USB_MUX_PS8743 - -#define CONFIG_USB_PD_PORT_MAX_COUNT 2 +#define CONFIG_USB_PD_PORT_MAX_COUNT 1 /* Power LEDs */ #define CONFIG_LED_POWER_LED @@ -147,7 +143,6 @@ enum ec_cfg_usb_db_type { enum usbc_port { USBC_PORT_C0 = 0, - USBC_PORT_C1, USBC_PORT_COUNT }; diff --git a/board/vilboz/ec.tasklist b/board/vilboz/ec.tasklist index 2874dff927..d56fd9da10 100644 --- a/board/vilboz/ec.tasklist +++ b/board/vilboz/ec.tasklist @@ -20,6 +20,4 @@ TASK_ALWAYS(POWERBTN, power_button_task, NULL, VENTI_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) + TASK_ALWAYS(PD_INT_C0, pd_interrupt_handler_task, 0, TASK_STACK_SIZE) diff --git a/board/vilboz/gpio.inc b/board/vilboz/gpio.inc index abdf0b8adb..4e458a6be0 100644 --- a/board/vilboz/gpio.inc +++ b/board/vilboz/gpio.inc @@ -9,12 +9,8 @@ * Note: Those with interrupt handlers must be declared first. */ GPIO_INT(USB_C0_TCPC_INT_ODL, PIN(3, 4), GPIO_INT_FALLING, tcpc_alert_event) -GPIO_INT(USB_C1_TCPC_INT_ODL, PIN(F, 1), GPIO_INT_FALLING, c1_tcpc_interrupt) GPIO_INT(USB_C0_PPC_FAULT_ODL, PIN(6, 3), GPIO_INT_FALLING, ppc_interrupt) -/* TODO remove ppc C1 */ -UNIMPLEMENTED(USB_C1_PPC_INT_ODL) GPIO_INT(USB_C0_BC12_INT_ODL, PIN(9, 3), GPIO_INT_FALLING | GPIO_PULL_UP, bc12_interrupt) -GPIO_INT(USB_C1_BC12_INT_ODL, PIN(A, 4), GPIO_INT_FALLING | GPIO_PULL_UP, bc12_interrupt) GPIO_INT(SLP_S3_L, PIN(7, 4), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(SLP_S5_L, PIN(E, 0), GPIO_INT_BOTH, power_signal_interrupt) GPIO_INT(S0_PWROK_OD, PIN(5, 6), GPIO_INT_BOTH, power_signal_interrupt) @@ -46,8 +42,6 @@ GPIO(EC_FCH_WAKE_L, PIN(0, 3), GPIO_OUT_HIGH) /* Wake SOC */ GPIO(EC_FCH_SCI_ODL, PIN(7, 6), GPIO_ODR_HIGH) /* SCI to SOC */ GPIO(EC_SYS_RST_L, PIN(C, 7), GPIO_ODR_HIGH) /* Cold Reset to SOC */ GPIO(USB_C0_TCPC_RST_L, PIN(E, 1), GPIO_OUT_HIGH) /* C0 TCPC Reset */ -/* TODO will remove TCPC C1 */ -UNIMPLEMENTED(USB_C1_TCPC_RST_L) GPIO(EN_USB_A1_5V, PIN(F, 0), GPIO_OUT_LOW) /* A1 5V Source Enable */ GPIO(USB3_C0_DP2_HPD, PIN(F, 5), GPIO_OUT_LOW) /* C0 DP Hotplug Detect */ GPIO(DP1_HPD, PIN(F, 4), GPIO_OUT_LOW) /* C1 DP Hotplug Detect */ @@ -65,7 +59,6 @@ GPIO(LED3_PWM, PIN(C, 3), GPIO_OUT_HIGH) */ IOEX(USB_C0_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 0, 3), GPIO_ODR_HIGH) /* C0 Fault to SOC */ IOEX(USB_C0_TCPC_FASTSW_CTL_EN, EXPIN(IOEX_C0_NCT3807, 0, 4), GPIO_OUT_LOW) /* C0 FastSwitch Control */ -IOEX(USB_C1_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 1, 0), GPIO_ODR_HIGH) /* C1 Fault to SOC */ IOEX(USB_C0_PPC_ILIM_3A_EN, EXPIN(IOEX_C0_NCT3807, 1, 1), GPIO_OUT_LOW) /* C0 3A Current Limit Enable */ IOEX(USB_C0_SBU_FAULT_ODL, EXPIN(IOEX_C0_NCT3807, 1, 2), GPIO_INPUT) /* C0 SBU Fault */ IOEX(KB_BL_EN, EXPIN(IOEX_C0_NCT3807, 1, 3), GPIO_OUT_LOW) /* KB Backlight Enable */ |