Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.

Upstream: https://github.com/ARMmbed/DAPLink

Committer:
Pawel Zarembski
Date:
Tue Apr 07 12:55:42 2020 +0200
Revision:
0:01f31e923fe2
hani: DAPLink with reset workaround

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pawel Zarembski 0:01f31e923fe2 1 /*******************************************************************************
Pawel Zarembski 0:01f31e923fe2 2 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
Pawel Zarembski 0:01f31e923fe2 3 *
Pawel Zarembski 0:01f31e923fe2 4 * Permission is hereby granted, free of charge, to any person obtaining a
Pawel Zarembski 0:01f31e923fe2 5 * copy of this software and associated documentation files (the "Software"),
Pawel Zarembski 0:01f31e923fe2 6 * to deal in the Software without restriction, including without limitation
Pawel Zarembski 0:01f31e923fe2 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
Pawel Zarembski 0:01f31e923fe2 8 * and/or sell copies of the Software, and to permit persons to whom the
Pawel Zarembski 0:01f31e923fe2 9 * Software is furnished to do so, subject to the following conditions:
Pawel Zarembski 0:01f31e923fe2 10 *
Pawel Zarembski 0:01f31e923fe2 11 * The above copyright notice and this permission notice shall be included
Pawel Zarembski 0:01f31e923fe2 12 * in all copies or substantial portions of the Software.
Pawel Zarembski 0:01f31e923fe2 13 *
Pawel Zarembski 0:01f31e923fe2 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
Pawel Zarembski 0:01f31e923fe2 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Pawel Zarembski 0:01f31e923fe2 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Pawel Zarembski 0:01f31e923fe2 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
Pawel Zarembski 0:01f31e923fe2 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
Pawel Zarembski 0:01f31e923fe2 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
Pawel Zarembski 0:01f31e923fe2 20 * OTHER DEALINGS IN THE SOFTWARE.
Pawel Zarembski 0:01f31e923fe2 21 *
Pawel Zarembski 0:01f31e923fe2 22 * Except as contained in this notice, the name of Maxim Integrated
Pawel Zarembski 0:01f31e923fe2 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
Pawel Zarembski 0:01f31e923fe2 24 * Products, Inc. Branding Policy.
Pawel Zarembski 0:01f31e923fe2 25 *
Pawel Zarembski 0:01f31e923fe2 26 * The mere transfer of this software does not imply any licenses
Pawel Zarembski 0:01f31e923fe2 27 * of trade secrets, proprietary technology, copyrights, patents,
Pawel Zarembski 0:01f31e923fe2 28 * trademarks, maskwork rights, or any other form of intellectual
Pawel Zarembski 0:01f31e923fe2 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
Pawel Zarembski 0:01f31e923fe2 30 * ownership rights.
Pawel Zarembski 0:01f31e923fe2 31 *
Pawel Zarembski 0:01f31e923fe2 32 ******************************************************************************/
Pawel Zarembski 0:01f31e923fe2 33
Pawel Zarembski 0:01f31e923fe2 34 #ifndef _MXC_RTC_REGS_H_
Pawel Zarembski 0:01f31e923fe2 35 #define _MXC_RTC_REGS_H_
Pawel Zarembski 0:01f31e923fe2 36
Pawel Zarembski 0:01f31e923fe2 37 #ifdef __cplusplus
Pawel Zarembski 0:01f31e923fe2 38 extern "C" {
Pawel Zarembski 0:01f31e923fe2 39 #endif
Pawel Zarembski 0:01f31e923fe2 40
Pawel Zarembski 0:01f31e923fe2 41 #include <stdint.h>
Pawel Zarembski 0:01f31e923fe2 42
Pawel Zarembski 0:01f31e923fe2 43 /*
Pawel Zarembski 0:01f31e923fe2 44 If types are not defined elsewhere (CMSIS) define them here
Pawel Zarembski 0:01f31e923fe2 45 */
Pawel Zarembski 0:01f31e923fe2 46 #ifndef __IO
Pawel Zarembski 0:01f31e923fe2 47 #define __IO volatile
Pawel Zarembski 0:01f31e923fe2 48 #endif
Pawel Zarembski 0:01f31e923fe2 49 #ifndef __I
Pawel Zarembski 0:01f31e923fe2 50 #define __I volatile const
Pawel Zarembski 0:01f31e923fe2 51 #endif
Pawel Zarembski 0:01f31e923fe2 52 #ifndef __O
Pawel Zarembski 0:01f31e923fe2 53 #define __O volatile
Pawel Zarembski 0:01f31e923fe2 54 #endif
Pawel Zarembski 0:01f31e923fe2 55 #ifndef __R
Pawel Zarembski 0:01f31e923fe2 56 #define __R volatile const
Pawel Zarembski 0:01f31e923fe2 57 #endif
Pawel Zarembski 0:01f31e923fe2 58
Pawel Zarembski 0:01f31e923fe2 59
Pawel Zarembski 0:01f31e923fe2 60 /*
Pawel Zarembski 0:01f31e923fe2 61 Typedefed structure(s) for module registers (per instance or section) with direct 32-bit
Pawel Zarembski 0:01f31e923fe2 62 access to each register in module.
Pawel Zarembski 0:01f31e923fe2 63 */
Pawel Zarembski 0:01f31e923fe2 64
Pawel Zarembski 0:01f31e923fe2 65 /* Offset Register Description
Pawel Zarembski 0:01f31e923fe2 66 ============= ============================================================================ */
Pawel Zarembski 0:01f31e923fe2 67 typedef struct {
Pawel Zarembski 0:01f31e923fe2 68 __IO uint32_t ctrl; /* 0x0000 RTC Timer Control */
Pawel Zarembski 0:01f31e923fe2 69 __IO uint32_t timer; /* 0x0004 RTC Timer Count Value */
Pawel Zarembski 0:01f31e923fe2 70 __IO uint32_t comp[2]; /* 0x0008-0x000C RTC Time of Day Alarm [0..1] Compare Register */
Pawel Zarembski 0:01f31e923fe2 71 __IO uint32_t flags; /* 0x0010 CPU Interrupt and RTC Domain Flags */
Pawel Zarembski 0:01f31e923fe2 72 __IO uint32_t snz_val; /* 0x0014 RTC Timer Alarm Snooze Value */
Pawel Zarembski 0:01f31e923fe2 73 __IO uint32_t inten; /* 0x0018 Interrupt Enable Controls */
Pawel Zarembski 0:01f31e923fe2 74 __IO uint32_t prescale; /* 0x001C RTC Timer Prescale Setting */
Pawel Zarembski 0:01f31e923fe2 75 __R uint32_t rsv020; /* 0x0020 */
Pawel Zarembski 0:01f31e923fe2 76 __IO uint32_t prescale_mask; /* 0x0024 RTC Timer Prescale Compare Mask */
Pawel Zarembski 0:01f31e923fe2 77 __IO uint32_t trim_ctrl; /* 0x0028 RTC Timer Trim Controls */
Pawel Zarembski 0:01f31e923fe2 78 __IO uint32_t trim_value; /* 0x002C RTC Timer Trim Adjustment Interval */
Pawel Zarembski 0:01f31e923fe2 79 } mxc_rtctmr_regs_t;
Pawel Zarembski 0:01f31e923fe2 80
Pawel Zarembski 0:01f31e923fe2 81
Pawel Zarembski 0:01f31e923fe2 82 /* Offset Register Description
Pawel Zarembski 0:01f31e923fe2 83 ============= ============================================================================ */
Pawel Zarembski 0:01f31e923fe2 84 typedef struct {
Pawel Zarembski 0:01f31e923fe2 85 __IO uint32_t nano_cntr; /* 0x0000 Nano Oscillator Counter Read Register */
Pawel Zarembski 0:01f31e923fe2 86 __IO uint32_t clk_ctrl; /* 0x0004 RTC Clock Control Settings */
Pawel Zarembski 0:01f31e923fe2 87 __R uint32_t rsv008; /* 0x0008 */
Pawel Zarembski 0:01f31e923fe2 88 __IO uint32_t osc_ctrl; /* 0x000C RTC Oscillator Control */
Pawel Zarembski 0:01f31e923fe2 89 } mxc_rtccfg_regs_t;
Pawel Zarembski 0:01f31e923fe2 90
Pawel Zarembski 0:01f31e923fe2 91
Pawel Zarembski 0:01f31e923fe2 92 /*
Pawel Zarembski 0:01f31e923fe2 93 Register offsets for module RTC.
Pawel Zarembski 0:01f31e923fe2 94 */
Pawel Zarembski 0:01f31e923fe2 95
Pawel Zarembski 0:01f31e923fe2 96 #define MXC_R_RTCTMR_OFFS_CTRL ((uint32_t)0x00000000UL)
Pawel Zarembski 0:01f31e923fe2 97 #define MXC_R_RTCTMR_OFFS_TIMER ((uint32_t)0x00000004UL)
Pawel Zarembski 0:01f31e923fe2 98 #define MXC_R_RTCTMR_OFFS_COMP0 ((uint32_t)0x00000008UL)
Pawel Zarembski 0:01f31e923fe2 99 #define MXC_R_RTCTMR_OFFS_COMP1 ((uint32_t)0x0000000CUL)
Pawel Zarembski 0:01f31e923fe2 100 #define MXC_R_RTCTMR_OFFS_FLAGS ((uint32_t)0x00000010UL)
Pawel Zarembski 0:01f31e923fe2 101 #define MXC_R_RTCTMR_OFFS_SNZ_VAL ((uint32_t)0x00000014UL)
Pawel Zarembski 0:01f31e923fe2 102 #define MXC_R_RTCTMR_OFFS_INTEN ((uint32_t)0x00000018UL)
Pawel Zarembski 0:01f31e923fe2 103 #define MXC_R_RTCTMR_OFFS_PRESCALE ((uint32_t)0x0000001CUL)
Pawel Zarembski 0:01f31e923fe2 104 #define MXC_R_RTCTMR_OFFS_PRESCALE_MASK ((uint32_t)0x00000024UL)
Pawel Zarembski 0:01f31e923fe2 105 #define MXC_R_RTCTMR_OFFS_TRIM_CTRL ((uint32_t)0x00000028UL)
Pawel Zarembski 0:01f31e923fe2 106 #define MXC_R_RTCTMR_OFFS_TRIM_VALUE ((uint32_t)0x0000002CUL)
Pawel Zarembski 0:01f31e923fe2 107 #define MXC_R_RTCCFG_OFFS_NANO_CNTR ((uint32_t)0x00000000UL)
Pawel Zarembski 0:01f31e923fe2 108 #define MXC_R_RTCCFG_OFFS_CLK_CTRL ((uint32_t)0x00000004UL)
Pawel Zarembski 0:01f31e923fe2 109 #define MXC_R_RTCCFG_OFFS_OSC_CTRL ((uint32_t)0x0000000CUL)
Pawel Zarembski 0:01f31e923fe2 110
Pawel Zarembski 0:01f31e923fe2 111
Pawel Zarembski 0:01f31e923fe2 112 /*
Pawel Zarembski 0:01f31e923fe2 113 Field positions and masks for module RTC.
Pawel Zarembski 0:01f31e923fe2 114 */
Pawel Zarembski 0:01f31e923fe2 115
Pawel Zarembski 0:01f31e923fe2 116 #define MXC_F_RTC_CTRL_ENABLE_POS 0
Pawel Zarembski 0:01f31e923fe2 117 #define MXC_F_RTC_CTRL_ENABLE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_ENABLE_POS))
Pawel Zarembski 0:01f31e923fe2 118 #define MXC_F_RTC_CTRL_CLEAR_POS 1
Pawel Zarembski 0:01f31e923fe2 119 #define MXC_F_RTC_CTRL_CLEAR ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_CLEAR_POS))
Pawel Zarembski 0:01f31e923fe2 120 #define MXC_F_RTC_CTRL_PENDING_POS 2
Pawel Zarembski 0:01f31e923fe2 121 #define MXC_F_RTC_CTRL_PENDING ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_PENDING_POS))
Pawel Zarembski 0:01f31e923fe2 122 #define MXC_F_RTC_CTRL_USE_ASYNC_FLAGS_POS 3
Pawel Zarembski 0:01f31e923fe2 123 #define MXC_F_RTC_CTRL_USE_ASYNC_FLAGS ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_USE_ASYNC_FLAGS_POS))
Pawel Zarembski 0:01f31e923fe2 124 #define MXC_F_RTC_CTRL_AGGRESSIVE_RST_POS 4
Pawel Zarembski 0:01f31e923fe2 125 #define MXC_F_RTC_CTRL_AGGRESSIVE_RST ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_AGGRESSIVE_RST_POS))
Pawel Zarembski 0:01f31e923fe2 126 #define MXC_F_RTC_CTRL_AUTO_UPDATE_DISABLE_POS 5
Pawel Zarembski 0:01f31e923fe2 127 #define MXC_F_RTC_CTRL_AUTO_UPDATE_DISABLE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_AUTO_UPDATE_DISABLE_POS))
Pawel Zarembski 0:01f31e923fe2 128 #define MXC_F_RTC_CTRL_SNOOZE_ENABLE_POS 6
Pawel Zarembski 0:01f31e923fe2 129 #define MXC_F_RTC_CTRL_SNOOZE_ENABLE ((uint32_t)(0x00000003UL << MXC_F_RTC_CTRL_SNOOZE_ENABLE_POS))
Pawel Zarembski 0:01f31e923fe2 130 #define MXC_F_RTC_CTRL_RTC_ENABLE_ACTIVE_POS 16
Pawel Zarembski 0:01f31e923fe2 131 #define MXC_F_RTC_CTRL_RTC_ENABLE_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_RTC_ENABLE_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 132 #define MXC_F_RTC_CTRL_OSC_GOTO_LOW_ACTIVE_POS 17
Pawel Zarembski 0:01f31e923fe2 133 #define MXC_F_RTC_CTRL_OSC_GOTO_LOW_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_OSC_GOTO_LOW_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 134 #define MXC_F_RTC_CTRL_OSC_FRCE_SM_EN_ACTIVE_POS 18
Pawel Zarembski 0:01f31e923fe2 135 #define MXC_F_RTC_CTRL_OSC_FRCE_SM_EN_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_OSC_FRCE_SM_EN_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 136 #define MXC_F_RTC_CTRL_OSC_FRCE_ST_ACTIVE_POS 19
Pawel Zarembski 0:01f31e923fe2 137 #define MXC_F_RTC_CTRL_OSC_FRCE_ST_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_OSC_FRCE_ST_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 138 #define MXC_F_RTC_CTRL_RTC_SET_ACTIVE_POS 20
Pawel Zarembski 0:01f31e923fe2 139 #define MXC_F_RTC_CTRL_RTC_SET_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_RTC_SET_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 140 #define MXC_F_RTC_CTRL_RTC_CLR_ACTIVE_POS 21
Pawel Zarembski 0:01f31e923fe2 141 #define MXC_F_RTC_CTRL_RTC_CLR_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_RTC_CLR_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 142 #define MXC_F_RTC_CTRL_ROLLOVER_CLR_ACTIVE_POS 22
Pawel Zarembski 0:01f31e923fe2 143 #define MXC_F_RTC_CTRL_ROLLOVER_CLR_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_ROLLOVER_CLR_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 144 #define MXC_F_RTC_CTRL_PRESCALE_CMPR0_ACTIVE_POS 23
Pawel Zarembski 0:01f31e923fe2 145 #define MXC_F_RTC_CTRL_PRESCALE_CMPR0_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_PRESCALE_CMPR0_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 146 #define MXC_F_RTC_CTRL_PRESCALE_UPDATE_ACTIVE_POS 24
Pawel Zarembski 0:01f31e923fe2 147 #define MXC_F_RTC_CTRL_PRESCALE_UPDATE_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_PRESCALE_UPDATE_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 148 #define MXC_F_RTC_CTRL_CMPR1_CLR_ACTIVE_POS 25
Pawel Zarembski 0:01f31e923fe2 149 #define MXC_F_RTC_CTRL_CMPR1_CLR_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_CMPR1_CLR_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 150 #define MXC_F_RTC_CTRL_CMPR0_CLR_ACTIVE_POS 26
Pawel Zarembski 0:01f31e923fe2 151 #define MXC_F_RTC_CTRL_CMPR0_CLR_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_CMPR0_CLR_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 152 #define MXC_F_RTC_CTRL_TRIM_ENABLE_ACTIVE_POS 27
Pawel Zarembski 0:01f31e923fe2 153 #define MXC_F_RTC_CTRL_TRIM_ENABLE_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_TRIM_ENABLE_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 154 #define MXC_F_RTC_CTRL_TRIM_SLOWER_ACTIVE_POS 28
Pawel Zarembski 0:01f31e923fe2 155 #define MXC_F_RTC_CTRL_TRIM_SLOWER_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_TRIM_SLOWER_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 156 #define MXC_F_RTC_CTRL_TRIM_CLR_ACTIVE_POS 29
Pawel Zarembski 0:01f31e923fe2 157 #define MXC_F_RTC_CTRL_TRIM_CLR_ACTIVE ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_TRIM_CLR_ACTIVE_POS))
Pawel Zarembski 0:01f31e923fe2 158 #define MXC_F_RTC_CTRL_ACTIVE_TRANS_0_POS 30
Pawel Zarembski 0:01f31e923fe2 159 #define MXC_F_RTC_CTRL_ACTIVE_TRANS_0 ((uint32_t)(0x00000001UL << MXC_F_RTC_CTRL_ACTIVE_TRANS_0_POS))
Pawel Zarembski 0:01f31e923fe2 160
Pawel Zarembski 0:01f31e923fe2 161 #define MXC_F_RTC_FLAGS_COMP0_POS 0
Pawel Zarembski 0:01f31e923fe2 162 #define MXC_F_RTC_FLAGS_COMP0 ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_COMP0_POS))
Pawel Zarembski 0:01f31e923fe2 163 #define MXC_F_RTC_FLAGS_COMP1_POS 1
Pawel Zarembski 0:01f31e923fe2 164 #define MXC_F_RTC_FLAGS_COMP1 ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_COMP1_POS))
Pawel Zarembski 0:01f31e923fe2 165 #define MXC_F_RTC_FLAGS_PRESCALE_COMP_POS 2
Pawel Zarembski 0:01f31e923fe2 166 #define MXC_F_RTC_FLAGS_PRESCALE_COMP ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_PRESCALE_COMP_POS))
Pawel Zarembski 0:01f31e923fe2 167 #define MXC_F_RTC_FLAGS_OVERFLOW_POS 3
Pawel Zarembski 0:01f31e923fe2 168 #define MXC_F_RTC_FLAGS_OVERFLOW ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_OVERFLOW_POS))
Pawel Zarembski 0:01f31e923fe2 169 #define MXC_F_RTC_FLAGS_TRIM_POS 4
Pawel Zarembski 0:01f31e923fe2 170 #define MXC_F_RTC_FLAGS_TRIM ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_TRIM_POS))
Pawel Zarembski 0:01f31e923fe2 171 #define MXC_F_RTC_FLAGS_SNOOZE_POS 5
Pawel Zarembski 0:01f31e923fe2 172 #define MXC_F_RTC_FLAGS_SNOOZE ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_SNOOZE_POS))
Pawel Zarembski 0:01f31e923fe2 173 #define MXC_F_RTC_FLAGS_COMP0_FLAG_A_POS 8
Pawel Zarembski 0:01f31e923fe2 174 #define MXC_F_RTC_FLAGS_COMP0_FLAG_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_COMP0_FLAG_A_POS))
Pawel Zarembski 0:01f31e923fe2 175 #define MXC_F_RTC_FLAGS_COMP1_FLAG_A_POS 9
Pawel Zarembski 0:01f31e923fe2 176 #define MXC_F_RTC_FLAGS_COMP1_FLAG_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_COMP1_FLAG_A_POS))
Pawel Zarembski 0:01f31e923fe2 177 #define MXC_F_RTC_FLAGS_PRESCL_FLAG_A_POS 10
Pawel Zarembski 0:01f31e923fe2 178 #define MXC_F_RTC_FLAGS_PRESCL_FLAG_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_PRESCL_FLAG_A_POS))
Pawel Zarembski 0:01f31e923fe2 179 #define MXC_F_RTC_FLAGS_OVERFLOW_FLAG_A_POS 11
Pawel Zarembski 0:01f31e923fe2 180 #define MXC_F_RTC_FLAGS_OVERFLOW_FLAG_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_OVERFLOW_FLAG_A_POS))
Pawel Zarembski 0:01f31e923fe2 181 #define MXC_F_RTC_FLAGS_TRIM_FLAG_A_POS 12
Pawel Zarembski 0:01f31e923fe2 182 #define MXC_F_RTC_FLAGS_TRIM_FLAG_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_TRIM_FLAG_A_POS))
Pawel Zarembski 0:01f31e923fe2 183 #define MXC_F_RTC_FLAGS_SNOOZE_A_POS 28
Pawel Zarembski 0:01f31e923fe2 184 #define MXC_F_RTC_FLAGS_SNOOZE_A ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_SNOOZE_A_POS))
Pawel Zarembski 0:01f31e923fe2 185 #define MXC_F_RTC_FLAGS_SNOOZE_B_POS 29
Pawel Zarembski 0:01f31e923fe2 186 #define MXC_F_RTC_FLAGS_SNOOZE_B ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_SNOOZE_B_POS))
Pawel Zarembski 0:01f31e923fe2 187 #define MXC_F_RTC_FLAGS_ASYNC_CLR_FLAGS_POS 31
Pawel Zarembski 0:01f31e923fe2 188 #define MXC_F_RTC_FLAGS_ASYNC_CLR_FLAGS ((uint32_t)(0x00000001UL << MXC_F_RTC_FLAGS_ASYNC_CLR_FLAGS_POS))
Pawel Zarembski 0:01f31e923fe2 189
Pawel Zarembski 0:01f31e923fe2 190 #define MXC_F_RTC_SNZ_VAL_VALUE_POS 0
Pawel Zarembski 0:01f31e923fe2 191 #define MXC_F_RTC_SNZ_VAL_VALUE ((uint32_t)(0x000003FFUL << MXC_F_RTC_SNZ_VAL_VALUE_POS))
Pawel Zarembski 0:01f31e923fe2 192
Pawel Zarembski 0:01f31e923fe2 193 #define MXC_F_RTC_INTEN_COMP0_POS 0
Pawel Zarembski 0:01f31e923fe2 194 #define MXC_F_RTC_INTEN_COMP0 ((uint32_t)(0x00000001UL << MXC_F_RTC_INTEN_COMP0_POS))
Pawel Zarembski 0:01f31e923fe2 195 #define MXC_F_RTC_INTEN_COMP1_POS 1
Pawel Zarembski 0:01f31e923fe2 196 #define MXC_F_RTC_INTEN_COMP1 ((uint32_t)(0x00000001UL << MXC_F_RTC_INTEN_COMP1_POS))
Pawel Zarembski 0:01f31e923fe2 197 #define MXC_F_RTC_INTEN_PRESCALE_COMP_POS 2
Pawel Zarembski 0:01f31e923fe2 198 #define MXC_F_RTC_INTEN_PRESCALE_COMP ((uint32_t)(0x00000001UL << MXC_F_RTC_INTEN_PRESCALE_COMP_POS))
Pawel Zarembski 0:01f31e923fe2 199 #define MXC_F_RTC_INTEN_OVERFLOW_POS 3
Pawel Zarembski 0:01f31e923fe2 200 #define MXC_F_RTC_INTEN_OVERFLOW ((uint32_t)(0x00000001UL << MXC_F_RTC_INTEN_OVERFLOW_POS))
Pawel Zarembski 0:01f31e923fe2 201 #define MXC_F_RTC_INTEN_TRIM_POS 4
Pawel Zarembski 0:01f31e923fe2 202 #define MXC_F_RTC_INTEN_TRIM ((uint32_t)(0x00000001UL << MXC_F_RTC_INTEN_TRIM_POS))
Pawel Zarembski 0:01f31e923fe2 203
Pawel Zarembski 0:01f31e923fe2 204 #define MXC_F_RTC_PRESCALE_PRESCALE_POS 0
Pawel Zarembski 0:01f31e923fe2 205 #define MXC_F_RTC_PRESCALE_PRESCALE ((uint32_t)(0x0000000FUL << MXC_F_RTC_PRESCALE_PRESCALE_POS))
Pawel Zarembski 0:01f31e923fe2 206
Pawel Zarembski 0:01f31e923fe2 207 #define MXC_F_RTC_PRESCALE_MASK_PRESCALE_MASK_POS 0
Pawel Zarembski 0:01f31e923fe2 208 #define MXC_F_RTC_PRESCALE_MASK_PRESCALE_MASK ((uint32_t)(0x0000000FUL << MXC_F_RTC_PRESCALE_MASK_PRESCALE_MASK_POS))
Pawel Zarembski 0:01f31e923fe2 209
Pawel Zarembski 0:01f31e923fe2 210 #define MXC_F_RTC_TRIM_CTRL_TRIM_ENABLE_R_POS 0
Pawel Zarembski 0:01f31e923fe2 211 #define MXC_F_RTC_TRIM_CTRL_TRIM_ENABLE_R ((uint32_t)(0x00000001UL << MXC_F_RTC_TRIM_CTRL_TRIM_ENABLE_R_POS))
Pawel Zarembski 0:01f31e923fe2 212 #define MXC_F_RTC_TRIM_CTRL_TRIM_FASTER_OVR_R_POS 1
Pawel Zarembski 0:01f31e923fe2 213 #define MXC_F_RTC_TRIM_CTRL_TRIM_FASTER_OVR_R ((uint32_t)(0x00000001UL << MXC_F_RTC_TRIM_CTRL_TRIM_FASTER_OVR_R_POS))
Pawel Zarembski 0:01f31e923fe2 214 #define MXC_F_RTC_TRIM_CTRL_TRIM_SLOWER_R_POS 2
Pawel Zarembski 0:01f31e923fe2 215 #define MXC_F_RTC_TRIM_CTRL_TRIM_SLOWER_R ((uint32_t)(0x00000001UL << MXC_F_RTC_TRIM_CTRL_TRIM_SLOWER_R_POS))
Pawel Zarembski 0:01f31e923fe2 216
Pawel Zarembski 0:01f31e923fe2 217 #define MXC_F_RTC_TRIM_VALUE_TRIM_VALUE_POS 0
Pawel Zarembski 0:01f31e923fe2 218 #define MXC_F_RTC_TRIM_VALUE_TRIM_VALUE ((uint32_t)(0x0003FFFFUL << MXC_F_RTC_TRIM_VALUE_TRIM_VALUE_POS))
Pawel Zarembski 0:01f31e923fe2 219 #define MXC_F_RTC_TRIM_VALUE_TRIM_SLOWER_CONTROL_POS 18
Pawel Zarembski 0:01f31e923fe2 220 #define MXC_F_RTC_TRIM_VALUE_TRIM_SLOWER_CONTROL ((uint32_t)(0x00000001UL << MXC_F_RTC_TRIM_VALUE_TRIM_SLOWER_CONTROL_POS))
Pawel Zarembski 0:01f31e923fe2 221
Pawel Zarembski 0:01f31e923fe2 222 #define MXC_F_RTC_NANO_CNTR_NANORING_COUNTER_POS 0
Pawel Zarembski 0:01f31e923fe2 223 #define MXC_F_RTC_NANO_CNTR_NANORING_COUNTER ((uint32_t)(0x0000FFFFUL << MXC_F_RTC_NANO_CNTR_NANORING_COUNTER_POS))
Pawel Zarembski 0:01f31e923fe2 224
Pawel Zarembski 0:01f31e923fe2 225 #define MXC_F_RTC_CLK_CTRL_OSC1_EN_POS 0
Pawel Zarembski 0:01f31e923fe2 226 #define MXC_F_RTC_CLK_CTRL_OSC1_EN ((uint32_t)(0x00000001UL << MXC_F_RTC_CLK_CTRL_OSC1_EN_POS))
Pawel Zarembski 0:01f31e923fe2 227 #define MXC_F_RTC_CLK_CTRL_OSC2_EN_POS 1
Pawel Zarembski 0:01f31e923fe2 228 #define MXC_F_RTC_CLK_CTRL_OSC2_EN ((uint32_t)(0x00000001UL << MXC_F_RTC_CLK_CTRL_OSC2_EN_POS))
Pawel Zarembski 0:01f31e923fe2 229 #define MXC_F_RTC_CLK_CTRL_NANO_EN_POS 2
Pawel Zarembski 0:01f31e923fe2 230 #define MXC_F_RTC_CLK_CTRL_NANO_EN ((uint32_t)(0x00000001UL << MXC_F_RTC_CLK_CTRL_NANO_EN_POS))
Pawel Zarembski 0:01f31e923fe2 231
Pawel Zarembski 0:01f31e923fe2 232 #define MXC_F_RTC_OSC_CTRL_OSC_BYPASS_POS 0
Pawel Zarembski 0:01f31e923fe2 233 #define MXC_F_RTC_OSC_CTRL_OSC_BYPASS ((uint32_t)(0x00000001UL << MXC_F_RTC_OSC_CTRL_OSC_BYPASS_POS))
Pawel Zarembski 0:01f31e923fe2 234 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_R_POS 1
Pawel Zarembski 0:01f31e923fe2 235 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_R ((uint32_t)(0x00000001UL << MXC_F_RTC_OSC_CTRL_OSC_DISABLE_R_POS))
Pawel Zarembski 0:01f31e923fe2 236 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_SEL_POS 2
Pawel Zarembski 0:01f31e923fe2 237 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_SEL ((uint32_t)(0x00000001UL << MXC_F_RTC_OSC_CTRL_OSC_DISABLE_SEL_POS))
Pawel Zarembski 0:01f31e923fe2 238 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_O_POS 3
Pawel Zarembski 0:01f31e923fe2 239 #define MXC_F_RTC_OSC_CTRL_OSC_DISABLE_O ((uint32_t)(0x00000001UL << MXC_F_RTC_OSC_CTRL_OSC_DISABLE_O_POS))
Pawel Zarembski 0:01f31e923fe2 240 #define MXC_F_RTC_OSC_CTRL_OSC_WARMUP_ENABLE_POS 14
Pawel Zarembski 0:01f31e923fe2 241 #define MXC_F_RTC_OSC_CTRL_OSC_WARMUP_ENABLE ((uint32_t)(0x00000001UL << MXC_F_RTC_OSC_CTRL_OSC_WARMUP_ENABLE_POS))
Pawel Zarembski 0:01f31e923fe2 242
Pawel Zarembski 0:01f31e923fe2 243 /*
Pawel Zarembski 0:01f31e923fe2 244 Field values
Pawel Zarembski 0:01f31e923fe2 245 */
Pawel Zarembski 0:01f31e923fe2 246
Pawel Zarembski 0:01f31e923fe2 247 #define MXC_V_RTC_CTRL_SNOOZE_DISABLE ((uint32_t)(0x00000000UL))
Pawel Zarembski 0:01f31e923fe2 248 #define MXC_V_RTC_CTRL_SNOOZE_MODE_A ((uint32_t)(0x00000001UL))
Pawel Zarembski 0:01f31e923fe2 249 #define MXC_V_RTC_CTRL_SNOOZE_MODE_B ((uint32_t)(0x00000002UL))
Pawel Zarembski 0:01f31e923fe2 250
Pawel Zarembski 0:01f31e923fe2 251 #define MXC_V_RTC_PRESCALE_DIV_2_0 ((uint32_t)(0x00000000UL))
Pawel Zarembski 0:01f31e923fe2 252 #define MXC_V_RTC_PRESCALE_DIV_2_1 ((uint32_t)(0x00000001UL))
Pawel Zarembski 0:01f31e923fe2 253 #define MXC_V_RTC_PRESCALE_DIV_2_2 ((uint32_t)(0x00000002UL))
Pawel Zarembski 0:01f31e923fe2 254 #define MXC_V_RTC_PRESCALE_DIV_2_3 ((uint32_t)(0x00000003UL))
Pawel Zarembski 0:01f31e923fe2 255 #define MXC_V_RTC_PRESCALE_DIV_2_4 ((uint32_t)(0x00000004UL))
Pawel Zarembski 0:01f31e923fe2 256 #define MXC_V_RTC_PRESCALE_DIV_2_5 ((uint32_t)(0x00000005UL))
Pawel Zarembski 0:01f31e923fe2 257 #define MXC_V_RTC_PRESCALE_DIV_2_6 ((uint32_t)(0x00000006UL))
Pawel Zarembski 0:01f31e923fe2 258 #define MXC_V_RTC_PRESCALE_DIV_2_7 ((uint32_t)(0x00000007UL))
Pawel Zarembski 0:01f31e923fe2 259 #define MXC_V_RTC_PRESCALE_DIV_2_8 ((uint32_t)(0x00000008UL))
Pawel Zarembski 0:01f31e923fe2 260 #define MXC_V_RTC_PRESCALE_DIV_2_9 ((uint32_t)(0x00000009UL))
Pawel Zarembski 0:01f31e923fe2 261 #define MXC_V_RTC_PRESCALE_DIV_2_10 ((uint32_t)(0x0000000AUL))
Pawel Zarembski 0:01f31e923fe2 262 #define MXC_V_RTC_PRESCALE_DIV_2_11 ((uint32_t)(0x0000000BUL))
Pawel Zarembski 0:01f31e923fe2 263 #define MXC_V_RTC_PRESCALE_DIV_2_12 ((uint32_t)(0x0000000CUL))
Pawel Zarembski 0:01f31e923fe2 264
Pawel Zarembski 0:01f31e923fe2 265
Pawel Zarembski 0:01f31e923fe2 266 #ifdef __cplusplus
Pawel Zarembski 0:01f31e923fe2 267 }
Pawel Zarembski 0:01f31e923fe2 268 #endif
Pawel Zarembski 0:01f31e923fe2 269
Pawel Zarembski 0:01f31e923fe2 270 #endif /* _MXC_RTC_REGS_H_ */