diff options
Diffstat (limited to 'plat/rpi/common/rpi3_common.c')
-rw-r--r-- | plat/rpi/common/rpi3_common.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plat/rpi/common/rpi3_common.c b/plat/rpi/common/rpi3_common.c index 8fc357a788..ef88bf10e6 100644 --- a/plat/rpi/common/rpi3_common.c +++ b/plat/rpi/common/rpi3_common.c @@ -13,6 +13,7 @@ #include <common/debug.h> #include <bl31/interrupt_mgmt.h> #include <drivers/console.h> +#include <drivers/rpi3/gpio/rpi3_gpio.h> #include <drivers/ti/uart/uart_16550.h> #include <drivers/arm/pl011.h> #include <lib/xlat_tables/xlat_tables_v2.h> @@ -105,9 +106,10 @@ static const mmap_region_t plat_rpi3_mmap[] = { ******************************************************************************/ static console_t rpi3_console; + static bool rpi3_use_mini_uart(void) { - return true; + return rpi3_gpio_get_select(14) == RPI3_GPIO_FUNC_ALT5; } void rpi3_console_init(void) @@ -118,6 +120,8 @@ void rpi3_console_init(void) if (RPI3_RUNTIME_UART != -1) console_scope |= CONSOLE_FLAG_RUNTIME; + rpi3_gpio_init(); + if (rpi3_use_mini_uart()) rc = console_16550_register(PLAT_RPI_MINI_UART_BASE, 0, |