1    /*
     2     *  Copyright (c) 2012 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     *  ======== Platform.xdc ========
    15     *  Platform support for simVayu
    16     *
    17     */
    18    
    19    /*!
    20     *  ======== Platform ========
    21     *  Platform support for simVayu
    22     *
    23     *  This module implements xdc.platform.IPlatform and defines configuration
    24     *  parameters that correspond to this platform's Cpu's, Board's, etc.
    25     *
    26     *  The configuration parameters are initialized in this package's
    27     *  configuration script (package.cfg) and "bound" to the TCOM object
    28     *  model.  Once they are part of the model, these parameters are
    29     *  queried by a program's configuration script.
    30     *
    31     *  This particular platform has 4 EVE's, 2 M4's, and 2 C66x DSP's.
    32     */
    33    metaonly module Platform inherits xdc.platform.IPlatform
    34    {
    35        readonly config xdc.platform.IPlatform.Board BOARD = {      
    36            id:                 "0",
    37            boardName:      "simVayu",
    38            boardFamily:    "simVayu",
    39            boardRevision:  null,
    40        };
    41    
    42        readonly config xdc.platform.IExeContext.Cpu DSP = {        
    43            id:                 "0",
    44            clockRate:      1000,
    45            catalogName:    "ti.catalog.c6000",
    46            deviceName:     "Vayu",
    47            revision:       "1.0",
    48        };
    49    
    50        /* Benelli M4 Subsystem */
    51        readonly config xdc.platform.IExeContext.Cpu M4 = {
    52            id:             "1",
    53            clockRate:      266.0,
    54            catalogName:    "ti.catalog.arm.cortexm4",
    55            deviceName:     "Vayu",
    56            revision:       "1.0",
    57        };
    58        
    59        /* EVE */
    60        readonly config xdc.platform.IExeContext.Cpu EVE = {
    61            id:             "2",
    62            clockRate:      200.0, 
    63            catalogName:    "ti.catalog.arp32",
    64            deviceName:     "Vayu",
    65            revision:       "1.0"
    66        };
    67    
    68        /* GPP */
    69        readonly config xdc.platform.IExeContext.Cpu GPP = {
    70            id:             "3",
    71            clockRate:      800.0,  /* Typically set by the HLOS */
    72            catalogName:    "ti.catalog.arm.cortexa15",
    73            deviceName:     "Vayu",
    74            revision:       "1.0"
    75        };
    76    
    77    instance:
    78    
    79        /*!
    80         *  ======== externalMemoryMap ========
    81         *  Memory regions as defined in the Vayu Simulator Specification
    82         */
    83    
    84        override readonly config xdc.platform.IPlatform.Memory
    85            externalMemoryMap[string] = [
    86                ["EXT_RAM_EVE_VECS", {
    87                    comment: "External RAM Memory reserved for use by EVE .vecs",
    88                    name: "EXT_RAM_EVE_VECS",
    89                    base: 0x80000000,
    90                    len:  0x00000100    /* Reserve first 0x100 for .vecs */
    91                }],
    92                ["EXT_RAM_EVE", {
    93                    comment: "External RAM Memory reserved for use by the EVE",
    94                    name: "EXT_RAM_EVE",
    95                    base: 0x80000100,
    96                    len:  0x07ffff00    /* ~128 MB */
    97                }],
    98                ["EXT_RAM_DSP", {
    99                    comment: "External RAM Memory reserved for use by the C66x",
   100                    name: "EXT_RAM_DSP",
   101                    base: 0x88000000,
   102                    len:  0x02000000    /* 32 MB */
   103                }],
   104                ["EXT_RAM_M4", {
   105                    comment: "External RAM Memory reserved for use by the M4 core",
   106                    name: "EXT_RAM_M4",
   107                    base: 0x8A000000,
   108                    len:  0x20000000    /* 512 MB */
   109                }],
   110                ["EXT_RAM_A15", {
   111                    comment: "External RAM Memory reserved for use by the A15 core",
   112                    name: "EXT_RAM_A15",
   113                    base: 0xC0000000,
   114                    len:  0x20000000    /* 512 MB */
   115                }]
   116            ];
   117    
   118        /*
   119         *  ======== l1PMode ========
   120         *  Define the amount of L1P RAM used for L1 Program Cache.
   121         *
   122         *  Check the device documentation for valid values.
   123         */
   124        config String l1PMode = "32k";
   125        
   126        /*
   127         *  ======== l1DMode ========
   128         *  Define the amount of L1D RAM used for L1 Data Cache.
   129         *
   130         *  Check the device documentation for valid values.
   131         */
   132        config String l1DMode = "32k";
   133        
   134        /*
   135         *  ======== l2Mode ========
   136         *  Define the amount of L2 RAM used for L2 Cache.
   137         *
   138         *  Check the device documentation for valid values.
   139         */
   140        config String l2Mode = "0k";
   141    };
   142    /*
   143     *  @(#) ti.platforms.simVayu; 1, 0, 0, 0,10; 8-17-2012 22:18:10; /db/ztree/library/trees/platform/platform-n27x/src/
   144     */
   145