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:45:23 UTC

[mynewt-core] 03/03: bsp: frdm-k82f: enable CRYPTO acceleration

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 164ecd5a1aee5a3581c80656c03cfa3d3945f4b5
Author: Fabio Utzig <ut...@apache.org>
AuthorDate: Wed Feb 10 08:35:42 2021 -0300

    bsp: frdm-k82f: enable CRYPTO acceleration
    
    Signed-off-by: Fabio Utzig <ut...@apache.org>
---
 hw/bsp/frdm-k82f/pkg.yml       |  3 +++
 hw/bsp/frdm-k82f/src/hal_bsp.c | 15 +++++++++++++++
 hw/bsp/frdm-k82f/syscfg.yml    |  2 ++
 3 files changed, 20 insertions(+)

diff --git a/hw/bsp/frdm-k82f/pkg.yml b/hw/bsp/frdm-k82f/pkg.yml
index e8caa1e..56101c6 100644
--- a/hw/bsp/frdm-k82f/pkg.yml
+++ b/hw/bsp/frdm-k82f/pkg.yml
@@ -60,6 +60,9 @@ pkg.deps.UART_3:
 pkg.deps.UART_4:
     - "@apache-mynewt-core/hw/drivers/uart/uart_hal"
 
+pkg.deps.CRYPTO:
+    - "@apache-mynewt-core/hw/drivers/crypto/crypto_kinetis"
+
 pkg.deps.ENC_FLASH_DEV:
     - "@apache-mynewt-core/hw/drivers/flash/enc_flash/ef_crypto"
 
diff --git a/hw/bsp/frdm-k82f/src/hal_bsp.c b/hw/bsp/frdm-k82f/src/hal_bsp.c
index 4460a15..2837598 100644
--- a/hw/bsp/frdm-k82f/src/hal_bsp.c
+++ b/hw/bsp/frdm-k82f/src/hal_bsp.c
@@ -39,6 +39,10 @@
 #include "trng/trng.h"
 #include "trng_kinetis/trng_kinetis.h"
 #endif
+#if MYNEWT_VAL(CRYPTO)
+#include "crypto/crypto.h"
+#include "crypto_kinetis/crypto_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"
@@ -114,6 +118,10 @@ static struct hash_dev os_bsp_hash;
 static struct trng_dev os_bsp_trng;
 #endif
 
+#if MYNEWT_VAL(CRYPTO)
+static struct crypto_dev os_bsp_crypto;
+#endif
+
 /*
  * What memory to include in coredump.
  */
@@ -251,6 +259,13 @@ hal_bsp_init(void)
     assert(rc == 0);
 #endif
 
+#if MYNEWT_VAL(CRYPTO)
+    rc = os_dev_create(&os_bsp_crypto.dev, "crypto",
+                       OS_DEV_INIT_KERNEL, OS_DEV_INIT_PRIO_DEFAULT,
+                       kinetis_crypto_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 a1f4b43..58130d6 100644
--- a/hw/bsp/frdm-k82f/syscfg.yml
+++ b/hw/bsp/frdm-k82f/syscfg.yml
@@ -78,3 +78,5 @@ syscfg.vals:
 
     KINETIS_TRNG_USE_RNGA: 0
     KINETIS_TRNG_USE_TRNG: 1
+    KINETIS_CRYPTO_USE_CAU: 0
+    KINETIS_CRYPTO_USE_LTC: 1