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