diff options
author | Soren Brinkmann <soren.brinkmann@xilinx.com> | 2016-06-10 09:57:14 -0700 |
---|---|---|
committer | Soren Brinkmann <soren.brinkmann@xilinx.com> | 2016-06-15 09:05:11 -0700 |
commit | 7de544ac04848cacb30547d3e95db138896d73a9 (patch) | |
tree | fc24b21aff1a9295be78a36da7821ab1a65cc2cb /plat | |
parent | 8eadeb4adeabffe25df5cbfaaa69f7f9b1f362ae (diff) |
zynqmp: Add option to select between Cadence UARTs
Add build time option 'cadence1' for ZYNQMP_CONSOLE to select the 2nd
UART available in the SoC.
Signed-off-by: Soren Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'plat')
-rw-r--r-- | plat/xilinx/zynqmp/bl31_zynqmp_setup.c | 2 | ||||
-rw-r--r-- | plat/xilinx/zynqmp/platform.mk | 3 | ||||
-rw-r--r-- | plat/xilinx/zynqmp/tsp/tsp_plat_setup.c | 2 | ||||
-rw-r--r-- | plat/xilinx/zynqmp/zynqmp_def.h | 17 |
4 files changed, 21 insertions, 3 deletions
diff --git a/plat/xilinx/zynqmp/bl31_zynqmp_setup.c b/plat/xilinx/zynqmp/bl31_zynqmp_setup.c index 7b8c5670..6f1a18b1 100644 --- a/plat/xilinx/zynqmp/bl31_zynqmp_setup.c +++ b/plat/xilinx/zynqmp/bl31_zynqmp_setup.c @@ -96,7 +96,7 @@ void bl31_early_platform_setup(bl31_params_t *from_bl2, void *plat_params_from_bl2) { /* Initialize the console to provide early debug support */ - console_init(ZYNQMP_UART0_BASE, zynqmp_get_uart_clk(), + console_init(ZYNQMP_UART_BASE, zynqmp_get_uart_clk(), ZYNQMP_UART_BAUDRATE); /* Initialize the platform config for future decision making */ diff --git a/plat/xilinx/zynqmp/platform.mk b/plat/xilinx/zynqmp/platform.mk index abbb15a5..ad87cd94 100644 --- a/plat/xilinx/zynqmp/platform.mk +++ b/plat/xilinx/zynqmp/platform.mk @@ -53,6 +53,9 @@ ifdef ZYNQMP_BL32_MEM_BASE $(eval $(call add_define,ZYNQMP_BL32_MEM_SIZE)) endif +ZYNQMP_CONSOLE ?= cadence +$(eval $(call add_define_val,ZYNQMP_CONSOLE,ZYNQMP_CONSOLE_ID_${ZYNQMP_CONSOLE})) + PLAT_INCLUDES := -Iinclude/plat/arm/common/ \ -Iinclude/plat/arm/common/aarch64/ \ -Iplat/xilinx/zynqmp/include/ \ diff --git a/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c b/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c index d600450d..58a3e2a1 100644 --- a/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c +++ b/plat/xilinx/zynqmp/tsp/tsp_plat_setup.c @@ -68,7 +68,7 @@ void tsp_early_platform_setup(void) * Initialize a different console than already in use to display * messages from TSP */ - console_init(ZYNQMP_UART0_BASE, zynqmp_get_uart_clk(), + console_init(ZYNQMP_UART_BASE, zynqmp_get_uart_clk(), ZYNQMP_UART_BAUDRATE); /* Initialize the platform config for future decision making */ diff --git a/plat/xilinx/zynqmp/zynqmp_def.h b/plat/xilinx/zynqmp/zynqmp_def.h index 4ff1f468..4bb332e0 100644 --- a/plat/xilinx/zynqmp/zynqmp_def.h +++ b/plat/xilinx/zynqmp/zynqmp_def.h @@ -33,6 +33,13 @@ #include <common_def.h> +#define ZYNQMP_CONSOLE_ID_cadence 1 +#define ZYNQMP_CONSOLE_ID_cadence0 1 +#define ZYNQMP_CONSOLE_ID_cadence1 2 +#define ZYNQMP_CONSOLE_ID_dcc 3 + +#define ZYNQMP_CONSOLE_IS(con) (ZYNQMP_CONSOLE_ID_ ## con == ZYNQMP_CONSOLE) + /* Firmware Image Package */ #define ZYNQMP_PRIMARY_CPU 0 @@ -141,7 +148,15 @@ #define ZYNQMP_UART0_BASE 0xFF000000 #define ZYNQMP_UART1_BASE 0xFF001000 -#define PLAT_ARM_CRASH_UART_BASE ZYNQMP_UART0_BASE +#if ZYNQMP_CONSOLE_IS(cadence) +# define ZYNQMP_UART_BASE ZYNQMP_UART0_BASE +#elif ZYNQMP_CONSOLE_IS(cadence1) +# define ZYNQMP_UART_BASE ZYNQMP_UART1_BASE +#else +# error "invalid ZYNQMP_CONSOLE" +#endif + +#define PLAT_ARM_CRASH_UART_BASE ZYNQMP_UART_BASE /* impossible to call C routine how it is done now - hardcode any value */ #define PLAT_ARM_CRASH_UART_CLK_IN_HZ 100000000 /* FIXME */ |