feat(zynqmp): add DTB console to platform.mk

In the platform.mk file, new console types named dtb are to be created
a macro, ZYNQMP_CONSOLE_ID_dtb, will be introduced to check DT console.
Users will have the option to select ZYNQMP_CONSOLE to dtb, which will
run from the DDR address. The address XILINX_OF_BOARD_DTB_ADDR needs
to be provided. This configuration will register the DT console in TF-A.
Flags for the ZynqMP platform and other AMD-Xilinx platforms will be
updated to utilize common code.

Change-Id: If74da4a80196575335c9d5562e6d8cd12d99561c
Signed-off-by: Prasad Kummari <prasad.kummari@amd.com>
Signed-off-by: Maheedhar Bollapalli <MaheedharSai.Bollapalli@amd.com>
diff --git a/plat/xilinx/common/plat_console.c b/plat/xilinx/common/plat_console.c
index 72fd881..f253534 100644
--- a/plat/xilinx/common/plat_console.c
+++ b/plat/xilinx/common/plat_console.c
@@ -25,8 +25,9 @@
 
 static console_t boot_console;
 
-#if (defined(XILINX_OF_BOARD_DTB_ADDR) && !IS_TFA_IN_OCM(BL31_BASE)) || \
-	defined(CONSOLE_RUNTIME)
+#if (CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
+	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
+				   !IS_TFA_IN_OCM(BL31_BASE))) || defined(CONSOLE_RUNTIME)
 /**
  * register_console() - Registers the runtime uart with console list.
  * @uart_base: UART base address
@@ -67,8 +68,10 @@
 }
 #endif
 
-#if (defined(XILINX_OF_BOARD_DTB_ADDR) && !IS_TFA_IN_OCM(BL31_BASE))
 
+#if (CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
+	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
+				   !IS_TFA_IN_OCM(BL31_BASE)))
 static console_t dt_console;
 /**
  * get_baudrate() - Get the baudrate form DTB.
@@ -202,21 +205,18 @@
 	ret = is_valid_dtb(dtb);
 	if (ret < 0) {
 		ERROR("Invalid Device Tree at %p: error %d\n", dtb, ret);
-		ret  = -FDT_ERR_NOTFOUND;
 		goto error;
 	}
 
 	node = fdt_get_stdout_node_offset(dtb);
 	if (node < 0) {
 		ERROR("DT get stdout node failed : %d\n", node);
-		ret  = -FDT_ERR_NOTFOUND;
 		goto error;
 	}
 
 	ret = fdt_add_uart_info(info, node, dtb);
 	if (ret < 0) {
 		ERROR("Failed to add DT UART info: %d\n", ret);
-		ret  = -FDT_ERR_NOTFOUND;
 		goto error;
 	}
 
@@ -366,9 +366,10 @@
 	static console_t runtime_console;
 	uintptr_t rt_uart_base = 0;
 	uint32_t buad_rate = 0;
-	static dt_uart_info_t dt_info = {0};
 
-#if (defined(XILINX_OF_BOARD_DTB_ADDR) && !IS_TFA_IN_OCM(BL31_BASE))
+#if (CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
+	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
+				   !IS_TFA_IN_OCM(BL31_BASE)))
 	console_t *console = &dt_console;
 #else
 	console_t *console = &boot_console;
@@ -377,6 +378,7 @@
 #if (RT_CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
 	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
 				   !IS_TFA_IN_OCM(BL31_BASE)))
+	static dt_uart_info_t dt_info = {0};
 	uint32_t rc = parse_uart_info(&dt_info);
 
 	if (rc < 0) {
@@ -422,6 +424,21 @@
 	int32_t rc;
 	uint32_t uart_clk = get_uart_clk();
 
+#if (CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
+	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
+				   !IS_TFA_IN_OCM(BL31_BASE)))
+
+	static dt_uart_info_t uart_info = {0};
+
+	/* Initialize the DTB console using UART information from the DTB */
+	rc = dt_console_init(&uart_info, &boot_console, uart_clk);
+	if (rc < 0) {
+		ERROR("Failed to initialize DT console: %d\n", rc);
+	} else {
+		goto cnslsetup;
+	}
+#endif
+
 #if defined(PLAT_zynqmp)
 	if (CONSOLE_IS(cadence) || (CONSOLE_IS(cadence1))) {
 		rc = console_cdns_register(UART_BASE,
@@ -457,15 +474,11 @@
 			panic();
 		}
 	}
-	INFO("BL31: Early console setup\n");
 
-#if (defined(XILINX_OF_BOARD_DTB_ADDR) && !IS_TFA_IN_OCM(BL31_BASE))
-	static dt_uart_info_t uart_info = {0};
-
-	/* Initialize the DTB console using UART information from the DTB */
-	rc = dt_console_init(&uart_info, &boot_console, uart_clk);
-	if (rc < 0) {
-		ERROR("Failed to initialize DT console: %d\n", rc);
-	}
+#if (CONSOLE_IS(dtb) && defined(XILINX_OF_BOARD_DTB_ADDR)) && \
+	(!defined(PLAT_zynqmp) || (defined(PLAT_zynqmp) && \
+				   !IS_TFA_IN_OCM(BL31_BASE)))
+cnslsetup:
 #endif
+	INFO("BL31: Early console setup\n");
 }