Attention is currently required from: Jason Glenesk, Marshall Dawson, Felix Held.

Raul Rangel has uploaded this change for review.

View Change

soc/amd/cezanne/psp_verstage: Implement get_uart_base

This will allow directly using the UART console. On PSP releases that
don't support mapping the UART, we will just return NULL which is
perfectly acceptable.

BUG=b:215599230
TEST=Boot guybrush and verify verstage can print to the console

Signed-off-by: Raul E Rangel <rrangel@chromium.org>
Change-Id: Ic8d7f0fe00794a715756f92e3fb32c6b512cb8aa
---
M src/soc/amd/cezanne/psp_verstage/Makefile.inc
A src/soc/amd/cezanne/psp_verstage/uart.c
2 files changed, 27 insertions(+), 0 deletions(-)

git pull ssh://review.coreboot.org:29418/coreboot refs/changes/07/61607/1
diff --git a/src/soc/amd/cezanne/psp_verstage/Makefile.inc b/src/soc/amd/cezanne/psp_verstage/Makefile.inc
index ea9353d..547650d 100644
--- a/src/soc/amd/cezanne/psp_verstage/Makefile.inc
+++ b/src/soc/amd/cezanne/psp_verstage/Makefile.inc
@@ -9,6 +9,7 @@

verstage-y += svc.c
verstage-y += chipset.c
+verstage-y += uart.c

verstage-y += $(top)/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_startup.S
verstage-y += $(top)/src/vendorcode/amd/fsp/cezanne/bl_uapp/bl_uapp_end.S
diff --git a/src/soc/amd/cezanne/psp_verstage/uart.c b/src/soc/amd/cezanne/psp_verstage/uart.c
new file mode 100644
index 0000000..dff7c44
--- /dev/null
+++ b/src/soc/amd/cezanne/psp_verstage/uart.c
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <bl_uapp/bl_syscall_public.h>
+#include <amdblocks/uart.h>
+#include <types.h>
+
+static void *uart_bars[FCH_UART_ID_MAX - 1];
+
+uintptr_t get_uart_base(unsigned int idx)
+{
+ uint32_t err;
+
+ if (idx > ARRAY_SIZE(uart_bars))
+ return 0;
+
+ if (uart_bars[idx])
+ return (uintptr_t)uart_bars[idx];
+
+ err = svc_map_fch_dev(FCH_IO_DEVICE_UART, idx, 0, &uart_bars[idx]);
+ if (err) {
+ svc_debug_print("Entering verstage on PSP\n");
+ return 0;
+ }
+
+ return (uintptr_t)uart_bars[idx];
+}

To view, visit change 61607. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Change-Id: Ic8d7f0fe00794a715756f92e3fb32c6b512cb8aa
Gerrit-Change-Number: 61607
Gerrit-PatchSet: 1
Gerrit-Owner: Raul Rangel <rrangel@chromium.org>
Gerrit-Reviewer: Felix Held <felix-coreboot@felixheld.de>
Gerrit-Reviewer: Jason Glenesk <jason.glenesk@gmail.com>
Gerrit-Reviewer: Marshall Dawson <marshalldawson3rd@gmail.com>
Gerrit-Attention: Jason Glenesk <jason.glenesk@gmail.com>
Gerrit-Attention: Marshall Dawson <marshalldawson3rd@gmail.com>
Gerrit-Attention: Felix Held <felix-coreboot@felixheld.de>
Gerrit-MessageType: newchange