aboutsummaryrefslogtreecommitdiff
path: root/platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c')
-rwxr-xr-xplatform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c184
1 files changed, 92 insertions, 92 deletions
diff --git a/platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c b/platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c
index 69473de2a7..f281e4e489 100755
--- a/platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c
+++ b/platform/ext/target/nxp/common/Native_Driver/drivers/fsl_rng.c
@@ -1,92 +1,92 @@
-/*
- * Copyright 2017 NXP
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#include "fsl_rng.h"
-
-/* Component ID definition, used by tools. */
-#ifndef FSL_COMPONENT_ID
-#define FSL_COMPONENT_ID "platform.drivers.rng_1"
-#endif
-
-/*******************************************************************************
- * Definitions
- *******************************************************************************/
-
-/*******************************************************************************
- * Prototypes
- *******************************************************************************/
-
-/*******************************************************************************
- * Code
- ******************************************************************************/
-
-void RNG_Init(RNG_Type *base)
-{
- /* Clear ring oscilator disable bit*/
- PMC->PDRUNCFGCLR0 = PMC_PDRUNCFG0_PDEN_RNG_MASK;
-#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL)
- CLOCK_EnableClock(kCLOCK_Rng);
-#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */
-}
-
-void RNG_Deinit(RNG_Type *base)
-{
- /* Set ring oscilator disable bit*/
- PMC->PDRUNCFGSET0 = PMC_PDRUNCFG0_PDEN_RNG_MASK;
-#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL)
- CLOCK_DisableClock(kCLOCK_Rng);
-#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */
-}
-
-status_t RNG_GetRandomData(RNG_Type *base, void *data, size_t dataSize)
-{
- status_t result = kStatus_Fail;
- uint32_t random32;
- uint32_t randomSize;
- uint8_t *pRandom;
- uint8_t *pData = (uint8_t *)data;
- uint32_t i;
-
- /* Check input parameters.*/
- if (!(base && data && dataSize))
- {
- result = kStatus_InvalidArgument;
- }
- else
- {
- /* Check that ring oscilator is enabled */
- if (!(PMC->PDRUNCFG0 & PMC_PDRUNCFG0_PDEN_RNG_MASK))
- {
- do
- {
- /* Read Entropy.*/
- random32 = base->RANDOM_NUMBER;
- pRandom = (uint8_t *)&random32;
-
- if (dataSize < sizeof(random32))
- {
- randomSize = dataSize;
- }
- else
- {
- randomSize = sizeof(random32);
- }
-
- for (i = 0; i < randomSize; i++)
- {
- *pData++ = *pRandom++;
- }
-
- dataSize -= randomSize;
- } while (dataSize > 0);
-
- result = kStatus_Success;
- }
- }
-
- return result;
-}
+/*
+ * Copyright 2017 NXP
+ * All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+#include "fsl_rng.h"
+
+/* Component ID definition, used by tools. */
+#ifndef FSL_COMPONENT_ID
+#define FSL_COMPONENT_ID "platform.drivers.rng_1"
+#endif
+
+/*******************************************************************************
+ * Definitions
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Prototypes
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Code
+ ******************************************************************************/
+
+void RNG_Init(RNG_Type *base)
+{
+ /* Clear ring oscilator disable bit*/
+ PMC->PDRUNCFGCLR0 = PMC_PDRUNCFG0_PDEN_RNG_MASK;
+#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL)
+ CLOCK_EnableClock(kCLOCK_Rng);
+#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */
+}
+
+void RNG_Deinit(RNG_Type *base)
+{
+ /* Set ring oscilator disable bit*/
+ PMC->PDRUNCFGSET0 = PMC_PDRUNCFG0_PDEN_RNG_MASK;
+#if !(defined(FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL) && FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL)
+ CLOCK_DisableClock(kCLOCK_Rng);
+#endif /* FSL_SDK_DISABLE_DRIVER_CLOCK_CONTROL */
+}
+
+status_t RNG_GetRandomData(RNG_Type *base, void *data, size_t dataSize)
+{
+ status_t result = kStatus_Fail;
+ uint32_t random32;
+ uint32_t randomSize;
+ uint8_t *pRandom;
+ uint8_t *pData = (uint8_t *)data;
+ uint32_t i;
+
+ /* Check input parameters.*/
+ if (!(base && data && dataSize))
+ {
+ result = kStatus_InvalidArgument;
+ }
+ else
+ {
+ /* Check that ring oscilator is enabled */
+ if (!(PMC->PDRUNCFG0 & PMC_PDRUNCFG0_PDEN_RNG_MASK))
+ {
+ do
+ {
+ /* Read Entropy.*/
+ random32 = base->RANDOM_NUMBER;
+ pRandom = (uint8_t *)&random32;
+
+ if (dataSize < sizeof(random32))
+ {
+ randomSize = dataSize;
+ }
+ else
+ {
+ randomSize = sizeof(random32);
+ }
+
+ for (i = 0; i < randomSize; i++)
+ {
+ *pData++ = *pRandom++;
+ }
+
+ dataSize -= randomSize;
+ } while (dataSize > 0);
+
+ result = kStatus_Success;
+ }
+ }
+
+ return result;
+}