diff --git a/board/servo_v4/board.c b/board/servo_v4/board.c index 400ada3f83..66ea97c67c 100644 --- a/board/servo_v4/board.c +++ b/board/servo_v4/board.c @@ -35,19 +35,17 @@ static enum gpio_signal const usb_gpio_list[] = { /* Outputs */ -GPIO_DUT_CHG_EN, +GPIO_DUT_CHG_EN, /* 0 */ GPIO_HOST_OR_CHG_CTL, GPIO_DP_HPD, GPIO_SBU_UART_SEL, GPIO_HOST_USB_HUB_RESET_L, -GPIO_FASTBOOT_DUTHUB_MUX_SEL, +GPIO_FASTBOOT_DUTHUB_MUX_SEL, /* 5 */ GPIO_SBU_MUX_EN, GPIO_FASTBOOT_DUTHUB_MUX_EN_L, GPIO_DUT_HUB_USB_RESET_L, GPIO_ATMEL_HWB_L, -GPIO_ATMEL_RESET_L, -GPIO_EMMC_MUX_SEL, -GPIO_CMUX_EN, +GPIO_CMUX_EN, /* 10 */ GPIO_EMMC_MUX_EN_L, GPIO_EMMC_PWR_EN, @@ -55,15 +53,19 @@ GPIO_EMMC_PWR_EN, /* Inputs */ GPIO_USERVO_FAULT_L, GPIO_USB_FAULT_L, +GPIO_DONGLE_DET, /* 15 */ + +GPIO_USB_DET_PP_DUT, +GPIO_USB_DET_PP_CHG, + GPIO_USB_DUT_CC2_RPUSB, GPIO_USB_DUT_CC2_RD, -GPIO_USB_DUT_CC2_RA, -GPIO_TP17, +GPIO_USB_DUT_CC2_RA, /* 20 */ GPIO_USB_DUT_CC1_PR3A0, GPIO_USB_DUT_CC1_RP1A5, GPIO_USB_DUT_CC1_RPUSB, GPIO_USB_DUT_CC1_RD, -GPIO_USB_DUT_CC1_RA, +GPIO_USB_DUT_CC1_RA, /* 25 */ GPIO_USB_DUT_CC2_PR3A0, GPIO_USB_DUT_CC2_RP1A5, @@ -200,6 +202,8 @@ USB_I2C_CONFIG(usb_i2c, USB_IFACE_I2C, USB_EP_I2C); */ static void board_init(void) { + int tmp; + /* USB to serial queues */ queue_init(&usart3_to_usb); queue_init(&usb_to_usart3); @@ -216,5 +220,15 @@ static void board_init(void) /* Write USB3 Mode Enable to PS8742 USB/DP Mux. */ i2c_write8(1, 0x20, 0x0, 0x20); + + /* Enable uservo USB by default. */ + /* Write USERVO_POWER_EN */ + i2c_write8(1, 0x40, 0x1, 0xff | (1 << 7)); + i2c_read8(1, 0x40, 0x3, &tmp); + i2c_write8(1, 0x40, 0x3, tmp & ~(1 << 7)); + /* Write USERVO_FASTBOOT_MUX_SEL */ + i2c_write8(1, 0x40, 0x0, 0xff & ~(1 << 0)); + i2c_read8(1, 0x40, 0x2, &tmp); + i2c_write8(1, 0x40, 0x2, tmp & ~(1 << 0)); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/servo_v4/gpio.inc b/board/servo_v4/gpio.inc index 373e7f8f31..e0fd79c3ba 100644 --- a/board/servo_v4/gpio.inc +++ b/board/servo_v4/gpio.inc @@ -15,8 +15,6 @@ GPIO(SBU_MUX_EN, PIN(B, 6), GPIO_OUT_LOW) GPIO(FASTBOOT_DUTHUB_MUX_EN_L, PIN(B, 7), GPIO_OUT_LOW) GPIO(DUT_HUB_USB_RESET_L, PIN(B, 9), GPIO_OUT_LOW) GPIO(ATMEL_HWB_L, PIN(B, 12), GPIO_OUT_HIGH) -GPIO(ATMEL_RESET_L, PIN(C, 12), GPIO_OUT_LOW) -GPIO(EMMC_MUX_SEL, PIN(C, 13), GPIO_OUT_LOW) GPIO(CMUX_EN, PIN(C, 14), GPIO_OUT_HIGH) GPIO(EMMC_MUX_EN_L, PIN(F, 0), GPIO_OUT_HIGH) GPIO(EMMC_PWR_EN, PIN(F, 1), GPIO_OUT_LOW) @@ -26,8 +24,7 @@ GPIO(EMMC_PWR_EN, PIN(F, 1), GPIO_OUT_LOW) GPIO(DP_HPD, PIN(A, 14), GPIO_INPUT) GPIO(USERVO_FAULT_L, PIN(A, 8), GPIO_INPUT) GPIO(USB_FAULT_L, PIN(A, 9), GPIO_INPUT) - -GPIO(TP17, PIN(C, 15), GPIO_INPUT) +GPIO(DONGLE_DET, PIN(C, 15), GPIO_INPUT) /* Type-C */ /* PD RX/TX */ @@ -37,6 +34,9 @@ GPIO(USB_CHG_CC2_PD, PIN(A, 4), GPIO_ANALOG) GPIO(USB_DUT_CC1_PD, PIN(A, 0), GPIO_ANALOG) GPIO(USB_DUT_CC2_PD, PIN(A, 5), GPIO_ANALOG) +GPIO(USB_DET_PP_DUT, PIN(C, 12), GPIO_INPUT) +GPIO(USB_DET_PP_CHG, PIN(C, 13), GPIO_INPUT) + GPIO(USB_CHG_CC1_TX_DATA, PIN(B, 4), GPIO_INPUT) GPIO(USB_CHG_CC2_TX_DATA, PIN(A, 6), GPIO_INPUT) GPIO(USB_DUT_CC1_TX_DATA, PIN(B, 14), GPIO_INPUT) @@ -72,7 +72,7 @@ UNIMPLEMENTED(WP_L) ALTERNATE(PIN_MASK(C, 0x0030), 1, MODULE_USART, 0) /* USART3: PC4/PC5 - Servo DUT UART */ ALTERNATE(PIN_MASK(C, 0x0C00), 0, MODULE_USART, 0) /* USART4: PC10/PC11 - Servo UART3 */ -ALTERNATE(PIN_MASK(B, 0x0C00), 1, MODULE_I2C, 0) /* I2C MASTER:PB8/9 GPIO_ODR_HIGH */ +ALTERNATE(PIN_MASK(B, 0x0C00), 1, MODULE_I2C, GPIO_ODR_HIGH) /* I2C MASTER:PB8/9 */ 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 */