aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Kumar Reddy Gooty2020-08-20 20:41:06 +0530
committerTom Rini2020-09-09 16:57:35 -0400
commita09ca687e7719ef0767f3febb8980725da800eb8 (patch)
tree5f73a8cf2bb578e03985032ea12b2219b31ea490
parent70bf26332f3d07382730a9cae93219a3efa0fbe2 (diff)
cmd: broadcom: add command for chimp handshake
Add command for chimp handshake. Handshake is used to know chimp is loaded and booted successfully. Signed-off-by: Bharat Kumar Reddy Gooty <bharat.gooty@broadcom.com> Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur@broadcom.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--cmd/broadcom/Makefile1
-rw-r--r--cmd/broadcom/chimp_handshake.c33
-rw-r--r--include/broadcom/chimp.h6
3 files changed, 40 insertions, 0 deletions
diff --git a/cmd/broadcom/Makefile b/cmd/broadcom/Makefile
index 6cdece1a3a4..62268d98d0d 100644
--- a/cmd/broadcom/Makefile
+++ b/cmd/broadcom/Makefile
@@ -3,3 +3,4 @@
obj-y += chimp_boot.o
obj-y += nitro_image_load.o
+obj-y += chimp_handshake.o
diff --git a/cmd/broadcom/chimp_handshake.c b/cmd/broadcom/chimp_handshake.c
new file mode 100644
index 00000000000..a90a73a6d74
--- /dev/null
+++ b/cmd/broadcom/chimp_handshake.c
@@ -0,0 +1,33 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2020 Broadcom
+ */
+
+#include <common.h>
+#include <command.h>
+#include <broadcom/chimp.h>
+
+/* This command should be called after loading the nitro binaries */
+static int do_chimp_hs(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ int ret = CMD_RET_USAGE;
+ u32 hstatus;
+
+ /* Returns 1, if handshake call is success */
+ if (chimp_handshake_status_optee(0, &hstatus))
+ ret = CMD_RET_SUCCESS;
+
+ if (hstatus == CHIMP_HANDSHAKE_SUCCESS)
+ printf("ChiMP Handshake successful\n");
+ else
+ printf("ERROR: ChiMP Handshake status 0x%x\n", hstatus);
+
+ return ret;
+}
+
+U_BOOT_CMD
+ (chimp_hs, 1, 1, do_chimp_hs,
+ "Verify the Chimp handshake",
+ "chimp_hs\n"
+);
diff --git a/include/broadcom/chimp.h b/include/broadcom/chimp.h
index 73bb1c21e9d..738f73eefd3 100644
--- a/include/broadcom/chimp.h
+++ b/include/broadcom/chimp.h
@@ -15,6 +15,12 @@
*/
#define BCM_CHIMP_RUNNIG_GOOD 0x8000
+enum {
+ CHIMP_HANDSHAKE_SUCCESS = 0,
+ CHIMP_HANDSHAKE_WAIT_ERROR,
+ CHIMP_HANDSHAKE_WAIT_TIMEOUT,
+};
+
/**
* chimp_fastboot_optee() - api to load bnxt firmware
*