blob: 3148b61cc896c23e58af86d26d5cbf492162695d [file] [log] [blame]
Chau Lyb10e6e72023-04-13 04:40:02 +00001#!/bin/bash
2#
3# shellcheck disable=SC2046
4# This can be called to set uart mux manually
5
6if [ $# -lt 2 ]; then
7 exit 1
8fi
9
10case "$1" in
11 1) GPIO_UARTx_MODE0="uart1-mode0"
12 GPIO_UARTx_MODE1="uart1-mode1"
13 ;;
14 2) GPIO_UARTx_MODE0="uart2-mode0"
15 GPIO_UARTx_MODE1="uart2-mode1"
16 ;;
17 3) GPIO_UARTx_MODE0="uart3-mode0"
18 GPIO_UARTx_MODE1="uart3-mode1"
19 ;;
20 4) GPIO_UARTx_MODE0="uart4-mode0"
21 GPIO_UARTx_MODE1="uart4-mode1"
22 ;;
23 *) echo "Invalid UART port selection"
24 exit 1
25 ;;
26esac
27
28echo "Ampere UART MUX CTRL UART port $1 to mode $2"
29
30case "$2" in
31 # To HDR
32 1) gpioset $(gpiofind "$GPIO_UARTx_MODE0")=1
33 gpioset $(gpiofind "$GPIO_UARTx_MODE1")=0
34 exit 0
35 ;;
36 # To BMC
37 2) gpioset $(gpiofind "$GPIO_UARTx_MODE0")=0
38 gpioset $(gpiofind "$GPIO_UARTx_MODE1")=1
39 exit 0
40 ;;
41 *) echo "Invalid UART mode selection"
42 exit 1
43 ;;
44esac