Skip to content

TRNG enabled. TRNG APIs implemented. REV A/B/C/D flags removed. Warnings removed #3009

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 28, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions targets/TARGET_ONSEMI/TARGET_NCS36510/Pad.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#ifdef REVD
/**
******************************************************************************
* @file pad.c
Expand Down Expand Up @@ -83,20 +82,20 @@ void fPadInit()
PADREG->PADIO1.WORD = PAD_INPUT_PD_L1_PP; /* UART1 RXD */
PADREG->PADIO2.WORD = PAD_INPUT_PD_L1_PP; /* UART1 CTS */
PADREG->PADIO3.WORD = PAD_OUTPUT_PN_L1_OD; /* UART1 RTS */
PADREG->PADIO4.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO5.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO6.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO7.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO4.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO5.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO6.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO7.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO8.WORD = PAD_OUTPUT_PN_L1_OD; /* UART2 TXD */
PADREG->PADIO9.WORD = PAD_INPUT_PD_L1_PP; /* UART2 RXD */
PADREG->PADIO10.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO10.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO11.WORD = PAD_INPUT_PD_L1_PP; /* SWO */
PADREG->PADIO12.WORD = PAD_INPUT_PD_L1_PP; /* SWCLK */
PADREG->PADIO13.WORD = PAD_INPUT_PD_L1_PP; /* SWDIO */
PADREG->PADIO14.WORD = PAD_INPUT_PD_L1_PP;
PADREG->PADIO15.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO16.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO17.WORD = PAD_UNUSED_PD_L0_PP;
PADREG->PADIO15.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO16.WORD = PAD_UNUSED_PD_L1_PP;
PADREG->PADIO17.WORD = PAD_UNUSED_PD_L1_PP;

/** - Disable the clock for PAD peripheral device */
CLOCK_DISABLE(CLOCK_PAD);
Expand Down Expand Up @@ -142,5 +141,4 @@ boolean fPadIOCtrl(uint8_t PadNum, uint8_t OutputDriveStrength, uint8_t OutputDr
}
/* Invalid parameter/s */
return False;
}
#endif /* REVD */
}
Original file line number Diff line number Diff line change
Expand Up @@ -157,153 +157,153 @@ Reset_Handler
BX R0

PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
NMI_Handler
B NMI_Handler

; PUBWEAK HardFault_Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;HardFault_Handler
; B HardFault_Handler

PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
MemManage_Handler
B MemManage_Handler

PUBWEAK BusFault_Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
BusFault_Handler
B BusFault_Handler

PUBWEAK UsageFault_Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
UsageFault_Handler
B UsageFault_Handler

; PUBWEAK vPortSVCHandler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;vPortSVCHandler
; B vPortSVCHandler

PUBWEAK DebugMon_Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
DebugMon_Handler
B DebugMon_Handler

; PUBWEAK xPortPendSVHandler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;xPortPendSVHandler
; B xPortPendSVHandler

; PUBWEAK SysTick_Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;SysTick_Handler
; B SysTick_Handler


; PUBWEAK fIrqTim0Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqTim0Handler
; B fIrqTim0Handler

; PUBWEAK fIrqTim1Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqTim1Handler
; B fIrqTim1Handler

; PUBWEAK fIrqTim2Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqTim2Handler
; B fIrqTim2Handler

; PUBWEAK fIrqUart1Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqUart1Handler
; B fIrqUart1Handler

; PUBWEAK fIrqSpiHandler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqSpiHandler
; B fIrqSpiHandler

PUBWEAK fIrqI2CHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqI2CHandler
B fIrqI2CHandler

; PUBWEAK fIrqGpioHandler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqGpioHandler
; B fIrqGpioHandler

PUBWEAK fIrqRtcHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqRtcHandler
B fIrqRtcHandler

PUBWEAK fIrqFlashHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqFlashHandler
B fIrqFlashHandler

PUBWEAK fIrqMacHwHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqMacHwHandler
B fIrqMacHwHandler

PUBWEAK fIrqAesHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqAesHandler
B fIrqAesHandler

PUBWEAK fIrqAdcHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqAdcHandler
B fIrqAdcHandler

PUBWEAK fIrqClockCalHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqClockCalHandler
B fIrqClockCalHandler

; PUBWEAK fIrqUart2Handler
; SECTION .text:CODE:REORDER(1)
; SECTION .text:CODE:REORDER:NOROOT(1)
;fIrqUart2Handler
; B fIrqUart2Handler

PUBWEAK fIrqDbgPwrUpHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqDbgPwrUpHandler
B fIrqDbgPwrUpHandler

PUBWEAK fIrqDmaHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqDmaHandler
B fIrqDmaHandler

PUBWEAK fIrqUviHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqUviHandler
B fIrqUviHandler

PUBWEAK fIrqSpi2Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqSpi2Handler
B fIrqSpi2Handler

PUBWEAK fIrqI2c2Handler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
fIrqI2c2Handler
B fIrqI2c2Handler

PUBWEAK FIrqFVDDHCompHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
FIrqFVDDHCompHandler
B FIrqFVDDHCompHandler

PUBWEAK DEF_IRQHandler
SECTION .text:CODE:REORDER(1)
SECTION .text:CODE:REORDER:NOROOT(1)
DEF_IRQHandler
B DEF_IRQHandler

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
******************************************************************************/

#include <NCS36510.h>
//#include "ncs36510Init.h" /* TODO */
#include "ncs36510Init.h"
/*----------------------------------------------------------------------------
Define clocks
*----------------------------------------------------------------------------*/
Expand Down
14 changes: 0 additions & 14 deletions targets/TARGET_ONSEMI/TARGET_NCS36510/dma_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,19 +47,6 @@
**************************************************************************************************/

/** DMA control HW registers structure overlay */
#ifdef REVB
typedef struct {
__IO uint32_t CONTROL; /**< Write 1 to enable DMA, write 0 to disable */
__IO uint32_t SOURCE; /**< Address of source, read to get the number of bytes written */
__IO uint32_t DESTINATION; /**< Address of destination, read to get the number of bytes written */
__IO uint32_t SIZE; /**< Lenght of the entire transfer */
__IO uint32_t STATUS; /**< To be debined */
__IO uint32_t INT_ENABLE; /**< Enable interrupt source by writing 1. Bit 0: DMA done, Bit 1: Source Error, Bit 2: Destination Error */
__IO uint32_t INT_CLEAR_ENABLE; /**< Clear Interrupt source by writing 1. Bit 0: DMA done, Bit 1: Source Error, Bit 2: Destination Error */
__I uint32_t INT_STATUS; /**< Current interrupt status. Bit 0: DMA done, Bit 1: Source Error, Bit 2: Destination Error */
} DmaReg_t, *DmaReg_pt;
#endif /* REVB */
#ifdef REVD
typedef struct {
union {
struct {
Expand Down Expand Up @@ -104,5 +91,4 @@ typedef struct {
__I uint32_t WORD;
} INT_STATUS; /**< Interrupt status */
} DmaReg_t, *DmaReg_pt;
#endif /* REVD */
#endif /* DMA_MAP_H_ */
16 changes: 0 additions & 16 deletions targets/TARGET_ONSEMI/TARGET_NCS36510/macHw_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,9 +131,7 @@ typedef struct {
__O uint32_t FS:1;
__O uint32_t FP:1;
__O uint32_t FMD:1;
#ifdef REVD
__I uint32_t PC:1;
#endif /* REVD */
} BITS;
__O uint32_t WORD;
} CLEAR_IRQ; /**< 0x40014030 */
Expand All @@ -145,9 +143,7 @@ typedef struct {
__IO uint32_t FS:1;
__IO uint32_t FP:1;
__IO uint32_t FM:1;
#ifdef REVD
__I uint32_t PC:1;
#endif /* REVD */
} BITS;
__IO uint32_t WORD;
} MASK_IRQ; /**< 0x40014034 */
Expand All @@ -159,9 +155,7 @@ typedef struct {
__I uint32_t FS:1;
__I uint32_t FP:1;
__I uint32_t FM:1;
#ifdef REVD
__I uint32_t PC:1;
#endif /* REVD */
} BITS;
__I uint32_t WORD;
} IRQ_STATUS; /**< 0x40014038 */
Expand Down Expand Up @@ -202,9 +196,6 @@ typedef struct {
__IO uint32_t WORD;
} SLOT_OFFSET; /**< 0x40014064 */
__I uint32_t TIME_STAMP; /**< 0x40014068 */
#ifdef REVB
__O uint32_t PAD5; /**< 0x4001406C */
#endif /* REVB */
union {
struct {
__IO uint32_t CRD_SHORT_ADDRESS:16;
Expand All @@ -214,17 +205,10 @@ typedef struct {
__IO uint32_t PAN_COORD_ADDR_S:1;
} BITS;
__IO uint32_t WORD;
#ifdef REVB
} CRD_SHORT_ADDR; /**< 0x40014070 */
__IO uint32_t CRD_LONG_ADDR_HI; /**< 0x40014074 */
__IO uint32_t CRD_LONG_ADDR_LO; /**< 0x40014078 */
#endif /* REVB */
#ifdef REVD
} CRD_SHORT_ADDR; /**< 0x4001406C */
__IO uint32_t CRD_LONG_ADDR_HI; /**< 0x40014070 */
__IO uint32_t CRD_LONG_ADDR_LO; /**< 0x40014074 */
__O uint32_t PAD5; /**< 0x40014078 */
#endif /* REVD */
__O uint32_t PAD9; /**< 0x4001407C */
__O uint32_t PAD10; /**< 0x40014080 */
__O uint32_t PAD11; /**< 0x40014084 */
Expand Down
42 changes: 42 additions & 0 deletions targets/TARGET_ONSEMI/TARGET_NCS36510/ncs36510_trng.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/**
******************************************************************************
* @file ncs36510_trng.h
* @brief Header file for ncs36510_trng_api.c.
* @internal
* @author ON Semiconductor.
* $Rev: $
* $Date: $
******************************************************************************
* Copyright 2016 Semiconductor Components Industries LLC (d/b/a �ON Semiconductor�).
* All rights reserved. This software and/or documentation is licensed by ON Semiconductor
* under limited terms and conditions. The terms and conditions pertaining to the software
* and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf
* (�ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software�) and
* if applicable the software license agreement. Do not use this software and/or
* documentation unless you have carefully read and you agree to the limited terms and
* conditions. By using this software and/or documentation, you agree to the limited
* terms and conditions.
*
* THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
* OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
* ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
* INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
* @endinternal
*
* @ingroup TRNG header
*
*/

#ifndef RANDOM_H_
#define RANDOM_H_

#define TRNG_SLOW_MODE 0
#define TRNG_FAST_MODE 1

#define TRNG_DISABLE 0
#define TRNG_ENABLE 1

#define TRNG_ON_READ_EVENT 1

#endif /* RANDOM_H_ */
Loading