diff options
author | Manish Pandey <manish.pandey2@arm.com> | 2021-02-25 10:43:35 +0000 |
---|---|---|
committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2021-02-25 10:43:35 +0000 |
commit | 8909fa9bbf159f12cec0a06a3e57bc32a65953b8 (patch) | |
tree | 310f36465ac18674f2e0cdb388e2d7e1f90772be /include/drivers | |
parent | b852f2c35c3308bdbce263671461b1e5bfd169a0 (diff) | |
parent | 5a9f5890516aa5d3043663db56d112d3af8ccc91 (diff) | |
download | trusted-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/drivers')
-rw-r--r-- | include/drivers/marvell/mochi/cp110_setup.h | 9 | ||||
-rw-r--r-- | include/drivers/rambus/trng_ip_76.h | 18 |
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__ */ |