1 |
786 |
skrzyp |
#ifndef CYGONCE_HAL_VAR_IO_H
|
2 |
|
|
#define CYGONCE_HAL_VAR_IO_H
|
3 |
|
|
//===========================================================================
|
4 |
|
|
//
|
5 |
|
|
// var_io.h
|
6 |
|
|
//
|
7 |
|
|
// Variant specific registers
|
8 |
|
|
//
|
9 |
|
|
//===========================================================================
|
10 |
|
|
// ####ECOSGPLCOPYRIGHTBEGIN####
|
11 |
|
|
// -------------------------------------------
|
12 |
|
|
// This file is part of eCos, the Embedded Configurable Operating System.
|
13 |
|
|
// Copyright (C) 2011 Free Software Foundation, Inc.
|
14 |
|
|
//
|
15 |
|
|
// eCos is free software; you can redistribute it and/or modify it under
|
16 |
|
|
// the terms of the GNU General Public License as published by the Free
|
17 |
|
|
// Software Foundation; either version 2 or (at your option) any later
|
18 |
|
|
// version.
|
19 |
|
|
//
|
20 |
|
|
// eCos is distributed in the hope that it will be useful, but WITHOUT
|
21 |
|
|
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
22 |
|
|
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
23 |
|
|
// for more details.
|
24 |
|
|
//
|
25 |
|
|
// You should have received a copy of the GNU General Public License
|
26 |
|
|
// along with eCos; if not, write to the Free Software Foundation, Inc.,
|
27 |
|
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
28 |
|
|
//
|
29 |
|
|
// As a special exception, if other files instantiate templates or use
|
30 |
|
|
// macros or inline functions from this file, or you compile this file
|
31 |
|
|
// and link it with other works to produce a work based on this file,
|
32 |
|
|
// this file does not by itself cause the resulting work to be covered by
|
33 |
|
|
// the GNU General Public License. However the source code for this file
|
34 |
|
|
// must still be made available in accordance with section (3) of the GNU
|
35 |
|
|
// General Public License v2.
|
36 |
|
|
//
|
37 |
|
|
// This exception does not invalidate any other reasons why a work based
|
38 |
|
|
// on this file might be covered by the GNU General Public License.
|
39 |
|
|
// -------------------------------------------
|
40 |
|
|
// ####ECOSGPLCOPYRIGHTEND####
|
41 |
|
|
//===========================================================================
|
42 |
|
|
//#####DESCRIPTIONBEGIN####
|
43 |
|
|
//
|
44 |
|
|
// Author(s): Ilija Kocho <ilijak@siva.com.mk>
|
45 |
|
|
// Date: 2011-02-05
|
46 |
|
|
// Purpose: Kinetis variant specific registers
|
47 |
|
|
// Description:
|
48 |
|
|
// Usage: #include <cyg/hal/var_io.h>
|
49 |
|
|
//
|
50 |
|
|
//####DESCRIPTIONEND####
|
51 |
|
|
//
|
52 |
|
|
//===========================================================================
|
53 |
|
|
|
54 |
|
|
#include <pkgconf/hal_cortexm_kinetis.h>
|
55 |
|
|
|
56 |
|
|
#include <cyg/hal/plf_io.h>
|
57 |
|
|
|
58 |
|
|
//===========================================================================
|
59 |
|
|
// Cortex-M architecture
|
60 |
|
|
//---------------------------------------------------------------------------
|
61 |
|
|
//--------------------------------------------------------------------------
|
62 |
|
|
// Cortex-M architecture overrides
|
63 |
|
|
//---------------------------------------------------------------------------
|
64 |
|
|
// VTOR - Vector Table Offset Register
|
65 |
|
|
#ifndef CYGARC_REG_NVIC_VTOR_TBLBASE_SRAM
|
66 |
|
|
# ifdef CYGHWR_HAL_CORTEXM_KINETIS_SRAM_UNIFIED
|
67 |
|
|
# define CYGARC_REG_NVIC_VTOR_TBLBASE_SRAM (BIT_(29) - \
|
68 |
|
|
CYGHWR_HAL_KINETIS_SRAM_BANK_SIZE)
|
69 |
|
|
# else
|
70 |
|
|
# define CYGARC_REG_NVIC_VTOR_TBLBASE_SRAM BIT_(29)
|
71 |
|
|
# endif
|
72 |
|
|
#endif
|
73 |
|
|
|
74 |
|
|
//=============================================================================
|
75 |
|
|
// Kinetis system configuration
|
76 |
|
|
//---------------------------------------------------------------------------
|
77 |
|
|
// Utilize Freescale Kinetis flash between startup vectors and 0x400
|
78 |
|
|
// for misc funtions.
|
79 |
|
|
#ifdef CYGOPT_HAL_KINETIS_MISC_FLASH_SECTION
|
80 |
|
|
# define CYGOPT_HAL_KINETIS_MISC_FLASH_SECTION_ATTR \
|
81 |
|
|
CYGBLD_ATTRIB_SECTION(".kinetis_misc")
|
82 |
|
|
#else
|
83 |
|
|
# define CYGOPT_HAL_KINETIS_MISC_FLASH_SECTION_ATTR
|
84 |
|
|
#endif
|
85 |
|
|
|
86 |
|
|
//===========================================================================
|
87 |
|
|
// KINETIS FLASH configuration field
|
88 |
|
|
//===========================================================================
|
89 |
|
|
|
90 |
|
|
// Note: KINETIS FLASH configuration field must be present in Kinetis flash
|
91 |
|
|
// image and ocupy addresses 0x00000400 to 0x0000040f.
|
92 |
|
|
|
93 |
|
|
typedef struct cyghwr_hal_kinetis_flash_conf_s {
|
94 |
|
|
cyg_uint8 backdoor_key[8]; // 0x400 .. 0x407
|
95 |
|
|
cyg_uint8 fprot[4]; // 0x408 .. 0x40b
|
96 |
|
|
cyg_uint8 fsec; // 0x40c
|
97 |
|
|
cyg_uint8 fopt; // 0x40d
|
98 |
|
|
cyg_uint8 feprot; // 0x40e
|
99 |
|
|
cyg_uint8 fdprot; // 0x40f
|
100 |
|
|
} cyghwr_hal_kinetis_flash_conf_t;
|
101 |
|
|
|
102 |
|
|
__externC const cyghwr_hal_kinetis_flash_conf_t *hal_kinetis_flash_conf_p( void );
|
103 |
|
|
|
104 |
|
|
//===========================================================================
|
105 |
|
|
// Kinetis Peripherals
|
106 |
|
|
//---------------------------------------------------------------------------
|
107 |
|
|
// Oscillator
|
108 |
|
|
|
109 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR (0x40065000)
|
110 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_P ((volatile cyg_uint8*) 0x40065000)
|
111 |
|
|
|
112 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC16P_M 0x01
|
113 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC16P_S 0
|
114 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC8P_M 0x02
|
115 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC8P_S 1
|
116 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC4P_M 0x04
|
117 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC4P_S 2
|
118 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC2P_M 0x08
|
119 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_SC2P_S 3
|
120 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_EREFSTEN_M 0x20
|
121 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_EREFSTEN_S 5
|
122 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_ERCLKEN_M 0x80
|
123 |
|
|
#define CYGHWR_HAL_KINETIS_OSC_CR_ERCLKEN_S 7
|
124 |
|
|
|
125 |
|
|
//---------------------------------------------------------------------------
|
126 |
|
|
// MCG
|
127 |
|
|
|
128 |
|
|
typedef volatile struct cyghwr_hal_kinetis_mcg_s {
|
129 |
|
|
cyg_uint8 c1; // MCG Control 1 Register
|
130 |
|
|
cyg_uint8 c2; // MCG Control 2 Register
|
131 |
|
|
cyg_uint8 c3; // MCG Control 3 Register
|
132 |
|
|
cyg_uint8 c4; // MCG Control 4 Register
|
133 |
|
|
cyg_uint8 c5; // MCG Control 5 Register
|
134 |
|
|
cyg_uint8 c6; // MCG Control 6 Register
|
135 |
|
|
cyg_uint8 status; // MCG Status Register
|
136 |
|
|
cyg_uint8 mcg_res0;
|
137 |
|
|
cyg_uint8 atc; // MCG Auto Trim Control Register
|
138 |
|
|
cyg_uint8 mcg_res1;
|
139 |
|
|
cyg_uint8 atcvh; // MCG Auto Trim Compare Value High Register
|
140 |
|
|
cyg_uint8 atcvl; // MCG Auto Trim Compare Value Low Register
|
141 |
|
|
} cyghwr_hal_kinetis_mcg_t;
|
142 |
|
|
|
143 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_P ((cyghwr_hal_kinetis_mcg_t *)0x40064000)
|
144 |
|
|
|
145 |
|
|
// C1 Bit Fields
|
146 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IREFSTEN_M 0x01
|
147 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IREFSTEN_S 0
|
148 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IRCLKEN_M 0x02
|
149 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IRCLKEN_S 1
|
150 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IREFS_M 0x4
|
151 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_IREFS_S 2
|
152 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_FRDIV_M 0x38
|
153 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_FRDIV_S 3
|
154 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_FRDIV(_div_) \
|
155 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C1_FRDIV_S, _div_)
|
156 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_CLKS_M 0xC0
|
157 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_CLKS_S 6
|
158 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C1_CLKS(_clks_) \
|
159 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C1_CLKS_S, _clks_)
|
160 |
|
|
enum {
|
161 |
|
|
CYGHWR_HAL_KINETIS_MCG_C1_CLKS_FLL_PLL,
|
162 |
|
|
CYGHWR_HAL_KINETIS_MCG_C1_CLKS_INT_REF,
|
163 |
|
|
CYGHWR_HAL_KINETIS_MCG_C1_CLKS_EXT_REF,
|
164 |
|
|
CYGHWR_HAL_KINETIS_MCG_C1_CLKS_RESERVED
|
165 |
|
|
};
|
166 |
|
|
// C2 Bit Fields
|
167 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_IRCS_M 0x01
|
168 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_IRCS_S 0
|
169 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_LP_M 0x02
|
170 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_LP_S 1
|
171 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_EREFS_M 0x04
|
172 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_EREFS_S 2
|
173 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_HGO_M 0x08
|
174 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_HGO_S 3
|
175 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_RANGE_M 0x30
|
176 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_RANGE_S 4
|
177 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C2_RANGE(__v) \
|
178 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C2_RANGE_S, __v)
|
179 |
|
|
// C3 Bit Fields
|
180 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C3_SCTRIM_M 0xFF
|
181 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C3_SCTRIM_S 0
|
182 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C3_SCTRIM(__v) \
|
183 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C3_SCTRIM_S, __v)
|
184 |
|
|
// C4 Bit Fields
|
185 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_SCFTRIM_M 0x01
|
186 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_SCFTRIM_S 0
|
187 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_FCTRIM_M 0x1E
|
188 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_FCTRIM_S 1
|
189 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_FCTRIM(__v) \
|
190 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C4_FCTRIM_S, __v)
|
191 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_DRST_DRS_M 0x60
|
192 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_DRST_DRS_S 5
|
193 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_DRST_DRS(__v) \
|
194 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C4_DRST_DRS_S, __v)
|
195 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_DMX32_M 0x80
|
196 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C4_DMX32_S 7
|
197 |
|
|
// C5 Bit Fields
|
198 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PRDIV_M 0x1F
|
199 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PRDIV_S 0
|
200 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PRDIV(__v) \
|
201 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C5_PRDIV_S, __v)
|
202 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PLLSTEN_M 0x20
|
203 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PLLSTEN_S 5
|
204 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PLLCLKEN_M 0x40
|
205 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C5_PLLCLKEN_S 6
|
206 |
|
|
// C6 Bit Fields
|
207 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_VDIV_M 0x1F
|
208 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_VDIV_S 0
|
209 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_VDIV(__v) \
|
210 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_C6_VDIV_S, __v)
|
211 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_CME_M 0x20
|
212 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_CME_S 5
|
213 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_PLLS_M 0x40
|
214 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_PLLS_S 6
|
215 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_LOLIE_M 0x80
|
216 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_C6_LOLIE_S 7
|
217 |
|
|
// S Bit Fields
|
218 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_IRCST_M 0x01
|
219 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_IRCST_S 0
|
220 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_OSCINIT_M 0x02
|
221 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_OSCINIT_S 1
|
222 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_M 0x0C
|
223 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_S 2
|
224 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST(__v) \
|
225 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_S_CLKST_S, __v)
|
226 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_FLL CYGHWR_HAL_KINETIS_MCG_S_CLKST(0)
|
227 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_INT CYGHWR_HAL_KINETIS_MCG_S_CLKST(1)
|
228 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_EXT CYGHWR_HAL_KINETIS_MCG_S_CLKST(2)
|
229 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_CLKST_PLL CYGHWR_HAL_KINETIS_MCG_S_CLKST(3)
|
230 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_IREFST_M 0x10
|
231 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_IREFST_S 4
|
232 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_PLLST_M 0x20
|
233 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_PLLST_S 5
|
234 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_LOCK_M 0x40
|
235 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_LOCK_S 6
|
236 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_LOLS_M 0x80
|
237 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_S_LOLS_S 7
|
238 |
|
|
// ATC Bit Fields
|
239 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATMF_M 0x20
|
240 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATMF_S 5
|
241 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATMS_M 0x40
|
242 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATMS_S 6
|
243 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATME_M 0x80
|
244 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATC_ATME_S 7
|
245 |
|
|
// ATCVH Bit Fields
|
246 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVH_ATCVH_M 0xFF
|
247 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVH_ATCVH_S 0
|
248 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVH_ATCVH(__v) \
|
249 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_ATCVH_ATCVH_S, __v)
|
250 |
|
|
// ATCVL Bit Fields
|
251 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVL_ATCVL_M 0xFF
|
252 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVL_ATCVL_S 0
|
253 |
|
|
#define CYGHWR_HAL_KINETIS_MCG_ATCVL_ATCVL(__v) \
|
254 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_MCG_ATCVL_ATCVL_S, __v)
|
255 |
|
|
|
256 |
|
|
//---------------------------------------------------------------------------
|
257 |
|
|
// Real Time Clock
|
258 |
|
|
|
259 |
|
|
typedef volatile struct cyghwr_hal_kinetis_rtc_s {
|
260 |
|
|
cyg_uint32 tsr; // Time Seconds Register
|
261 |
|
|
cyg_uint32 tpr; // Time Prescaler Register
|
262 |
|
|
cyg_uint32 tar; // Time Alarm Register
|
263 |
|
|
cyg_uint32 tcr; // Time Compensation Register
|
264 |
|
|
cyg_uint32 cr; // Control Register
|
265 |
|
|
cyg_uint32 sr; // Status Register
|
266 |
|
|
cyg_uint32 lr; // Lock Register
|
267 |
|
|
cyg_uint32 ier; // Enterrupt Enable Register
|
268 |
|
|
cyg_uint8 reserved[2016];
|
269 |
|
|
cyg_uint32 war; // Write Access Register
|
270 |
|
|
cyg_uint32 rar; // Read Access Register
|
271 |
|
|
} cyghwr_hal_kinetis_rtc_t;
|
272 |
|
|
|
273 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_P ((cyghwr_hal_kinetis_rtc_t *)0x4003D000)
|
274 |
|
|
|
275 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_TCR_TCR_M (0x000000FF)
|
276 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_TCR_CIR_S 8
|
277 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_TCR_CIR(__val) \
|
278 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_RTC_TCR_CIR_S, _div_)
|
279 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_TCR_CIC_S 16
|
280 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_TCR_TCV_S 24
|
281 |
|
|
|
282 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_SWR BIT_(0)
|
283 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_WPE BIT_(1)
|
284 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_SUP BIT_(2)
|
285 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_UM BIT_(3)
|
286 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_OSCE BIT_(8)
|
287 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_CLKO BIT_(9)
|
288 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_CR_SCP \
|
289 |
|
|
VALUE_(10, (CYGHWR_HAL_CORTEXM_KINETIS_RTC_OSC_CAP/2))
|
290 |
|
|
|
291 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_SR_TCE BIT_(4)
|
292 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_SR_TAF BIT_(2)
|
293 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_SR_TOF BIT_(1)
|
294 |
|
|
#define CYGHWR_HAL_KINETIS_RTC_SR_TIF BIT_(0)
|
295 |
|
|
|
296 |
|
|
//---------------------------------------------------------------------------
|
297 |
|
|
// Watch dog
|
298 |
|
|
|
299 |
|
|
// WDOG - Peripheral register structure
|
300 |
|
|
typedef volatile struct CygHwr_HAL_Kinetis_wdog_s {
|
301 |
|
|
cyg_uint16 StCtrlH; // Status and Control Register High
|
302 |
|
|
cyg_uint16 StCtrlL; // Status and Control Register Low
|
303 |
|
|
cyg_uint16 ToValH; // Time-out Value Register High
|
304 |
|
|
cyg_uint16 ToValL; // Time-out Value Register Low
|
305 |
|
|
cyg_uint16 WinH; // Window Register High
|
306 |
|
|
cyg_uint16 WinL; // Window Register Low
|
307 |
|
|
cyg_uint16 Refresh; // Refresh Register
|
308 |
|
|
cyg_uint16 Unlock; // Unlock Register
|
309 |
|
|
cyg_uint16 TmrOutH; // Timer Output Register High
|
310 |
|
|
cyg_uint16 TmrOutL; // Timer Output Register Low
|
311 |
|
|
cyg_uint16 RstCnt; // Reset Count Register
|
312 |
|
|
cyg_uint16 Presc; // Prescaler Register
|
313 |
|
|
} CygHwr_HAL_Kinetis_wdog_t;
|
314 |
|
|
|
315 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_P ((CygHwr_HAL_Kinetis_wdog_t *)0x40052000)
|
316 |
|
|
|
317 |
|
|
// STCTRLH Bit Fields
|
318 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WDOGEN_M 0x0001
|
319 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WDOGEN_S 0
|
320 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_CLKSRC_M 0x0002
|
321 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_CLKSRC_S 1
|
322 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_IRQRSTEN_M 0x0004
|
323 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_IRQRSTEN_S 2
|
324 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WINEN_M 0x0008
|
325 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WINEN_S 3
|
326 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_ALLOWUPDATE_M 0x0010
|
327 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_ALLOWUPDATE_S 4
|
328 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_DBGEN_M 0x0020
|
329 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_DBGEN_S 5
|
330 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_STOPEN_M 0x0040
|
331 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_STOPEN_S 6
|
332 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WAITEN_M 0x0080
|
333 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_WAITEN_S 7
|
334 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_STNDBYEN_M 0x0100
|
335 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_STNDBYEN_S 8
|
336 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_TESTWDOG_M 0x0400
|
337 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_TESTWDOG_S 10
|
338 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_TESTSEL_M 0x0800
|
339 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_TESTSEL_S 11
|
340 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_BYTESEL_M 0x3000
|
341 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_BYTESEL_S 12
|
342 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_BYTESEL(__v) \
|
343 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_STCTRLH_BYTESEL_S, __v)
|
344 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_DISTESTWDOG_M 0x4000
|
345 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLH_DISTESTWDOG_S 14
|
346 |
|
|
// STCTRLL Bit Fields
|
347 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLL_INTFLG_M 0x8000
|
348 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_STCTRLL_INTFLG_S 15
|
349 |
|
|
// TOVALH Bit Fields
|
350 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALH_TOVALHIGH_M 0xFFFF
|
351 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALH_TOVALHIGH_S 0
|
352 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALH_TOVALHIGH(__v) \
|
353 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_TOVALH_TOVALHIGH_S, __v)
|
354 |
|
|
// TOVALL Bit Fields
|
355 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALL_TOVALLOW_M 0xFFFF
|
356 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALL_TOVALLOW_S 0
|
357 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TOVALL_TOVALLOW(__v) \
|
358 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_TOVALL_TOVALLOW_S, __v)
|
359 |
|
|
// WINH Bit Fields
|
360 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINH_WINHIGH_M 0xFFFF
|
361 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINH_WINHIGH_S 0
|
362 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINH_WINHIGH(__v) \
|
363 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_WINH_WINHIGH_S, __v)
|
364 |
|
|
// WINL Bit Fields
|
365 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINL_WINLOW_M 0xFFFF
|
366 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINL_WINLOW_S 0
|
367 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_WINL_WINLOW(__v) \
|
368 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_WINL_WINLOW_S, __v)
|
369 |
|
|
// REFRESH Bit Fields
|
370 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_REFRESH_WDOGREFRESH_M 0xFFFF
|
371 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_REFRESH_WDOGREFRESH_S 0
|
372 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_REFRESH_WDOGREFRESH(__v) \
|
373 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_REFRESH_WDOGREFRESH_S, __v)
|
374 |
|
|
// UNLOCK Bit Fields
|
375 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_UNLOCK_WDOGUNLOCK_M 0xFFFF
|
376 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_UNLOCK_WDOGUNLOCK_S 0
|
377 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_UNLOCK_WDOGUNLOCK(__v) \
|
378 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_UNLOCK_WDOGUNLOCK_S, __v)
|
379 |
|
|
// TMROUTH Bit Fields
|
380 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTH_TIMEROUTHIGH_M 0xFFFF
|
381 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTH_TIMEROUTHIGH_S 0
|
382 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTH_TIMEROUTHIGH(__v) \
|
383 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_TMROUTH_TIMEROUTHIGH_S, __v)
|
384 |
|
|
// TMROUTL Bit Fields
|
385 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTL_TIMEROUTLOW_M 0xFFFF
|
386 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTL_TIMEROUTLOW_S 0
|
387 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_TMROUTL_TIMEROUTLOW(__v) \
|
388 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_TMROUTL_TIMEROUTLOW_S, __v)
|
389 |
|
|
// RSTCNT Bit Fields
|
390 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_RSTCNT_RSTCNT_M 0xFFFF
|
391 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_RSTCNT_RSTCNT_S 0
|
392 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_RSTCNT_RSTCNT(__v) \
|
393 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_RSTCNT_RSTCNT_S, __v)
|
394 |
|
|
// PRESC Bit Fields
|
395 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_PRESC_PRESCVAL_M 0x700
|
396 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_PRESC_PRESCVAL_S 8
|
397 |
|
|
#define CYGHWR_HAL_KINETIS_WDOG_PRESC_PRESCVAL(__v) \
|
398 |
|
|
VALUE(CYGHWR_HAL_KINETIS_WDOG_PRESC_PRESCVAL_S, __v)
|
399 |
|
|
|
400 |
|
|
#ifndef __ASSEMBLER__
|
401 |
|
|
|
402 |
|
|
__externC void hal_wdog_unlock(volatile CygHwr_HAL_Kinetis_wdog_t *wdog_p);
|
403 |
|
|
__externC void hal_wdog_disable(void);
|
404 |
|
|
|
405 |
|
|
#endif // __ASSEMBLER__
|
406 |
|
|
|
407 |
|
|
//---------------------------------------------------------------------------
|
408 |
|
|
// SIM - System Integration Module
|
409 |
|
|
|
410 |
|
|
// SIM - Peripheral register structure
|
411 |
|
|
typedef volatile struct cyghwr_hal_kinetis_sim_s {
|
412 |
|
|
cyg_uint32 sopt1; // System Options Register 1
|
413 |
|
|
cyg_uint8 reserved_0[4096];
|
414 |
|
|
cyg_uint32 sopt2; // System Options Register 2
|
415 |
|
|
cyg_uint8 reserved_1[4];
|
416 |
|
|
cyg_uint32 sopt4; // System Options Register 4
|
417 |
|
|
cyg_uint32 sopt5; // System Options Register 5
|
418 |
|
|
cyg_uint32 sopt6; // System Options Register 6
|
419 |
|
|
cyg_uint32 sopt7; // System Options Register 7
|
420 |
|
|
cyg_uint8 Reserved_2[8];
|
421 |
|
|
cyg_uint32 sdid; // System Device Identification Register
|
422 |
|
|
cyg_uint32 scgc1; // System Clock Gating Control Register 1
|
423 |
|
|
cyg_uint32 scgc2; // System Clock Gating Control Register 2
|
424 |
|
|
cyg_uint32 scgc3; // System Clock Gating Control Register 3
|
425 |
|
|
cyg_uint32 scgc4; // System Clock Gating Control Register 4
|
426 |
|
|
cyg_uint32 scgc5; // System Clock Gating Control Register 5
|
427 |
|
|
cyg_uint32 scgc6; // System Clock Gating Control Register 6
|
428 |
|
|
cyg_uint32 scgc7; // System Clock Gating Control Register 7
|
429 |
|
|
cyg_uint32 clk_div1; // System Clock Divider Register 1
|
430 |
|
|
cyg_uint32 clk_div2; // System Clock Divider Register 2
|
431 |
|
|
cyg_uint32 fcfg1; // Flash Configuration Register 1
|
432 |
|
|
cyg_uint32 fcfg2; // Flash Configuration Register 2
|
433 |
|
|
cyg_uint32 uidh; // Unique Identification Register High
|
434 |
|
|
cyg_uint32 uidmh; // Unique Identification Register Mid-High
|
435 |
|
|
cyg_uint32 uidml; // Unique Identification Register Mid Low
|
436 |
|
|
cyg_uint32 uidl; // Unique Identification Register Low
|
437 |
|
|
} cyghwr_hal_kinetis_sim_t;
|
438 |
|
|
|
439 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_P ((cyghwr_hal_kinetis_sim_t *) 0x40047000)
|
440 |
|
|
|
441 |
|
|
// SOPT1 Bit Fields
|
442 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_RAMSIZE_M 0xF000
|
443 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_RAMSIZE_S 12
|
444 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_RAMSIZE(__val) \
|
445 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT1_RAMSIZE_S, __val)
|
446 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_OSC32KSEL_M 0x80000
|
447 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_OSC32KSEL_S 19
|
448 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_MS_M 0x800000
|
449 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_MS_S 23
|
450 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_USBSTBY_M 0x40000000
|
451 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_USBSTBY_S 30
|
452 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_USBREGEN_M 0x80000000
|
453 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT1_USBREGEN_S 31
|
454 |
|
|
// SOPT2 Bit Fields
|
455 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_MCGCLKSEL_M 0x1
|
456 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_MCGCLKSEL_S 0
|
457 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_FBSL_M 0x300
|
458 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_FBSL_S 8
|
459 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_FBSL(__val) \
|
460 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT2_FBSL_S, __val)
|
461 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_CMTUARTPAD_M 0x800
|
462 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_CMTUARTPAD_S 11
|
463 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_TRACECLKSEL_M 0x1000
|
464 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_TRACECLKSEL_S 12
|
465 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_PLLFLLSEL_M 0x10000
|
466 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_PLLFLLSEL_S 16
|
467 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_USBSRC_M 0x40000
|
468 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_USBSRC_S 18
|
469 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_TIMESRC_M 0x300000
|
470 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_TIMESRC_S 20
|
471 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_TIMESRC(__val) \
|
472 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT2_TIMESRC_S, __val)
|
473 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_I2SSRC_M 0x3000000
|
474 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_I2SSRC_S 24
|
475 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_I2SSRC(__val) \
|
476 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT2_I2SSRC_S, __val)
|
477 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_SDHCSRC_M 0x30000000
|
478 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_SDHCSRC_S 28
|
479 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT2_SDHCSRC(__val) \
|
480 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT2_SDHCSRC_S, __val)
|
481 |
|
|
// SOPT4 Bit Fields
|
482 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT0_M 0x1
|
483 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT0_S 0
|
484 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT1_M 0x2
|
485 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT1_S 1
|
486 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT2_M 0x4
|
487 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0FLT2_S 2
|
488 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1FLT0_M 0x10
|
489 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1FLT0_S 4
|
490 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2FLT0_M 0x100
|
491 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2FLT0_S 8
|
492 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CH0SRC_M 0xC0000
|
493 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CH0SRC_S 18
|
494 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CH0SRC(__val) \
|
495 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CH0SRC_S, __val)
|
496 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CH0SRC_M 0x300000
|
497 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CH0SRC_S 20
|
498 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CH0SRC(__val) \
|
499 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CH0SRC_S, __val)
|
500 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0CLKSEL_M 0x1000000
|
501 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM0CLKSEL_S 24
|
502 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CLKSEL_M 0x2000000
|
503 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM1CLKSEL_S 25
|
504 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CLKSEL_M 0x4000000
|
505 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT4_FTM2CLKSEL_S 26
|
506 |
|
|
// SOPT5 Bit Fields
|
507 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0TXSRC_M 0x3
|
508 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0TXSRC_S 0
|
509 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0TXSRC(__val) \
|
510 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0TXSRC_S, __val)
|
511 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0RXSRC_M 0xC
|
512 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0RXSRC_S 2
|
513 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0RXSRC(__val) \
|
514 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT5_UART0RXSRC_S, __val)
|
515 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UARTTXSRC_M 0x30
|
516 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UARTTXSRC_S 4
|
517 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UARTTXSRC(__val) \
|
518 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT5_UARTTXSRC_S, __val)
|
519 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART1RXSRC_M 0xC0
|
520 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART1RXSRC_S 6
|
521 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT5_UART1RXSRC(__val) \
|
522 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT5_UART1RXSRC_S, __val)
|
523 |
|
|
// SOPT6 Bit Fields
|
524 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTSEL_M 0x1F000000
|
525 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTSEL_S 24
|
526 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTSEL(__val) \
|
527 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTSEL_S, __val)
|
528 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTEN_M 0xE0000000
|
529 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTEN_S 29
|
530 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTEN(__val) \
|
531 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT6_RSTFLTEN_S, __val)
|
532 |
|
|
// SOPT7 Bit Fields
|
533 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0TRGSEL_M 0xF
|
534 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0TRGSEL_S 0
|
535 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0TRGSEL(__val) \
|
536 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0TRGSEL_S, __val)
|
537 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0PRETRGSEL_M 0x10
|
538 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0PRETRGSEL_S 4
|
539 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0ALTTRGEN_M 0x80
|
540 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC0ALTTRGEN_S 7
|
541 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1TRGSEL_M 0xF00
|
542 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1TRGSEL_S 8
|
543 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1TRGSEL(__val) \
|
544 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1TRGSEL_S, __val)
|
545 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1PRETRGSEL_M 0x1000
|
546 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1PRETRGSEL_S 12
|
547 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1ALTTRGEN_M 0x8000
|
548 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SOPT7_ADC1ALTTRGEN_S 15
|
549 |
|
|
// SDID Bit Fields
|
550 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_PINID_M 0xF
|
551 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_PINID_S 0
|
552 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_PINID(__val) \
|
553 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SDID_PINID_S, __val)
|
554 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_FAMID_M 0x70
|
555 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_FAMID_S 4
|
556 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_FAMID(__val) \
|
557 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SDID_FAMID_S, __val)
|
558 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_REVID_M 0xF000
|
559 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_REVID_S 12
|
560 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SDID_REVID(__val) \
|
561 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_SDID_REVID_S, __val)
|
562 |
|
|
// SCGC1 Bit Fields
|
563 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC1_UART4_M 0x400
|
564 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC1_UART4_S 10
|
565 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC1_UART5_M 0x800
|
566 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC1_UART5_S 11
|
567 |
|
|
|
568 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC1_ALL_M \
|
569 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC1_UART4_M | CYGHWR_HAL_KINETIS_SIM_SCGC1_UART5_M)
|
570 |
|
|
|
571 |
|
|
// SCGC2 Bit Fields
|
572 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_ENET_M 0x1
|
573 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_ENET_S 0
|
574 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC0_M 0x1000
|
575 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC0_S 12
|
576 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC1_M 0x2000
|
577 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC1_S 13
|
578 |
|
|
|
579 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC2_ALL_M \
|
580 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC2_ENET_M | \
|
581 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC0_M | \
|
582 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC2_DAC1_M)
|
583 |
|
|
|
584 |
|
|
// SCGC3 Bit Fields
|
585 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_RNGB_M 0x1
|
586 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_RNGB_S 0
|
587 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_FLEXCAN1_M 0x10
|
588 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_FLEXCAN1_S 4
|
589 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_SPI2_M 0x1000
|
590 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_SPI2_S 12
|
591 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_SDHC_M 0x20000
|
592 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_SDHC_S 17
|
593 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_FTM2_M 0x1000000
|
594 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_FTM2_S 24
|
595 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_ADC1_M 0x8000000
|
596 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_ADC1_S 27
|
597 |
|
|
|
598 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC3_ALL_M \
|
599 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC3_RNGB_M | \
|
600 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC3_FLEXCAN1_M | \
|
601 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC3_SPI2_M | \
|
602 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC3_SDHC_M | \
|
603 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC3_FTM2_M | \
|
604 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC3_ADC1_M)
|
605 |
|
|
|
606 |
|
|
// SCGC4 Bit Fields
|
607 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_EWM_M 0x2
|
608 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_EWM_S 1
|
609 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_CMT_M 0x4
|
610 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_CMT_S 2
|
611 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C0_M 0x40
|
612 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C0_S 6
|
613 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C1_M 0x80
|
614 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C1_S 7
|
615 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART0_M 0x400
|
616 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART0_S 10
|
617 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART1_M 0x800
|
618 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART1_S 11
|
619 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART2_M 0x1000
|
620 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART2_S 12
|
621 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART3_M 0x2000
|
622 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_UART3_S 13
|
623 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_USBOTG_M 0x40000
|
624 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_USBOTG_S 18
|
625 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_CMP_M 0x80000
|
626 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_CMP_S 19
|
627 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_VREF_M 0x100000
|
628 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_VREF_S 20
|
629 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_LLWU_M 0x10000000
|
630 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_LLWU_S 28
|
631 |
|
|
|
632 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC4_ALL_M \
|
633 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC4_EWM_M |CYGHWR_HAL_KINETIS_SIM_SCGC4_CMT_M | \
|
634 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C0_M |CYGHWR_HAL_KINETIS_SIM_SCGC4_I2C1_M | \
|
635 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC4_UART0_M | CYGHWR_HAL_KINETIS_SIM_SCGC4_UART1_M |\
|
636 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC4_UART2_M | CYGHWR_HAL_KINETIS_SIM_SCGC4_UART3_M |\
|
637 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC4_USBOTG_M | CYGHWR_HAL_KINETIS_SIM_SCGC4_CMP_M | \
|
638 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC4_VREF_M | CYGHWR_HAL_KINETIS_SIM_SCGC4_LLWU_M)
|
639 |
|
|
|
640 |
|
|
// SCGC5 Bit Fields
|
641 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_LPTIMER_M 0x1
|
642 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_LPTIMER_S 0
|
643 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_REGFILE_M 0x2
|
644 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_REGFILE_S 1
|
645 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_TSI_M 0x20
|
646 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_TSI_S 5
|
647 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTA_M 0x200
|
648 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTA_S 9
|
649 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTB_M 0x400
|
650 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTB_S 10
|
651 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTC_M 0x800
|
652 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTC_S 11
|
653 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTD_M 0x1000
|
654 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTD_S 12
|
655 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTE_M 0x2000
|
656 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTE_S 13
|
657 |
|
|
|
658 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC5_ALL_M \
|
659 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC5_LPTIMER_M | \
|
660 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_REGFILE_M | \
|
661 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_TSI_M | \
|
662 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTA_M | \
|
663 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTB_M | \
|
664 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTC_M | \
|
665 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTD_M | \
|
666 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC5_PORTE_M)
|
667 |
|
|
|
668 |
|
|
// SCGC6 Bit Fields
|
669 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTFL_M 0x1
|
670 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTFL_S 0
|
671 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_DMAMUX_M 0x2
|
672 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_DMAMUX_S 1
|
673 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FLEXCAN0_M 0x10
|
674 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FLEXCAN0_S 4
|
675 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_DSPI0_M 0x1000
|
676 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_DSPI0_S 12
|
677 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_SPI1_M 0x2000
|
678 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_SPI1_S 13
|
679 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_I2S_M 0x8000
|
680 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_I2S_S 15
|
681 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_CRC_M 0x40000
|
682 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_CRC_S 18
|
683 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_USBDCD_M 0x200000
|
684 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_USBDCD_S 21
|
685 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_PDB_M 0x400000
|
686 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_PDB_S 22
|
687 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_PIT_M 0x800000
|
688 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_PIT_S 23
|
689 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM0_M 0x1000000
|
690 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM0_S 24
|
691 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM1_M 0x2000000
|
692 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM1_S 25
|
693 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_ADC0_M 0x8000000
|
694 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_ADC0_S 27
|
695 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_RTC_M 0x20000000
|
696 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_RTC_S 29
|
697 |
|
|
|
698 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC6_ALL_M \
|
699 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC6_FTFL_M | \
|
700 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_DMAMUX_M | \
|
701 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_FLEXCAN0_M | \
|
702 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_DSPI0_M | \
|
703 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_SPI1_M | \
|
704 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_I2S_M | \
|
705 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_CRC_M | \
|
706 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_USBDCD_M | \
|
707 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_PDB_M | \
|
708 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_PIT_M | \
|
709 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM0_M | \
|
710 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_FTM1_M | \
|
711 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_ADC0_M | \
|
712 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC6_RTC_M)
|
713 |
|
|
|
714 |
|
|
// SCGC7 Bit Fields
|
715 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_FLEXBUS_M 0x1
|
716 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_FLEXBUS_S 0
|
717 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_DMA_M 0x2
|
718 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_DMA_S 1
|
719 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_MPU_M 0x4
|
720 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_MPU_S 2
|
721 |
|
|
|
722 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_SCGC7_ALL_M \
|
723 |
|
|
(CYGHWR_HAL_KINETIS_SIM_SCGC7_FLEXBUS_M | \
|
724 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC7_DMA_M | \
|
725 |
|
|
CYGHWR_HAL_KINETIS_SIM_SCGC7_MPU_M)
|
726 |
|
|
|
727 |
|
|
// CLKDIV1 Bit Fields
|
728 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV4_M 0xF0000
|
729 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV4_S 16
|
730 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV4(__val) \
|
731 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV4_S, __val)
|
732 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV3_M 0xF00000
|
733 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV3_S 20
|
734 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV3(__val) \
|
735 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV3_S, __val)
|
736 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV2_M 0xF000000
|
737 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV2_S 24
|
738 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV2(__val) \
|
739 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV2_S, __val)
|
740 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV1_M 0xF0000000
|
741 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV1_S 28
|
742 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV1(__val) \
|
743 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV1_OUTDIV1_S, __val)
|
744 |
|
|
// CLKDIV2 Bit Fields
|
745 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBFRAC_M 0x1
|
746 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBFRAC_S 0
|
747 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBDIV_M 0xE
|
748 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBDIV_S 1
|
749 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBDIV(__val) \
|
750 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV2_USBDIV_S, __val)
|
751 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SFRAC_M 0xFF00
|
752 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SFRAC_S 8
|
753 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SFRAC(__val) \
|
754 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SFRAC_S, __val)
|
755 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SDIV_M 0xFFF00000
|
756 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SDIV_S 20
|
757 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SDIV(__val) \
|
758 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_CLKDIV2_I2SDIV_S, __val)
|
759 |
|
|
// FCFG1 Bit Fields
|
760 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_DEPART_M 0xF00
|
761 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_DEPART_S 8
|
762 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_DEPART(__val) \
|
763 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_FCFG1_DEPART_S, __val)
|
764 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_EESIZE_M 0xF0000
|
765 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_EESIZE_S 16
|
766 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_EESIZE(__val) \
|
767 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_FCFG1_EESIZE_S, __val)
|
768 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_FSIZE_M 0xFF000000
|
769 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_FSIZE_S 24
|
770 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG1_FSIZE(__val) \
|
771 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_FCFG1_FSIZE_S, __val)
|
772 |
|
|
// FCFG2 Bit Fields
|
773 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR1_M 0x3F0000
|
774 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR1_S 16
|
775 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR1(__val) \
|
776 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR1_S, __val)
|
777 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_PFLSH_M 0x800000
|
778 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_PFLSH_S 23
|
779 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR0_M 0x3F000000
|
780 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR0_S 24
|
781 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR0(__val) \
|
782 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_FCFG2_MAXADDR0_S, __val)
|
783 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_SWAPPFLSH_M 0x80000000
|
784 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_FCFG2_SWAPPFLSH_S 31
|
785 |
|
|
// UIDH Bit Fields
|
786 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDH_UID_M 0xFFFFFFFF
|
787 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDH_UID_S 0
|
788 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDH_UID(__val) \
|
789 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_UIDH_UID_S, __val)
|
790 |
|
|
// UIDMH Bit Fields
|
791 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDMH_UID_M 0xFFFFFFFF
|
792 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDMH_UID_S 0
|
793 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDMH_UID(__val) \
|
794 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_UIDMH_UID_S, __val)
|
795 |
|
|
// UIDML Bit Fields
|
796 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDML_UID_M 0xFFFFFFFF
|
797 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDML_UID_S 0
|
798 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDML_UID(__val) \
|
799 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_UIDML_UID_S, __val)
|
800 |
|
|
// UIDL Bit Fields
|
801 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDL_UID_M 0xFFFFFFFF
|
802 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDL_UID_S 0
|
803 |
|
|
#define CYGHWR_HAL_KINETIS_SIM_UIDL_UID(__val) \
|
804 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_SIM_UIDL_UID_S, __val)
|
805 |
|
|
|
806 |
|
|
//---------------------------------------------------------------------------
|
807 |
|
|
// PORT - Peripheral register structure
|
808 |
|
|
|
809 |
|
|
typedef volatile struct cyghwr_hal_kinetis_port_s {
|
810 |
|
|
cyg_uint32 pcr[32]; // Pin Control Register n, array
|
811 |
|
|
cyg_uint32 gpclr; // Global Pin Control Low Register
|
812 |
|
|
cyg_uint32 gpchr; // Global Pin Control High Register
|
813 |
|
|
cyg_uint8 reserved0[24];
|
814 |
|
|
cyg_uint32 isfr; // Interrupt Status Flag Register
|
815 |
|
|
cyg_uint8 reserved1[28];
|
816 |
|
|
cyg_uint32 dfer; // Digital Filter Enable Register
|
817 |
|
|
cyg_uint32 dfcr; // Digital Filter Clock Register
|
818 |
|
|
cyg_uint32 dfwr; // Digital Filter Width Register
|
819 |
|
|
} cyghwr_hal_kinetis_port_t;
|
820 |
|
|
|
821 |
|
|
// PORT - Peripheral instance base addresses
|
822 |
|
|
#define CYGHWR_HAL_KINETIS_PORTA_P (cyghwr_hal_kinetis_port_t *)0x40049000
|
823 |
|
|
#define CYGHWR_HAL_KINETIS_PORTB_P (cyghwr_hal_kinetis_port_t *)0x4004A000
|
824 |
|
|
#define CYGHWR_HAL_KINETIS_PORTC_P (cyghwr_hal_kinetis_port_t *)0x4004B000
|
825 |
|
|
#define CYGHWR_HAL_KINETIS_PORTD_P (cyghwr_hal_kinetis_port_t *)0x4004C000
|
826 |
|
|
#define CYGHWR_HAL_KINETIS_PORTE_P (cyghwr_hal_kinetis_port_t *)0x4004D000
|
827 |
|
|
|
828 |
|
|
enum {
|
829 |
|
|
CYGHWR_HAL_KINETIS_PORTA, CYGHWR_HAL_KINETIS_PORTB,
|
830 |
|
|
CYGHWR_HAL_KINETIS_PORTC, CYGHWR_HAL_KINETIS_PORTD,
|
831 |
|
|
CYGHWR_HAL_KINETIS_PORTE
|
832 |
|
|
};
|
833 |
|
|
|
834 |
|
|
// PCR Bit Fields
|
835 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PS_M 0x1
|
836 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PS_S 0
|
837 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PE_M 0x2
|
838 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PE_S 1
|
839 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_SRE_M 0x4
|
840 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_SRE_S 2
|
841 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PFE_M 0x10
|
842 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_PFE_S 4
|
843 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_ODE_M 0x20
|
844 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_ODE_S 5
|
845 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_DSE_M 0x40
|
846 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_DSE_S 6
|
847 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX_M 0x700
|
848 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX_S 8
|
849 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX(__val) \
|
850 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_PCR_MUX_S, __val)
|
851 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_LK_M 0x8000
|
852 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_LK_S 15
|
853 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_IRQC_M 0xF0000
|
854 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_IRQC_S 16
|
855 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_IRQC(__val) \
|
856 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_PCR_IRQC_S, __val)
|
857 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_ISF_M 0x1000000
|
858 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_ISF_S 24
|
859 |
|
|
|
860 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX_ANALOG 0
|
861 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX_DIS 0
|
862 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_PCR_MUX_GPIO 1
|
863 |
|
|
|
864 |
|
|
#define CYGHWR_HAL_KINETIS_PIN(__port, __bit, __mux, __cnf) \
|
865 |
|
|
((CYGHWR_HAL_KINETIS_PORT##__port << 20) | (__bit << 27) \
|
866 |
|
|
| CYGHWR_HAL_KINETIS_PORT_PCR_MUX(__mux) | __cnf)
|
867 |
|
|
|
868 |
|
|
#define CYGHWR_HAL_KINETIS_PIN_PORT(__pin) ((__pin >> 20) & 0x7)
|
869 |
|
|
#define CYGHWR_HAL_KINETIS_PIN_BIT(__pin) ((__pin >> 27 ) & 0x1f)
|
870 |
|
|
#define CYGHWR_HAL_KINETIS_PIN_FUNC(__pin) (__pin & 0x010f8777)
|
871 |
|
|
#define CYGHWR_HAL_KINETIS_PIN_NONE (0xffffffff)
|
872 |
|
|
|
873 |
|
|
// GPCLR Bit Fields
|
874 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWD_M 0xFFFF
|
875 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWD_S 0
|
876 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWD(__val) \
|
877 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWD_S, __val)
|
878 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWE_M 0xFFFF0000
|
879 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWE_S 16
|
880 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWE(__val) \
|
881 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_GPCLR_GPWE_S, __val)
|
882 |
|
|
// GPCHR Bit Fields
|
883 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWD_M 0xFFFF
|
884 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWD_S 0
|
885 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWD(__val) \
|
886 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWD_S, __val)
|
887 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWE_M 0xFFFF0000
|
888 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWE_S 16
|
889 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWE(__val) \
|
890 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_GPCHR_GPWE_S, __val)
|
891 |
|
|
// ISFR Bit Fields
|
892 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_ISFR_ISF_M 0xFFFFFFFF
|
893 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_ISFR_ISF_S 0
|
894 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_ISFR_ISF(__val) \
|
895 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_ISFR_ISF_S, __val)
|
896 |
|
|
// DFER Bit Fields
|
897 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFER_DFE_M 0xFFFFFFFF
|
898 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFER_DFE_S 0
|
899 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFER_DFE(__val) \
|
900 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_DFER_DFE_S, __val)
|
901 |
|
|
// DFCR Bit Fields
|
902 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFCR_CS_M 0x1
|
903 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFCR_CS_S 0
|
904 |
|
|
// DFWR Bit Fields
|
905 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFWR_FILT_M 0x1F
|
906 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFWR_FILT_S 0
|
907 |
|
|
#define CYGHWR_HAL_KINETIS_PORT_DFWR_FILT(__val) \
|
908 |
|
|
VALUE_(CYGHWR_HAL_KINETIS_PORT_DFWR_FILT_S, __val)
|
909 |
|
|
|
910 |
|
|
#ifndef __ASSEMBLER__
|
911 |
|
|
|
912 |
|
|
// Pin configuration related functions
|
913 |
|
|
__externC void hal_set_pin_function(cyg_uint32 pin);
|
914 |
|
|
__externC void hal_dump_pin_function(cyg_uint32 pin);
|
915 |
|
|
__externC void hal_dump_pin_setting(cyg_uint32 pin);
|
916 |
|
|
|
917 |
|
|
#endif
|
918 |
|
|
|
919 |
|
|
#define HAL_SET_PINS(_pin_array) \
|
920 |
|
|
CYG_MACRO_START \
|
921 |
|
|
const cyg_uint32 *_pin_p; \
|
922 |
|
|
for(_pin_p = &_pin_array[0]; \
|
923 |
|
|
_pin_p < &_pin_array[0] + sizeof(_pin_array)/sizeof(_pin_array[0]); \
|
924 |
|
|
hal_set_pin_function(*_pin_p++)); \
|
925 |
|
|
CYG_MACRO_END
|
926 |
|
|
|
927 |
|
|
//---------------------------------------------------------------------------
|
928 |
|
|
// FMC Flash Memory Controller
|
929 |
|
|
|
930 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_BASE (0x4001F000)
|
931 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFAPR (CYGHWR_HAL_KINETIS_FMC_BASE)
|
932 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFB0CR (CYGHWR_HAL_KINETIS_FMC_BASE + 4)
|
933 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFB1CR (CYGHWR_HAL_KINETIS_FMC_BASE + 8)
|
934 |
|
|
|
935 |
|
|
enum {
|
936 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_W0,
|
937 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_W1,
|
938 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_W2,
|
939 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_W3,
|
940 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_WAYS
|
941 |
|
|
};
|
942 |
|
|
|
943 |
|
|
enum {
|
944 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S0,
|
945 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S1,
|
946 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S2,
|
947 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S3,
|
948 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S4,
|
949 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S5,
|
950 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S6,
|
951 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_S7,
|
952 |
|
|
CYGHWR_HAL_KINETIS_FMC_CACHE_SIDES
|
953 |
|
|
};
|
954 |
|
|
|
955 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_TAG(__way,__side) \
|
956 |
|
|
(CYGHWR_HAL_KINETIS_FMC_BASE + 0x100 + __way*0x20 + __side*4)
|
957 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_DATA_U(__way,side) \
|
958 |
|
|
(CYGHWR_HAL_KINETIS_FMC_BASE + 0x200 + --way*0x20 + __side*8)
|
959 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_DATA_L(__way,side) \
|
960 |
|
|
(CYGHWR_HAL_KINETIS_FMC_BASE + 0x204 + --way*0x40 + __side*8)
|
961 |
|
|
|
962 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFAPR_MPFD_M(__master) (1 << (__master + 16))
|
963 |
|
|
enum {
|
964 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFAPR_MAP_NO_ACCESS,
|
965 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFAPR_MAP_RO,
|
966 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFAPR_MAP_WO,
|
967 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFAPR_MAP_RW
|
968 |
|
|
};
|
969 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFAPR_MAP(__master, __access) \
|
970 |
|
|
(__access <<(2 * __master))
|
971 |
|
|
|
972 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_RWSC_M (0xf0000000)
|
973 |
|
|
|
974 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_WAY(__way) ((1 << __way) << 24)
|
975 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_ALL \
|
976 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W0) | \
|
977 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W1) | \
|
978 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W2) | \
|
979 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CLCK_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W3)
|
980 |
|
|
|
981 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_WAY(__way) ((1 << __way) << 20)
|
982 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_ALL \
|
983 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W0) | \
|
984 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W1) | \
|
985 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W2) | \
|
986 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CINV_WAY(CYGHWR_HAL_KINETIS_FMC_CACHE_W3)
|
987 |
|
|
|
988 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_SBINV (1 << 19)
|
989 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BMW (7 << 17)
|
990 |
|
|
|
991 |
|
|
enum{
|
992 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CRC_LRU,
|
993 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CRC_res0,
|
994 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CRC_IND_LRUW01IF23D,
|
995 |
|
|
CYGHWR_HAL_KINETIS_FMC_PFBCR_CRC_IND_LRUW02ID3D
|
996 |
|
|
};
|
997 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_CRC (__cache_repl_con) \
|
998 |
|
|
(__cache_repl_con << 5)
|
999 |
|
|
|
1000 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BDCE (0x10)
|
1001 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BICE (0x08)
|
1002 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BDPE (0x04)
|
1003 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BIPE (0x02)
|
1004 |
|
|
#define CYGHWR_HAL_KINETIS_FMC_PFBCR_BSEBE (0x01)
|
1005 |
|
|
|
1006 |
|
|
//---------------------------------------------------------------------------
|
1007 |
|
|
// MPU Memory Protection unit
|
1008 |
|
|
|
1009 |
|
|
typedef volatile struct cyghwr_hal_kinetis_mpu_s {
|
1010 |
|
|
cyg_uint32 cesr; // Control/Error Status Register
|
1011 |
|
|
cyg_uint8 reserved0[12];
|
1012 |
|
|
struct {
|
1013 |
|
|
cyg_uint32 ear; // Error Address Register, Slave Port n
|
1014 |
|
|
cyg_uint32 edr; // Error Detail Register, Slave Port n
|
1015 |
|
|
} slave_port[5];
|
1016 |
|
|
cyg_uint8 reserved1[968];
|
1017 |
|
|
struct { // Region Descriptors, Word 0..Region Descriptor n, Word 3
|
1018 |
|
|
cyg_uint32 word[4];
|
1019 |
|
|
}reg_desc[12];
|
1020 |
|
|
cyg_uint8 reserved2[832];
|
1021 |
|
|
cyg_uint32 reg_daac[12]; // Region Descriptor Alternate Access Control n
|
1022 |
|
|
} cyghwr_hal_kinetis_mpu_t;
|
1023 |
|
|
|
1024 |
|
|
#define CYGHWR_HAL_KINETIS_MPU_P (cyghwr_hal_kinetis_mpu_t *)0x4000d000
|
1025 |
|
|
|
1026 |
|
|
//---------------------------------------------------------------------------
|
1027 |
|
|
// FlexBus
|
1028 |
|
|
#ifdef CYGPKG_HAL_CORTEXM_KINETIS_FLEXBUS
|
1029 |
|
|
# include <cyg/hal/var_io_flexbus.h>
|
1030 |
|
|
#endif
|
1031 |
|
|
//----------------------------------------------------------------------------
|
1032 |
|
|
// DMA
|
1033 |
|
|
//#ifdef CYGPKG_HAL_CORTEXM_KINETIS_DMA
|
1034 |
|
|
//# include <cyg/hal/var_io_dma.h>
|
1035 |
|
|
//#endif
|
1036 |
|
|
|
1037 |
|
|
//---------------------------------------------------------------------------
|
1038 |
|
|
// GPIO
|
1039 |
|
|
#include <cyg/hal/var_io_gpio.h>
|
1040 |
|
|
|
1041 |
|
|
//=============================================================================
|
1042 |
|
|
// DEVS:
|
1043 |
|
|
// Following macros may also be, and usually are borrwed by some device drivers.
|
1044 |
|
|
//-----------------------------------------------------------------------------
|
1045 |
|
|
#include <cyg/hal/var_io_devs.h>
|
1046 |
|
|
|
1047 |
|
|
// End Peripherals
|
1048 |
|
|
|
1049 |
|
|
// Some miscelaneous function prototypes
|
1050 |
|
|
// Clock related functions are in kinetis_clocking.c
|
1051 |
|
|
__externC void hal_start_clocks(void);
|
1052 |
|
|
__externC void hal_update_clock_var(void);
|
1053 |
|
|
|
1054 |
|
|
//-----------------------------------------------------------------------------
|
1055 |
|
|
// end of var_io.h
|
1056 |
|
|
|
1057 |
|
|
#endif // CYGONCE_HAL_VAR_IO_H
|