OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [cortexm/] [kinetis/] [var/] [current/] [cdl/] [hal_cortexm_kinetis.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
##==========================================================================
2
##
3
##      hal_cortexm_kinetis.cdl
4
##
5
##      Cortex-M Freescale Kinetis variant HAL configuration data
6
##
7
##==========================================================================
8
## ####ECOSGPLCOPYRIGHTBEGIN####
9
## -------------------------------------------
10
## This file is part of eCos, the Embedded Configurable Operating System.
11
## Copyright (C) 2010, 2011 Free Software Foundation, Inc.
12
##
13
## eCos is free software; you can redistribute it and/or modify it under
14
## the terms of the GNU General Public License as published by the Free
15
## Software Foundation; either version 2 or (at your option) any later
16
## version.
17
##
18
## eCos is distributed in the hope that it will be useful, but WITHOUT
19
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
## for more details.
22
##
23
## You should have received a copy of the GNU General Public License
24
## along with eCos; if not, write to the Free Software Foundation, Inc.,
25
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
##
27
## As a special exception, if other files instantiate templates or use
28
## macros or inline functions from this file, or you compile this file
29
## and link it with other works to produce a work based on this file,
30
## this file does not by itself cause the resulting work to be covered by
31
## the GNU General Public License. However the source code for this file
32
## must still be made available in accordance with section (3) of the GNU
33
## General Public License v2.
34
##
35
## This exception does not invalidate any other reasons why a work based
36
## on this file might be covered by the GNU General Public License.
37
## -------------------------------------------
38
## ####ECOSGPLCOPYRIGHTEND####
39
##==========================================================================
40
#######DESCRIPTIONBEGIN####
41
##
42
## Author(s):    Ilija Kocho 
43
## Date:         2010-12-05
44
##
45
######DESCRIPTIONEND####
46
##
47
##==========================================================================
48
 
49
cdl_package CYGPKG_HAL_CORTEXM_KINETIS {
50
    display       "Freescale Kinetis Cortex-M4 Variant"
51
    parent        CYGPKG_HAL_CORTEXM
52
    hardware
53
    include_dir   cyg/hal
54
    define_header hal_cortexm_kinetis.h
55
    description   "
56
        This package provides generic support for the Freescale Cortex-M4
57
        based Kinetis microcontroller family.
58
        It is also necessary to select a variant and platform HAL package."
59
 
60
    compile       hal_diag.c kinetis_misc.c kinetis_clocking.c
61
 
62
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
63
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
64
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
65
    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
66
 
67
    requires      { CYGHWR_HAL_CORTEXM == "M4" }
68
 
69
    define_proc {
70
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
71
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
72
    }
73
 
74
    cdl_component CYGHWR_HAL_CORTEXM_KINETIS {
75
        display          "Kinetis part"
76
        flavor           data
77
        calculated { "MK" . CYGHWR_HAL_CORTEXM_KINETIS_SUBFAM .
78
            (CYGHWR_HAL_CORTEXM_KINETIS_FPU ? "F" : "D") .
79
            (CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM ? "X" : "N") .
80
            CYGHWR_HAL_CORTEXM_KINETIS_FLASH_NAME }
81
        description   "
82
            Kinetis family has several sub-families, with various peripheral
83
            sets and CPU options. Each sub-family consists of several
84
            members differing by sizes of on-chip FLASH and SRAM. This
85
            control, enables the user to build Kinetis member part and so
86
            tailor HAL for a specific microcontroller by selection of
87
            microcontroller's properties such as microcontroller sub-family,
88
            memory options, etc."
89
 
90
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_SUBFAM {
91
            display          "Sub-family"
92
            flavor           data
93
            default_value    { 60 }
94
            legal_values     { 10 20 30 40 50 60 70 }
95
            description "
96
                Kinetis family consists of several sub-families differing by
97
                features and CPU power."
98
        }
99
 
100
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_FPU {
101
            display          "Floating Point Unit option"
102
            implements    CYGINT_HAL_CORTEXM_FPU
103
            flavor           bool
104
            default_value    { 0 }
105
            description "Select whether the chip has Floating Point Unit."
106
        }
107
 
108
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_FLASH_NAME {
109
            display "Flash name segment"
110
            flavor           data
111
            default_value    { 512 }
112
            legal_values     { 32 64 96 128 256 512 "1M0" }
113
            description   "
114
                Flash size is represented in part name encoded as KiB
115
                (e.g. 512) or MiB (e.g. 1M0)."
116
        }
117
 
118
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM {
119
            display          "FlexNVM option"
120
            flavor           bool
121
            default_value    { 0 }
122
            description "Select whether the chip has FlexNVM."
123
        }
124
    }
125
 
126
    cdl_option CYGNUM_HAL_CORTEXM_PRIORITY_LEVEL_BITS {
127
        display      "CPU exception priority level bits"
128
        flavor       data
129
        default_value   4
130
        description  "
131
            This option defines the number of bits used to encode the
132
            exception priority levels that this variant of the Cortex-M
133
            CPU implements."
134
    }
135
 
136
    cdl_component CYGHWR_HAL_CORTEXM_KINETIS_CLOCKING {
137
        display       "Clocking"
138
        flavor        data
139
        no_define
140
        calculated CYGHWR_HAL_CORTEXM_KINETIS_MCG
141
        description "Configure system clock and subsystem clocking."
142
 
143
        cdl_option CYGNUM_HAL_CORTEXM_KINETIS_MCGOUT_FREQ_SP {
144
            display "System frequency clock setpoint"
145
            flavor data
146
            legal_values  32768 to 220000000
147
            default_value 96000000
148
            description "Desired system clock frequency"
149
        }
150
       script kinetis_clocking.cdl
151
    }
152
 
153
    cdl_option CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY {
154
        display       "Clock interrupt ISR priority"
155
        flavor        data
156
        calculated CYGNUM_HAL_KERNEL_COUNTERS_CLOCK_ISR_DEFAULT_PRIORITY_SP
157
        description   "Set clock ISR priority. Default setting is lowest priority."
158
    }
159
 
160
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
161
        display       "Real-time clock constants"
162
        flavor        none
163
        no_define
164
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
165
            display       "Real-time clock numerator"
166
            flavor        data
167
            default_value 1000000000
168
        }
169
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
170
            display       "Real-time clock denominator"
171
            flavor        data
172
            default_value 100
173
        }
174
        cdl_option CYGNUM_HAL_RTC_PERIOD {
175
            display       "Real-time clock period"
176
            flavor        data
177
            default_value 1000000 / CYGNUM_HAL_RTC_DENOMINATOR
178
            description   "
179
                The period defined here is something of a fake, it is
180
                expressed in terms of a notional 1MHz clock. The value
181
                actually installed in the hardware is calculated from
182
                the current settings of the clock generation hardware."
183
        }
184
    }
185
 
186
    cdl_option CYG_HAL_STARTUP_VAR {
187
        display       "By variant"
188
        flavor        data
189
        parent CYG_HAL_STARTUP_ENV
190
        default_value {
191
            (CYG_HAL_STARTUP_PLF) && (CYG_HAL_STARTUP_PLF!="ByVariant") ?
192
            "ByPlatform" : "ROM" }
193
        legal_values  { "ROM" "SRAM" }
194
        active_if ((!CYG_HAL_STARTUP_PLF) || (CYG_HAL_STARTUP_PLF=="ByVariant"))
195
        description   "
196
        'ROM' startup builds a stand-alone application which will
197
        be placed into flash. SRAM startup builds application
198
        intended for loading in on-chip SRAM by means of JTAG/SWD.
199
        Note: Variant Startup Type can be overriden/overloaded by
200
        Platform Startup Type."
201
    }
202
 
203
        cdl_component CYG_HAL_STARTUP {
204
            display       "Startup type calculator"
205
            flavor        data
206
            parent CYG_HAL_STARTUP_ENV
207
            calculated  {
208
                (CYG_HAL_STARTUP_PLF && (CYG_HAL_STARTUP_PLF!="ByVariant")) ?
209
                CYG_HAL_STARTUP_PLF : CYG_HAL_STARTUP_VAR
210
            }
211
            no_define
212
            define -file system.h CYG_HAL_STARTUP
213
            description "
214
            Startup type defines what type of application shall be built.
215
            Startup type  can be defined by variant (CYG_HAL_STARTUP_VAR)
216
            or platform (CYG_HAL_STARTUP_PLF). If CYG_HAL_STARTUP_PLF
217
            is defined and not equal to 'ByVariant' then it shall
218
            override CYG_HAL_STARTUP_VAR."
219
        }
220
 
221
    cdl_component CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM_CONF {
222
        display "FlexNVM configuration"
223
        flavor none
224
        no_define
225
        active_if CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM
226
        requires {
227
            CYGHWR_HAL_CORTEXM_KINETIS_EEE_NVM_PART_KIB <=
228
            CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB
229
        }
230
 
231
        cdl_component CYGHWR_HAL_CORTEXM_KINETIS_EEE {
232
            display "Enhanced EEPROM (EEE)"
233
            flavor bool;
234
 
235
            cdl_option CYGHWR_HAL_KINETIS_EEE_SIZE {
236
                display "EEE Size \[Bytes\]"
237
                flavor data
238
                legal_values { 32 64 128 256 512 1024 2048 4096 }
239
                default_value 4096
240
            }
241
 
242
            cdl_component CYGHWR_HAL_KINETIS_EEE_SPLIT {
243
                display "EEE Split ratio"
244
                flavor data
245
                legal_values { 0 2 4 8 }
246
                default_value 0
247
                description "
248
                    Enhanced EEPROM is split in two partitions that are
249
                    represented by separate sections in MLT files.
250
                    The split, CYGHWR_HAL_KINETIS_EEE_SPLIT, represents
251
                    partition size ratio where EEE0 partition size is
252
                    1/CYGHWR_HAL_KINETIS_EEE_SPLIT of EEE size, and EEE1
253
                    is the rest. As a special arrangement
254
                    (CYGHWR_HAL_KINETIS_EEE_SPLIT == 0) is a PHONY, where
255
                    split equals 2 but in MLT files whole EEE is counted
256
                    as a single section."
257
 
258
                cdl_option CYGHWR_HAL_KINETIS_EEE0_SIZE {
259
                    display "e_eeprom0 section size \[Bytes\]"
260
                    flavor data
261
                    calculated { CYGHWR_HAL_KINETIS_EEE_SPLIT > 0 ?
262
                        CYGHWR_HAL_KINETIS_EEE_SIZE /
263
                        CYGHWR_HAL_KINETIS_EEE_SPLIT :
264
                        CYGHWR_HAL_KINETIS_EEE_SIZE }
265
                }
266
 
267
                cdl_option CYGHWR_HAL_KINETIS_EEE1_SIZE {
268
                    display "e_eeprom1 section size \[Bytes\]"
269
                    flavor data
270
                    active_if { CYGHWR_HAL_KINETIS_EEE_SPLIT > 0 }
271
                    calculated { CYGHWR_HAL_KINETIS_EEE_SIZE -
272
                        CYGHWR_HAL_KINETIS_EEE0_SIZE }
273
                }
274
            }
275
 
276
            cdl_option CYGHWR_HAL_CORTEXM_KINETIS_EEE_NVM_PART_KIB {
277
                display "FlexNVM partition used for EEE \[KiB\]"
278
                flavor data
279
                default_value  32
280
                legal_values { 32 64 128 192 224 256 }
281
            }
282
        }
283
 
284
        cdl_component CYGHWR_HAL_KINETIS_FLEXNVM_DFLASH_SIZE {
285
            display "FlexNVM D Flash"
286
            flavor data
287
            active_if { CYGHWR_HAL_CORTEXM_KINETIS_EEE_NVM_PART_KIB <
288
                CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM_KIB}
289
            calculated {
290
                1024 * ( CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM_KIB -
291
                         CYGHWR_HAL_CORTEXM_KINETIS_EEE_NVM_PART_KIB)
292
            }
293
        }
294
 
295
        cdl_component CYGHWR_HAL_KINETIS_FLEXRAM_RAM {
296
            display "Flexram ordinary RAM"
297
            flavor data
298
            active_if { !CYGHWR_HAL_CORTEXM_KINETIS_EEE }
299
            calculated CYGHWR_HAL_KINETIS_FLEXRAM_SIZE
300
        }
301
 
302
        cdl_component CYGHWR_HAL_KINETIS_FLEXRAM_SIZE {
303
            display "Flexram size"
304
            flavor data
305
            default_value 4096
306
        }
307
 
308
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM_KIB {
309
            display "FlexNVM size \[KiB\]"
310
            flavor data
311
            calculated CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB
312
        }
313
    }
314
 
315
    cdl_component CYGHWR_MEMORY_LAYOUT {
316
        display "Memory layout"
317
        flavor data
318
        no_define
319
        parent CYG_HAL_STARTUP_ENV
320
        calculated {
321
            (CYGHWR_MEMORY_LAYOUT_PLF) ? CYGHWR_MEMORY_LAYOUT_PLF :
322
            (CYG_HAL_STARTUP == "ROM" ) ? "kinetis_"
323
            . CYGHWR_HAL_CORTEXM_KINETIS_OC_MEM_LAYOUT  . "_rom" :
324
            (CYG_HAL_STARTUP == "SRAM") ? "kinetis_"
325
            . CYGHWR_HAL_CORTEXM_KINETIS_OC_MEM_LAYOUT  . "_sram" :
326
            "undefined" }
327
        description "
328
            Combination of 'Startup type' and 'Kinetis part'
329
            produces the memory layout."
330
 
331
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
332
            display "Memory layout linker script fragment"
333
            flavor data
334
            no_define
335
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
336
            calculated { "" }
337
        }
338
 
339
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
340
            display "Memory layout header file"
341
            flavor data
342
            no_define
343
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
344
            calculated { "" }
345
        }
346
    }
347
 
348
    cdl_option CYGHWR_HAL_CORTEXM_KINETIS_SRAM_UNIFIED {
349
        display  "Unified on chip SRAM region"
350
        flavor   bool
351
        default_value    { 1 }
352
        description "
353
            Kinetis have two equal SRAM banks SRAM_L and SRAM_U that
354
            occupy consecutive memory blocks with \(possibility for
355
            simultaneous\) access from on separate buses.
356
            SRAM_L is placed below 0x20000000 and SRAM_U above 0x20000000.
357
            This option provides for selection between memory layout with
358
            single (unified) (S)RAM region and layout with two separate
359
            (S)RAM regions."
360
    }
361
 
362
    cdl_option CYGOPT_HAL_KINETIS_MISC_FLASH_SECTION {
363
        display "Utilize \".kinetis_misc\" section for HAL"
364
        flavor bool
365
        default_value { CYG_HAL_STARTUP == "ROM" }
366
        active_if { CYG_HAL_STARTUP == "ROM" }
367
        description "
368
            Kinetis use FLASH locations between 0x400 and 0x40F for FLASH
369
            security configuration. This leaves FLASH area below 0x400
370
            out of standard linker sections. Special section
371
            \".kinetis_misc\" provides linker access to this area.
372
            Setting this option instructs linker to place some HAL
373
            (variant/platform) \"misc.\" functions in this area."
374
    }
375
 
376
    cdl_option CYGOPT_HAL_KINETIS_DIAG_IN_MISC_FLASH_SECTION {
377
        display "HAL diag. in \".kinetis_misc\" section"
378
        flavor bool
379
        active_if CYGOPT_HAL_KINETIS_MISC_FLASH_SECTION
380
        default_value 0
381
        description "
382
        By default only misc. HAL functions are stored in
383
        \".kinetis_misc\" section. In addition HAL diagnostc
384
        functions may be placed as well."
385
    }
386
 
387
    cdl_component CYGHWR_HAL_KINETIS_MEMORY_RESOURCES {
388
        display "On chip memory resources"
389
        flavor none
390
        no_define
391
        description "
392
        View and manage on-chip memory resources.
393
        Output is used for naming of 'mlt' files."
394
 
395
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB {
396
            display "On chip Flash option \[KiB\]"
397
            flavor data
398
            calculated { (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_NAME == "1M0")
399
                ? 1024 : CYGHWR_HAL_CORTEXM_KINETIS_FLASH_NAME
400
            }
401
        }
402
 
403
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_SRAM_KIB {
404
            display "Kinetis on chip SRAM size \[KiB\]"
405
            flavor data
406
            calculated {
407
                (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 1024 ||
408
                 CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 512)   ? 128 :
409
                (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 256)   ? 64 :
410
                (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 128)   ? 32 :
411
                (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 96 ||
412
                 CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 64)    ? 16 :
413
                (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB == 32)    ? 8 :
414
                "Unknown"
415
            }
416
        }
417
 
418
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_SRAM_LAYOUT {
419
            display "SRAM layout"
420
            flavor data
421
            no_define
422
            calculated { CYGHWR_HAL_CORTEXM_KINETIS_SRAM_UNIFIED ?
423
                "unisram" :
424
                "sram2s"
425
            }
426
        }
427
 
428
        cdl_option CYGHWR_HAL_CORTEXM_KINETIS_OC_MEM_LAYOUT {
429
            display "On-chip memory layout"
430
            flavor data
431
            no_define
432
            calculated {(CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM ? "flexnvm_": "flash_")
433
                . CYGHWR_HAL_CORTEXM_KINETIS_SRAM_LAYOUT }
434
        }
435
 
436
        cdl_option CYGHWR_HAL_KINETIS_FLASH_SIZE {
437
            display "Kinetis on chip FLASH size"
438
            flavor data
439
            calculated { CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB * 0x400 }
440
        }
441
 
442
        cdl_option CYGHWR_HAL_KINETIS_SRAM_SIZE {
443
            display "Kinetis on chip SRAM size"
444
            flavor data
445
            calculated { CYGHWR_HAL_CORTEXM_KINETIS_SRAM_KIB * 0x400 }
446
        }
447
 
448
        cdl_option CYGHWR_HAL_KINETIS_SRAM_BANK_SIZE {
449
            display "Kinetis onchip RAM bank size"
450
            flavor  data
451
            calculated { CYGHWR_HAL_KINETIS_SRAM_SIZE/2 }
452
        }
453
 
454
        cdl_option CYGHWR_HAL_KINETIS_FLEXNVM_FLASH_SIZE {
455
            display "Kinetis on chip FLASH size"
456
            flavor data
457
            calculated { (CYGHWR_HAL_CORTEXM_KINETIS_FLASH_KIB
458
                          - CYGHWR_HAL_CORTEXM_KINETIS_EEE_NVM_PART_KIB)* 0x400 }
459
            }
460
 
461
            cdl_option CYGHWR_HAL_KINETIS_FLEXNVM_FLEXRAM_SIZE {
462
                display "Kinetis on chip FlexRAM size"
463
                flavor data
464
                active_if { CYGHWR_HAL_CORTEXM_KINETIS_FLEXNVM &
465
                    !CYGHWR_HAL_CORTEXM_KINETIS_EEE }
466
                calculated { 4096 }
467
            }
468
 
469
        }
470
 
471
        cdl_interface CYGINT_HAL_CORTEXM_KINETIS_FLEXBUS {
472
            display "Platform uses FlexBus"
473
            flavor bool
474
            description "
475
                This interface will be implemented if the specific
476
                controller being used provides FlexBus and if FlexBus is
477
                used on target hardware"
478
        }
479
 
480
        cdl_component CYGPKG_HAL_CORTEXM_KINETIS_FLEXBUS {
481
            display       "FlexBus"
482
            flavor bool
483
            active_if     CYGINT_HAL_CORTEXM_KINETIS_FLEXBUS
484
            default_value CYGINT_HAL_CORTEXM_KINETIS_FLEXBUS
485
            description "FlexBus provides access for external memory."
486
 
487
            for { set ::chipsel 0 } { $::chipsel < 6 } { incr ::chipsel } {
488
 
489
                cdl_interface CYGINT_HAL_KINETIS_FB_CS[set ::chipsel] {
490
                    display     "Platform uses Chip select [set ::chipsel]"
491
                    flavor      bool
492
                    description "
493
                    This interface will be implemented if the specific
494
                    controller being used provides chip select [set ::chipsel], and if
495
                    that chip select is used on target hardware."
496
                }
497
 
498
                cdl_component CYGHWR_HAL_KINETIS_FB_CS[set ::chipsel] {
499
                    display       "Chip select [set ::chipsel]"
500
                    flavor        bool
501
                    active_if     CYGINT_HAL_KINETIS_FB_CS[set ::chipsel]
502
                    default_value CYGINT_HAL_KINETIS_FB_CS[set ::chipsel]
503
                    description   "
504
                    This option includes initialization data for
505
                    chip select [set ::chipsel]."
506
 
507
                    cdl_option CYGHWR_HAL_KINETIS_FB_CS[set ::chipsel]_CR_PS {
508
                        display "Port size (encoded)"
509
                        flavor data
510
                        calculated ( \
511
                                    CYGHWR_HAL_KINETIS_FB_CS[set ::chipsel]_CR_PSB == 32 ? 0 : \
512
                                    CYGHWR_HAL_KINETIS_FB_CS[set ::chipsel]_CR_PSB == 8  ? 1 : \
513
                                    CYGHWR_HAL_KINETIS_FB_CS[set ::chipsel]_CR_PSB == 16 ? 2 : 3)
514
                    }
515
                    }
516
                }
517
            }
518
 
519
        cdl_component CYGHWR_HAL_KINETIS_FLASH_CONF {
520
        display "Flash configuration field"
521
        flavor none
522
        no_define
523
 
524
        active_if { CYG_HAL_STARTUP == "ROM" }
525
 
526
        description "
527
            The program flash memory contains a 16-byte flash
528
            configuration field that stores default protection settings
529
            (loaded on reset) and security information that allows the MCU to
530
            restrict access to the flash module.
531
            Note: Changing some values in Flash configuration field may make
532
            flash inaccessible and disable further re-programming of the flash
533
            permanently. Consult respective Kinetis' documentation before dealing
534
            with the Flash configuration field. Default values are equal
535
            to the factory values."
536
 
537
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_BACKDOOR_KEY {
538
            display "Backdoor comparison key"
539
            flavor data
540
            default_value { "\{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff \}" }
541
        }
542
 
543
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_FPROT {
544
            display "Program flash protection"
545
            flavor data
546
            default_value { "\{ 0xff, 0xff, 0xff, 0xff \}" }
547
        }
548
 
549
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_FSEC {
550
            display "Flash security byte"
551
            flavor data
552
            default_value 0xfe
553
 
554
            description "
555
                Note: FSEC default value is deliberately set to
556
                0xfe in order to disable chip lockout."
557
        }
558
 
559
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_FOPT {
560
            display "Flash nonvolatile option byte"
561
            flavor data
562
            default_value 0xff
563
        }
564
 
565
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_FDPROT {
566
            display "Data flash protection byte"
567
            flavor data
568
            default_value 0xff
569
        }
570
 
571
        cdl_option CYGHWR_HAL_KINETIS_FLASH_CONF_FEPROT {
572
            display "EEPROM protection byte"
573
            flavor data
574
            default_value 0xff
575
        }
576
    }
577
 
578
    for { set ::channel 0 } { $::channel < 6 } { incr ::channel } {
579
 
580
        cdl_interface CYGINT_HAL_FREESCALE_UART[set ::channel] {
581
            display     "Platform provides UART [set ::channel] HAL"
582
            flavor      bool
583
            description "
584
                This interface will be implemented if the specific
585
                controller being used has on-chip UART [set ::channel],
586
                and if that UART is accessible on the target hardware."
587
        }
588
 
589
        cdl_interface CYGINT_HAL_FREESCALE_UART[set ::channel]_RTSCTS {
590
            display     "Platform provides HAL for UART[set ::channel] hardware flow control."
591
            flavor      bool
592
            description "
593
                This interface will be implemented if the specific
594
                on-chip UART [set ::channel] has RTS/CTS flow control
595
                that is accessible on the target hardware."
596
        }
597
    }
598
 
599
    cdl_interface CYGINT_HAL_DMA {
600
        display "Platform uses DMA"
601
        flavor bool
602
        description "
603
            This interface will be implemented if the specific
604
            controller being used provides DMA and if DMA is
605
            used on target hardware"
606
    }
607
 
608
    cdl_component CYGHWR_HAL_DEVS_IRQ_PRIO_SCHEME_VAR {
609
        display "Variant IRQ priority defaults"
610
        no_define
611
        flavor none
612
        parent CYGHWR_HAL_DEVS_IRQ_PRIO_SCHEME
613
        description "
614
            Interrupt priorities defined by Kinetis variant"
615
        script kinetis_irq_scheme.cdl
616
    }
617
 
618
    cdl_component CYGPKG_HAL_CORTEXM_KINETIS_OPTIONS {
619
        display "Build options"
620
        flavor  none
621
        no_define
622
        description   "
623
            Package specific build options including control over
624
            compiler flags used only in building this package."
625
 
626
        cdl_option CYGPKG_HAL_CORTEXM_KINETIS_CFLAGS_ADD {
627
            display "Additional compiler flags"
628
            flavor  data
629
            no_define
630
            default_value { "" }
631
            description   "
632
                This option modifies the set of compiler flags for
633
                building the Kinetis variant HAL package. These flags
634
                are used in addition to the set of global flags."
635
        }
636
 
637
        cdl_option CYGPKG_HAL_CORTEXM_KINETIS_CFLAGS_REMOVE {
638
            display "Suppressed compiler flags"
639
            flavor  data
640
            no_define
641
            default_value { "" }
642
            description   "
643
                This option modifies the set of compiler flags for
644
                building the Kinetis variant HAL package. These flags
645
                are removed from the set of global flags if present."
646
        }
647
    }
648
}
649
 
650
# EOF hal_cortexm_kinetis.cdl

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.