mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-11 02:15:14 +00:00
servo v4: Add new GPIO mappings for rev2
Servo V4 rev2 has slightly different gpio mappings. Note that this change will cause rev1 to not work. Allow uservo routing before servod init. Further work is needed on uservo port preinit as servod will reset the port on startup, disconnecting uservo. BRANCH=none BUG=chromium:571476 TEST=Boot, use dut-control, see uservo. Change-Id: I6436eed030cfdd329c5bd0cbca49038b268c2b71 Signed-off-by: Nick Sanders <nsanders@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/359620 Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user