mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Wed Jul 01 09:45:11 2015 +0100
Revision:
579:53297373a894
Parent:
514:7668256dbe61
Synchronized with git revision d5b4d2ab9c47edb4dc5776e7177b0c2263459081

Full URL: https://github.com/mbedmicro/mbed/commit/d5b4d2ab9c47edb4dc5776e7177b0c2263459081/

Initial version of drivers for SAMR21

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 514:7668256dbe61 1 /*******************************************************************************
mbed_official 514:7668256dbe61 2 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
mbed_official 514:7668256dbe61 3 *
mbed_official 514:7668256dbe61 4 * Permission is hereby granted, free of charge, to any person obtaining a
mbed_official 514:7668256dbe61 5 * copy of this software and associated documentation files (the "Software"),
mbed_official 514:7668256dbe61 6 * to deal in the Software without restriction, including without limitation
mbed_official 514:7668256dbe61 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
mbed_official 514:7668256dbe61 8 * and/or sell copies of the Software, and to permit persons to whom the
mbed_official 514:7668256dbe61 9 * Software is furnished to do so, subject to the following conditions:
mbed_official 514:7668256dbe61 10 *
mbed_official 514:7668256dbe61 11 * The above copyright notice and this permission notice shall be included
mbed_official 514:7668256dbe61 12 * in all copies or substantial portions of the Software.
mbed_official 514:7668256dbe61 13 *
mbed_official 514:7668256dbe61 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
mbed_official 514:7668256dbe61 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
mbed_official 514:7668256dbe61 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
mbed_official 514:7668256dbe61 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
mbed_official 514:7668256dbe61 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
mbed_official 514:7668256dbe61 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
mbed_official 514:7668256dbe61 20 * OTHER DEALINGS IN THE SOFTWARE.
mbed_official 514:7668256dbe61 21 *
mbed_official 514:7668256dbe61 22 * Except as contained in this notice, the name of Maxim Integrated
mbed_official 514:7668256dbe61 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
mbed_official 514:7668256dbe61 24 * Products, Inc. Branding Policy.
mbed_official 514:7668256dbe61 25 *
mbed_official 514:7668256dbe61 26 * The mere transfer of this software does not imply any licenses
mbed_official 514:7668256dbe61 27 * of trade secrets, proprietary technology, copyrights, patents,
mbed_official 514:7668256dbe61 28 * trademarks, maskwork rights, or any other form of intellectual
mbed_official 514:7668256dbe61 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
mbed_official 514:7668256dbe61 30 * ownership rights.
mbed_official 514:7668256dbe61 31 *******************************************************************************
mbed_official 514:7668256dbe61 32 */
mbed_official 514:7668256dbe61 33
mbed_official 514:7668256dbe61 34 #ifndef _MXC_TPU_REGS_H_
mbed_official 514:7668256dbe61 35 #define _MXC_TPU_REGS_H_
mbed_official 514:7668256dbe61 36
mbed_official 514:7668256dbe61 37 #ifdef __cplusplus
mbed_official 514:7668256dbe61 38 extern "C" {
mbed_official 514:7668256dbe61 39 #endif
mbed_official 514:7668256dbe61 40
mbed_official 514:7668256dbe61 41 #include <stdint.h>
mbed_official 514:7668256dbe61 42
mbed_official 514:7668256dbe61 43 /**
mbed_official 514:7668256dbe61 44 * @file tpu_regs.h
mbed_official 514:7668256dbe61 45 * @addtogroup tpu TPU
mbed_official 514:7668256dbe61 46 * @{
mbed_official 514:7668256dbe61 47 */
mbed_official 514:7668256dbe61 48
mbed_official 514:7668256dbe61 49 /* Offset Register Description
mbed_official 514:7668256dbe61 50 ====== ================================================== */
mbed_official 514:7668256dbe61 51 typedef struct {
mbed_official 514:7668256dbe61 52 __I uint32_t rsv0000; /* 0x0000 Reserved */
mbed_official 514:7668256dbe61 53 __I uint32_t rsv0004; /* 0x0004 Reserved - PUF Control (Deprecated) */
mbed_official 514:7668256dbe61 54 __I uint32_t rsv0008; /* 0x0008 Reserved - PUF Output (Deprecated) */
mbed_official 514:7668256dbe61 55 __I uint32_t rsv000C[125]; /* 0x000C */
mbed_official 514:7668256dbe61 56 __IO uint32_t prng_user_entropy; /* 0x0200 PRNG User Entropy Value */
mbed_official 514:7668256dbe61 57 __IO uint32_t prng_rnd_num; /* 0x0204 PRNG Random Number Output */
mbed_official 514:7668256dbe61 58 } mxc_tpu_regs_t;
mbed_official 514:7668256dbe61 59
mbed_official 514:7668256dbe61 60 /* Offset Register Description
mbed_official 514:7668256dbe61 61 ====== ================================================= */
mbed_official 514:7668256dbe61 62 typedef struct {
mbed_official 514:7668256dbe61 63 __IO uint32_t status; /* 0x0000 Dynamic Tamper Sensor Status */
mbed_official 514:7668256dbe61 64 __IO uint32_t ctrl0; /* 0x0004 Dynamic Tamper Sensor Control 0 */
mbed_official 514:7668256dbe61 65 __IO uint32_t ctrl1; /* 0x0008 Dynamic Tamper Sensor Control 1 */
mbed_official 514:7668256dbe61 66 __IO uint32_t sks0; /* 0x0010 TPU Secure Key Storage Register 0 */
mbed_official 514:7668256dbe61 67 __IO uint32_t sks1; /* 0x0014 TPU Secure Key Storage Register 0 */
mbed_official 514:7668256dbe61 68 __IO uint32_t sks2; /* 0x0018 TPU Secure Key Storage Register 0 */
mbed_official 514:7668256dbe61 69 __IO uint32_t sks3; /* 0x001C TPU Secure Key Storage Register 0 */
mbed_official 514:7668256dbe61 70 } mxc_tpu_tsr_regs_t;
mbed_official 514:7668256dbe61 71
mbed_official 514:7668256dbe61 72 /*
mbed_official 514:7668256dbe61 73 Register offsets for module TPU.
mbed_official 514:7668256dbe61 74 */
mbed_official 514:7668256dbe61 75 #define MXC_R_TPU_OFFS_PRNG_USER_ENTROPY ((uint32_t)0x00000200UL)
mbed_official 514:7668256dbe61 76 #define MXC_R_TPU_OFFS_PRNG_RND_NUM ((uint32_t)0x00000204UL)
mbed_official 514:7668256dbe61 77 #define MXC_R_TPU_TSR_OFFS_STATUS ((uint32_t)0x00000000UL)
mbed_official 514:7668256dbe61 78 #define MXC_R_TPU_TSR_OFFS_CTRL0 ((uint32_t)0x00000004UL)
mbed_official 514:7668256dbe61 79 #define MXC_R_TPU_TSR_OFFS_CTRL1 ((uint32_t)0x00000008UL)
mbed_official 514:7668256dbe61 80 #define MXC_R_TPU_TSR_OFFS_SKS0 ((uint32_t)0x00000010UL)
mbed_official 514:7668256dbe61 81 #define MXC_R_TPU_TSR_OFFS_SKS1 ((uint32_t)0x00000014UL)
mbed_official 514:7668256dbe61 82 #define MXC_R_TPU_TSR_OFFS_SKS2 ((uint32_t)0x00000018UL)
mbed_official 514:7668256dbe61 83 #define MXC_R_TPU_TSR_OFFS_SKS3 ((uint32_t)0x0000001CUL)
mbed_official 514:7668256dbe61 84
mbed_official 514:7668256dbe61 85
mbed_official 514:7668256dbe61 86 /*
mbed_official 514:7668256dbe61 87 Field positions and masks for module TPU.
mbed_official 514:7668256dbe61 88 */
mbed_official 514:7668256dbe61 89 #define MXC_F_TPU_CTRL0_ERR_THR_POS 0
mbed_official 514:7668256dbe61 90 #define MXC_F_TPU_CTRL0_ERR_THR ((uint32_t)(0x0000001FUL << MXC_F_TPU_CTRL0_ERR_THR_POS))
mbed_official 514:7668256dbe61 91 #define MXC_F_TPU_CTRL0_OUT_FREQ_POS 5
mbed_official 514:7668256dbe61 92 #define MXC_F_TPU_CTRL0_OUT_FREQ ((uint32_t)(0x00000007UL << MXC_F_TPU_CTRL0_OUT_FREQ_POS))
mbed_official 514:7668256dbe61 93 #define MXC_F_TPU_CTRL0_CLOCK_DIV_POS 8
mbed_official 514:7668256dbe61 94 #define MXC_F_TPU_CTRL0_CLOCK_DIV ((uint32_t)(0x00000007UL << MXC_F_TPU_CTRL0_CLOCK_DIV_POS))
mbed_official 514:7668256dbe61 95 #define MXC_F_TPU_CTRL0_RTC_TX_BUSY_POS 14
mbed_official 514:7668256dbe61 96 #define MXC_F_TPU_CTRL0_RTC_TX_BUSY ((uint32_t)(0x00000001UL << MXC_F_TPU_CTRL0_RTC_TX_BUSY_POS))
mbed_official 514:7668256dbe61 97 #define MXC_F_TPU_CTRL0_LOCK_POS 15
mbed_official 514:7668256dbe61 98 #define MXC_F_TPU_CTRL0_LOCK ((uint32_t)(0x00000001UL << MXC_F_TPU_CTRL0_LOCK_POS))
mbed_official 514:7668256dbe61 99
mbed_official 514:7668256dbe61 100 #ifdef __cplusplus
mbed_official 514:7668256dbe61 101 }
mbed_official 514:7668256dbe61 102 #endif
mbed_official 514:7668256dbe61 103
mbed_official 514:7668256dbe61 104 /**
mbed_official 514:7668256dbe61 105 * @}
mbed_official 514:7668256dbe61 106 */
mbed_official 514:7668256dbe61 107
mbed_official 514:7668256dbe61 108 #endif /* _MXC_TPU_REGS_H_ */