1    /*
     2     *  Copyright (c) 2015 by Texas Instruments and others.
     3     *  All rights reserved. This program and the accompanying materials
     4     *  are made available under the terms of the Eclipse Public License v1.0
     5     *  which accompanies this distribution, and is available at
     6     *  http://www.eclipse.org/legal/epl-v10.html
     7     *
     8     *  Contributors:
     9     *      Texas Instruments - initial implementation
    10     *
    11     * */
    12    
    13    /*
    14     *  ======== Boot.xdc ========
    15     *
    16     */
    17    
    18    package ti.catalog.c2800.concertoInit;
    19    
    20    /*!
    21     *  ======== Boot ========
    22     *  Concerto C28 Boot Support.
    23     *
    24     *  This Boot module can be used to generate a small section that supports 
    25     *  booting the C28 processor from Flash.  It consists of a single 
    26     *  "LB _c_int00" instruction.  
    27     *
    28     *  When `{@link #bootFromFlash}` is true, the instruction will be placed
    29     *  at "BEGIN", as defined in the linker command file.
    30     *
    31     *  Boot also supports initializing Flash controller wait states, enabling
    32     *  program prefetches, and data caching within the Flash controller.
    33     */
    34    @Template("./Boot.xdt")
    35    @NoRuntime
    36    module Boot
    37    {
    38        /*!
    39         *  Boot from Flash flag.  Default is true.
    40         *
    41         *  Set to true to enable booting the C28 from Flash.
    42         */
    43        metaonly config Bool bootFromFlash = true;
    44    
    45        /*!
    46         *  Flash controller configuration flag, default is true.
    47         *
    48         *  Set to true to enable the configuration of the Flash controller
    49         *  wait states, program and data cache.
    50         */
    51        metaonly config Bool configureFlashController = true;
    52    
    53        /*! 
    54         *  Flash controller wait states configuration flag, default is true.
    55         *
    56         *  Set to true to configure the Flash controller wait states.  The number
    57         *  of wait states is computed based upon the CPU frequency.
    58         */
    59        metaonly config Bool configureFlashWaitStates = true;
    60    
    61        /*! 
    62         *  Flash controller program prefetch enable flag, default is false.
    63         *
    64         *  Set to true to enable the Flash controller's program prefetch.
    65         *
    66         *  WARNING: Program prefetch must not be enabled on pre Revision A devices
    67         *  if there are any fast branch instructions in the program image.  See
    68         *  the device errata for more information.
    69         */
    70        metaonly config Bool enableFlashProgramPrefetch = false;
    71    
    72        /*! 
    73         *  Flash controller data cache enable flag, default is true.
    74         *
    75         *  Set to true to enable the Flash controller's data cache.
    76         */
    77        metaonly config Bool enableFlashDataCache = true;
    78    
    79        /*!
    80         *  ======== loadSegment ========
    81         *  Specifies where to load the flash function (include the 'PAGE' number)
    82         *
    83         *  If 'configureFlashWaitStates' is true, then this parameter
    84         *  determines where the ".ti_catalog_c2800_initF2837x_flashfuncs"
    85         *  section gets loaded.
    86         */
    87        metaonly config String loadSegment;
    88    
    89        /*!
    90         *  ======== runSegment ========
    91         *  Specifies where to run the flash function (include the 'PAGE' number)
    92         *
    93         *  If 'configureFlashWaitStates' is true then this parameter
    94         *  determines where the ".ti_catalog_c2800_initF2837x_flashfuncs"
    95         *  section gets executed at runtime.
    96         */
    97        metaonly config String runSegment;
    98    
    99    internal:
   100    
   101        /* The computed Flash wait states */
   102        metaonly config UInt flashWaitStates = 3;
   103    };   
   104    /*
   105     *  @(#) ti.catalog.c2800.concertoInit; 1, 0, 0,; 6-16-2015 12:30:16; /db/ztree/library/trees/platform/platform-q01/src/
   106     */
   107