From: Andrew F. Davis <afd@ti.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] board: ti: am654: Disable TRNG node for HS devices
Date: Tue, 17 Sep 2019 17:15:40 -0400 [thread overview]
Message-ID: <20190917211540.12931-1-afd@ti.com> (raw)
On HS devices the access to TRNG is restricted on the non-secure
ARM side, disable the node in DT to prevent firewall violations.
Signed-off-by: Andrew F. Davis <afd@ti.com>
---
arch/arm/mach-k3/common.c | 20 ++++++++++++++++++++
arch/arm/mach-k3/include/mach/sys_proto.h | 2 ++
board/ti/am65x/evm.c | 15 +++++++++++++--
3 files changed, 35 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-k3/common.c b/arch/arm/mach-k3/common.c
index 3e36d90ace..c16afc654f 100644
--- a/arch/arm/mach-k3/common.c
+++ b/arch/arm/mach-k3/common.c
@@ -137,6 +137,26 @@ int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name)
return 0;
}
+
+int fdt_disable_node(void *blob, char *node_path)
+{
+ int offs;
+ int ret;
+
+ offs = fdt_path_offset(blob, node_path);
+ if (offs < 0) {
+ debug("Node %s not found.\n", node_path);
+ return 0;
+ }
+ ret = fdt_setprop_string(blob, offs, "status", "disabled");
+ if (ret < 0) {
+ printf("Could not add status property to node %s: %s\n",
+ node_path, fdt_strerror(ret));
+ return ret;
+ }
+ return 0;
+}
+
#endif
#ifndef CONFIG_SYSRESET
diff --git a/arch/arm/mach-k3/include/mach/sys_proto.h b/arch/arm/mach-k3/include/mach/sys_proto.h
index 45832b45a1..3c825aa3d1 100644
--- a/arch/arm/mach-k3/include/mach/sys_proto.h
+++ b/arch/arm/mach-k3/include/mach/sys_proto.h
@@ -14,4 +14,6 @@ struct ti_sci_handle *get_ti_sci_handle(void);
int fdt_fixup_msmc_ram(void *blob, char *parent_path, char *node_name);
int do_board_detect(void);
void release_resources_for_core_shutdown(void);
+int fdt_disable_node(void *blob, char *node_path);
+
#endif
diff --git a/board/ti/am65x/evm.c b/board/ti/am65x/evm.c
index e01adcd642..ad333ad883 100644
--- a/board/ti/am65x/evm.c
+++ b/board/ti/am65x/evm.c
@@ -96,10 +96,21 @@ int ft_board_setup(void *blob, bd_t *bd)
int ret;
ret = fdt_fixup_msmc_ram(blob, "/interconnect at 100000", "sram at 70000000");
- if (ret)
+ if (ret) {
printf("%s: fixing up msmc ram failed %d\n", __func__, ret);
+ return ret;
+ }
- return ret;
+#if defined(CONFIG_TI_SECURE_DEVICE)
+ /* Make HW RNG reserved for secure world use */
+ ret = fdt_disable_node(blob, "/interconnect at 100000/trng@4e10000");
+ if (ret) {
+ printf("%s: disabling TRGN failed %d\n", __func__, ret);
+ return ret;
+ }
+#endif
+
+ return 0;
}
#endif
--
2.17.1
next reply other threads:[~2019-09-17 21:15 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-17 21:15 Andrew F. Davis [this message]
2019-09-18 4:22 ` [U-Boot] [PATCH] board: ti: am654: Disable TRNG node for HS devices Lokesh Vutla
2019-10-06 0:08 ` Tom Rini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190917211540.12931-1-afd@ti.com \
--to=afd@ti.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.