You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ut...@apache.org on 2021/02/17 13:22:52 UTC
[mynewt-core] 03/05: hw: bsp: frdm-k82f: enable TRNG usage
This is an automated email from the ASF dual-hosted git repository.
utzig pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit de7816922c95f2bd67f21af5c2e8a98853a9bec7
Author: Fabio Utzig <ut...@apache.org>
AuthorDate: Tue Feb 9 07:11:12 2021 -0300
hw: bsp: frdm-k82f: enable TRNG usage
Signed-off-by: Fabio Utzig <ut...@apache.org>
---
hw/bsp/frdm-k82f/pkg.yml | 3 +++
hw/bsp/frdm-k82f/src/hal_bsp.c | 18 +++++++++++++++++-
hw/bsp/frdm-k82f/syscfg.yml | 3 +++
3 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/hw/bsp/frdm-k82f/pkg.yml b/hw/bsp/frdm-k82f/pkg.yml
index 0389789..e8caa1e 100644
--- a/hw/bsp/frdm-k82f/pkg.yml
+++ b/hw/bsp/frdm-k82f/pkg.yml
@@ -65,3 +65,6 @@ pkg.deps.ENC_FLASH_DEV:
pkg.deps.HASH:
- "@apache-mynewt-core/hw/drivers/hash/hash_kinetis"
+
+pkg.deps.TRNG:
+ - "@apache-mynewt-core/hw/drivers/trng/trng_kinetis"
diff --git a/hw/bsp/frdm-k82f/src/hal_bsp.c b/hw/bsp/frdm-k82f/src/hal_bsp.c
index 71162d2..4460a15 100644
--- a/hw/bsp/frdm-k82f/src/hal_bsp.c
+++ b/hw/bsp/frdm-k82f/src/hal_bsp.c
@@ -35,6 +35,10 @@
#include "hash/hash.h"
#include "hash_kinetis/hash_kinetis.h"
#endif
+#if MYNEWT_VAL(TRNG)
+#include "trng/trng.h"
+#include "trng_kinetis/trng_kinetis.h"
+#endif
#if MYNEWT_VAL(UART_0) || MYNEWT_VAL(UART_1) || MYNEWT_VAL(UART_2) || \
MYNEWT_VAL(UART_3) || MYNEWT_VAL(UART_4)
#include "uart/uart.h"
@@ -106,6 +110,10 @@ static const struct nxp_hal_i2c_cfg hal_i2c3_cfg = {
static struct hash_dev os_bsp_hash;
#endif
+#if MYNEWT_VAL(TRNG)
+static struct trng_dev os_bsp_trng;
+#endif
+
/*
* What memory to include in coredump.
*/
@@ -116,7 +124,8 @@ static const struct hal_bsp_mem_dump dump_cfg[] = {
}
};
-static void init_hardware(void)
+static void
+init_hardware(void)
{
/* Disable the MPU otherwise USB cannot access the bus */
SYSMPU->CESR = 0;
@@ -235,6 +244,13 @@ hal_bsp_init(void)
assert(rc == 0);
#endif
+#if MYNEWT_VAL(TRNG)
+ rc = os_dev_create(&os_bsp_trng.dev, "trng",
+ OS_DEV_INIT_KERNEL, OS_DEV_INIT_PRIO_DEFAULT,
+ kinetis_trng_dev_init, NULL);
+ assert(rc == 0);
+#endif
+
#if MYNEWT_VAL(UART_0)
rc = os_dev_create((struct os_dev *) &os_bsp_uart0, "uart0",
OS_DEV_INIT_PRIMARY, 0, uart_hal_init, NULL);
diff --git a/hw/bsp/frdm-k82f/syscfg.yml b/hw/bsp/frdm-k82f/syscfg.yml
index 34d8130..a1f4b43 100644
--- a/hw/bsp/frdm-k82f/syscfg.yml
+++ b/hw/bsp/frdm-k82f/syscfg.yml
@@ -75,3 +75,6 @@ syscfg.vals:
REBOOT_LOG_FLASH_AREA: FLASH_AREA_REBOOT_LOG
NFFS_FLASH_AREA: FLASH_AREA_NFFS
COREDUMP_FLASH_AREA: FLASH_AREA_IMAGE_1
+
+ KINETIS_TRNG_USE_RNGA: 0
+ KINETIS_TRNG_USE_TRNG: 1