cmd: broadcom: add command for chimp handshake
authorBharat Kumar Reddy Gooty <bharat.gooty@broadcom.com>
Thu, 20 Aug 2020 15:11:06 +0000 (20:41 +0530)
committerTom Rini <trini@konsulko.com>
Wed, 9 Sep 2020 20:57:35 +0000 (16:57 -0400)
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>
cmd/broadcom/Makefile
cmd/broadcom/chimp_handshake.c [new file with mode: 0644]
include/broadcom/chimp.h

index 6cdece1..62268d9 100644 (file)
@@ -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 (file)
index 0000000..a90a73a
--- /dev/null
@@ -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"
+);
index 73bb1c2..738f73e 100644 (file)
  */
 #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
  *