blob: 0a142590862660f86f41a57e9feb791db541e7bf [file] [log] [blame]
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +00001#!/bin/bash
2
Patrick Williams0731ef82023-04-16 16:41:45 -05003# shellcheck source=meta-ampere/meta-jade/recipes-ampere/platform/ampere-utils/gpio-lib.sh
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +00004source /usr/sbin/gpio-lib.sh
Patrick Williams0731ef82023-04-16 16:41:45 -05005# shellcheck source=meta-ampere/meta-jade/recipes-ampere/platform/ampere-utils/gpio-defs.sh
Thang Q. Nguyenbddca602022-07-29 14:45:33 +07006source /usr/sbin/gpio-defs.sh
Chau Ly0a0f3482023-04-13 05:06:28 +00007source /usr/sbin/ampere_uart_console_setup.sh
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +00008
Thang Q. Nguyenbddca602022-07-29 14:45:33 +07009# Configure to boot from MAIN SPI-HOST
10gpio_configure_output "$SPI0_BACKUP_SEL" 0
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000011
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070012gpio_configure_input "$S0_I2C9_ALERT_L"
13gpio_configure_input "$S1_I2C9_ALERT_L"
14gpio_configure_input "$GPIO_BMC_VGA_FRONT_PRES_L"
15gpio_configure_input "$GPIO_S0_VRHOT_L"
16gpio_configure_input "$GPIO_S1_VRHOT_L"
17gpio_configure_output "$BMC_VGA_SEL" 1
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000018
19# =======================================================
20# Below GPIOs are controlled by other services so just
21# initialize in A/C power only.
Thang Q. Nguyened818132022-02-22 10:48:32 +000022bootstatus=$(cat /sys/class/watchdog/watchdog0/bootstatus)
23if [ "$bootstatus" == '32' ]; then
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070024 gpio_configure_output "$BMC_GPIOR2_EXT_HIGHTEMP_L" 1
25 gpio_configure_output "$GPIO_BMC_VR_PMBUS_SEL_L" 1
26 gpio_configure_output "$GPIO_BMC_I2C6_RESET_L" 1
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000027
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070028 # Initialize OCP register
29 gpio_configure_output "$OCP_MAIN_PWREN" 0
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000030
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070031 # Configure SPI-NOR/EEPROM switching
32 gpio_configure_output "$SPI0_PROGRAM_SEL" 0
33 gpio_configure_output "$BMC_I2C_BACKUP_SEL" 1
34 gpio_configure_output "$SPI0_BACKUP_SEL" 0
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000035
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070036 # Initialize BMC_SYS_PSON_L, SHD_REQ_L, BMC_SYSRESET_L
37 gpio_configure_output "$SYS_PSON_L" 1
38 gpio_configure_output "$S0_SHD_REQ_L" 1
39 gpio_configure_output "$S0_SYSRESET_L" 1
40 gpio_configure_output "$S1_SYSRESET_L" 1
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000041
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070042 # RTC Lock, SPECIAL_BOOT
43 gpio_configure_output "$RTC_LOCK" 0
44 gpio_configure_output "$S0_SPECIAL_BOOT" 0
45 gpio_configure_output "$S1_SPECIAL_BOOT" 0
Thang Q. Nguyen7d0f84a2021-09-23 06:47:52 +000046fi
Thang Q. Nguyenbddca602022-07-29 14:45:33 +070047
48gpio_configure_output "$BMC_READY" 1
Chau Ly0a0f3482023-04-13 05:06:28 +000049# =======================================================
50# Setting uart muxes to BMC as default
51uart_console_setup