From 4a47178dd9f5b4d1d3469ef68a3f0a95a1c609fc Mon Sep 17 00:00:00 2001 From: Nick Sanders Date: Wed, 6 Dec 2017 16:04:00 -0800 Subject: servo_micro: default to UART3 enabled This sets power on defaults for UART3 to be routed to the glados style uart-on-jtag pinout. This is pretty standardized going forward. BUG=None BRANCH=servo-9040.b TEST=miniterm.py /dev/google/Servo_Micro-2-1.2/serial/Servo_UART3 Change-Id: I397df8fc09da681eba28cae489e2f6eaef8a87d0 Signed-off-by: Nick Sanders Reviewed-on: https://chromium-review.googlesource.com/813180 Reviewed-by: Aseda Aboagye (cherry picked from commit ee3cb8c898268edcc869288a3dd318c0fefcd636) Reviewed-on: https://chromium-review.googlesource.com/815186 --- board/servo_micro/board.c | 17 +++++++++++++++++ board/servo_micro/gpio.inc | 12 ++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/board/servo_micro/board.c b/board/servo_micro/board.c index 76ec1bd833..0e17692dfb 100644 --- a/board/servo_micro/board.c +++ b/board/servo_micro/board.c @@ -290,5 +290,22 @@ static void board_init(void) /* Structured enpoints */ usb_spi_enable(&usb_spi, 1); + + /* Enable UARTs by default. */ + gpio_set_level(GPIO_UART1_EN_L, 0); + gpio_set_level(GPIO_UART2_EN_L, 0); + /* Disable power output. */ + gpio_set_level(GPIO_SPI1_VREF_18, 0); + gpio_set_level(GPIO_SPI1_VREF_33, 0); + gpio_set_level(GPIO_SPI2_VREF_18, 0); + gpio_set_level(GPIO_SPI2_VREF_33, 0); + /* Enable UART3 routing. */ + gpio_set_level(GPIO_SPI1_MUX_SEL, 1); + gpio_set_level(GPIO_SPI1_BUF_EN_L, 1); + gpio_set_level(GPIO_JTAG_BUFIN_EN_L, 0); + gpio_set_level(GPIO_SERVO_JTAG_TDO_BUFFER_EN, 1); + gpio_set_level(GPIO_SERVO_JTAG_TDO_SEL, 1); + gpio_set_flags(GPIO_UART3_RX_JTAG_BUFFER_TO_SERVO_TDO, GPIO_ALTERNATE); + gpio_set_flags(GPIO_UART3_TX_SERVO_JTAG_TCK, GPIO_ALTERNATE); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/servo_micro/gpio.inc b/board/servo_micro/gpio.inc index 598a462421..2118487860 100644 --- a/board/servo_micro/gpio.inc +++ b/board/servo_micro/gpio.inc @@ -20,17 +20,17 @@ GPIO(SERVO_JTAG_TRST_DIR, PIN(B, 6), GPIO_OUT_HIGH) GPIO(SERVO_JTAG_TDI_DIR, PIN(B, 7), GPIO_OUT_HIGH) GPIO(TCA6416_RESET_L, PIN(C, 13), GPIO_OUT_LOW) -GPIO(SPI1_MUX_SEL, PIN(A, 5), GPIO_OUT_LOW) +GPIO(SPI1_MUX_SEL, PIN(A, 5), GPIO_OUT_HIGH) GPIO(SERVO_JTAG_TMS_DIR, PIN(C, 14), GPIO_OUT_LOW) -GPIO(SERVO_JTAG_TDO_SEL, PIN(C, 15), GPIO_OUT_LOW) +GPIO(SERVO_JTAG_TDO_SEL, PIN(C, 15), GPIO_OUT_HIGH) GPIO(JTAG_BUFOUT_EN_L, PIN(F, 0), GPIO_OUT_HIGH) -GPIO(JTAG_BUFIN_EN_L, PIN(F, 1), GPIO_OUT_HIGH) +GPIO(JTAG_BUFIN_EN_L, PIN(F, 1), GPIO_OUT_LOW) /* Inputs */ GPIO(SERVO_JTAG_TMS, PIN(A, 4), GPIO_INPUT) -GPIO(UART3_TX_SERVO_JTAG_TCK, PIN(A, 0), GPIO_INPUT) -GPIO(UART3_RX_JTAG_BUFFER_TO_SERVO_TDO, PIN(A, 1), GPIO_INPUT) -GPIO(SERVO_JTAG_TDO_BUFFER_EN, PIN(A, 6), GPIO_INPUT) +GPIO(UART3_TX_SERVO_JTAG_TCK, PIN(A, 0), GPIO_ALTERNATE) +GPIO(UART3_RX_JTAG_BUFFER_TO_SERVO_TDO, PIN(A, 1), GPIO_ALTERNATE) +GPIO(SERVO_JTAG_TDO_BUFFER_EN, PIN(A, 6), GPIO_OUT_HIGH) GPIO(SERVO_JTAG_TDI, PIN(A, 7), GPIO_INPUT) GPIO(SERVO_JTAG_RTCK, PIN(B, 1), GPIO_INPUT) -- cgit v1.2.1