[PATCH v2 1/5] cmd: broadcom: add bnxt boot command
Rayagonda Kokatanur
rayagonda.kokatanur at broadcom.com
Thu Aug 20 17:11:04 CEST 2020
From: Trac Hoang <trac.hoang at broadcom.com>
Chimp is a core in Broadcom netxtream controller (bnxt).
Add command to load binary to chimp and boot bnxt.
Signed-off-by: Trac Hoang <trac.hoang at broadcom.com>
Signed-off-by: Rayagonda Kokatanur <rayagonda.kokatanur at broadcom.com>
---
Changes from V1:
-Address review comments from Simon,
Update commit message.
Rearrange header files.
Add comments to macros.
cmd/broadcom/Makefile | 4 ++++
cmd/broadcom/chimp_boot.c | 37 +++++++++++++++++++++++++++++++++++++
include/broadcom/chimp.h | 6 ++++++
3 files changed, 47 insertions(+)
create mode 100644 cmd/broadcom/Makefile
create mode 100644 cmd/broadcom/chimp_boot.c
diff --git a/cmd/broadcom/Makefile b/cmd/broadcom/Makefile
new file mode 100644
index 0000000000..22ccf2f334
--- /dev/null
+++ b/cmd/broadcom/Makefile
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright 2020 Broadcom
+
+obj-y += chimp_boot.o
diff --git a/cmd/broadcom/chimp_boot.c b/cmd/broadcom/chimp_boot.c
new file mode 100644
index 0000000000..16f2b612c4
--- /dev/null
+++ b/cmd/broadcom/chimp_boot.c
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright 2020 Broadcom
+ */
+
+#include <common.h>
+#include <command.h>
+#include <broadcom/chimp.h>
+
+static int do_chimp_fastboot_secure(struct cmd_tbl *cmdtp, int flag, int argc,
+ char *const argv[])
+{
+ u32 health = 0;
+
+ if (chimp_health_status_optee(&health)) {
+ pr_err("Chimp health command fail\n");
+ return CMD_RET_FAILURE;
+ }
+
+ if (health == BCM_CHIMP_RUNNIG_GOOD) {
+ printf("skip fastboot...\n");
+ return CMD_RET_SUCCESS;
+ }
+
+ if (chimp_fastboot_optee()) {
+ pr_err("Failed to load secure ChiMP image\n");
+ return CMD_RET_FAILURE;
+ }
+
+ return CMD_RET_SUCCESS;
+}
+
+U_BOOT_CMD
+ (chimp_ld_secure, 1, 0, do_chimp_fastboot_secure,
+ "Invoke chimp fw load via optee",
+ "chimp_ld_secure\n"
+);
diff --git a/include/broadcom/chimp.h b/include/broadcom/chimp.h
index 7f64152913..73bb1c21e9 100644
--- a/include/broadcom/chimp.h
+++ b/include/broadcom/chimp.h
@@ -9,6 +9,12 @@
#include <linux/compiler.h>
+/*
+ * Chimp binary has health status like initialization complete,
+ * crash or running fine
+ */
+#define BCM_CHIMP_RUNNIG_GOOD 0x8000
+
/**
* chimp_fastboot_optee() - api to load bnxt firmware
*
--
2.17.1
More information about the U-Boot
mailing list