aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2021-02-25 10:43:35 +0000
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2021-02-25 10:43:35 +0000
commit8909fa9bbf159f12cec0a06a3e57bc32a65953b8 (patch)
tree310f36465ac18674f2e0cdb388e2d7e1f90772be /include
parentb852f2c35c3308bdbce263671461b1e5bfd169a0 (diff)
parent5a9f5890516aa5d3043663db56d112d3af8ccc91 (diff)
downloadtrusted-firmware-a-8909fa9bbf159f12cec0a06a3e57bc32a65953b8.tar.gz
Merge changes I23f600b5,Icf9ffdf2,Iee7a51d1,I99afc312,I4bf8e8c0, ... into integration
* changes: plat/marvell/armada: cleanup MSS SRAM if used for copy plat/marvell: cn913x: allow CP1/CP2 mapping at BLE stage plat/marvell/armada/common/mss: use MSS SRAM in secure mode include/drivers/marvell/mochi: add detection of secure mode plat/marvell: fix SPD handling in dram port marvell: drivers: move XOR0/1 DIOB from WIN 0 to 1 drivers/marvell/mochi: add support for cn913x in PCIe EP mode drivers/marvell/mochi: add missing stream IDs configurations plat/marvell/armada/a8k: support HW RNG by SMC drivers/rambus: add TRNG-IP-76 driver
Diffstat (limited to 'include')
-rw-r--r--include/drivers/marvell/mochi/cp110_setup.h9
-rw-r--r--include/drivers/rambus/trng_ip_76.h18
2 files changed, 27 insertions, 0 deletions
diff --git a/include/drivers/marvell/mochi/cp110_setup.h b/include/drivers/marvell/mochi/cp110_setup.h
index 11dc4e0201..4a69257264 100644
--- a/include/drivers/marvell/mochi/cp110_setup.h
+++ b/include/drivers/marvell/mochi/cp110_setup.h
@@ -31,6 +31,9 @@
#define MAX_STREAM_ID_PER_CP (0x10)
#define STREAM_ID_BASE (0x40)
+#define MVEBU_SECUREBOOT_CTRL_REG (MVEBU_RFU_BASE + 0x4730)
+#define MVEBU_SECUREBOOT_EN_MASK BIT(0)
+
static inline uint32_t cp110_device_id_get(uintptr_t base)
{
/* Returns:
@@ -50,6 +53,12 @@ static inline uint32_t cp110_rev_id_get(uintptr_t base)
MVEBU_DEVICE_REV_OFFSET;
}
+static inline uint32_t is_secure(void)
+{
+ return !!(mmio_read_32(MVEBU_SECUREBOOT_CTRL_REG) &
+ MVEBU_SECUREBOOT_EN_MASK);
+}
+
void cp110_init(uintptr_t cp110_base, uint32_t stream_id);
void cp110_ble_init(uintptr_t cp110_base);
void cp110_amb_init(uintptr_t base);
diff --git a/include/drivers/rambus/trng_ip_76.h b/include/drivers/rambus/trng_ip_76.h
new file mode 100644
index 0000000000..6de8fc73e4
--- /dev/null
+++ b/include/drivers/rambus/trng_ip_76.h
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2020, Marvell Technology Group Ltd. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+
+#ifndef __TRNG_IP_76_H__
+#define __TRNG_IP_76_H__
+
+#include <stdbool.h>
+#include <stdint.h>
+
+int32_t eip76_rng_read_rand_buf(void *data, bool wait);
+int32_t eip76_rng_probe(uintptr_t base_addr);
+int32_t eip76_rng_get_random(uint8_t *data, uint32_t len);
+
+#endif /* __TRNG_IP_76_H__ */