1    /*
     2     * Copyright (c) 2016, Texas Instruments Incorporated
     3     * All rights reserved.
     4     *
     5     * Redistribution and use in source and binary forms, with or without
     6     * modification, are permitted provided that the following conditions
     7     * are met:
     8     *
     9     * *  Redistributions of source code must retain the above copyright
    10     *    notice, this list of conditions and the following disclaimer.
    11     *
    12     * *  Redistributions in binary form must reproduce the above copyright
    13     *    notice, this list of conditions and the following disclaimer in the
    14     *    documentation and/or other materials provided with the distribution.
    15     *
    16     * *  Neither the name of Texas Instruments Incorporated nor the names of
    17     *    its contributors may be used to endorse or promote products derived
    18     *    from this software without specific prior written permission.
    19     *
    20     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    21     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    22     * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    23     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
    24     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    25     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    26     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
    27     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    28     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
    29     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
    30     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    31     */
    32    
    33    /*
    34     *  ======== F28M35x.xdc ========
    35     *
    36     */
    37    
    38    /*!
    39     *  ======== F28M35x.xdc ========
    40     *  The F28M35x device data sheet module.
    41     *
    42     *  This module implements the xdc.platform.ICpuDataSheet interface and is
    43     *  used by platforms to obtain "data sheet" information about this device.
    44     *
    45     */
    46    
    47    metaonly module F28M35x inherits ti.catalog.ICpuDataSheet
    48    {
    49    
    50    instance:
    51        override config string cpuCore           = "CM3";
    52        override config string isa               = "v7M";
    53        override config string cpuCoreRevision   = "1.0";
    54        override config int    minProgUnitSize   = 1;
    55        override config int    minDataUnitSize   = 1;
    56        override config int    dataWordSize      = 4;
    57    
    58        config ti.catalog.arm.peripherals.timers.Timer.Instance timer0;
    59        config ti.catalog.arm.peripherals.timers.Timer.Instance timer1;
    60        config ti.catalog.arm.peripherals.timers.Timer.Instance timer2;
    61        config ti.catalog.arm.peripherals.timers.Timer.Instance timer3;
    62    
    63        /*!
    64         *  ======== memMap ========
    65         *  The memory map returned by getMemoryMap().
    66         */
    67        config xdc.platform.IPlatform.Memory memMap[string] = [
    68            ["BOOTROM", {
    69                comment: "On-Chip Boot ROM",
    70                name: "BOOTROM",
    71                base: 0x0,
    72                len:  0x10000,
    73                space: "code",
    74                access: "RX"
    75            }],
    76    
    77            ["FLASH_BOOT", {
    78                comment: "Branch for boot from Flash",
    79                name: "FLASH_BOOT",
    80                base: 0x200030,
    81                len:  0x4,
    82                space: "code/data",
    83                access: "RWX"
    84            }],
    85    
    86            ["FLASH", {
    87                comment: "512KB Flash memory",
    88                name: "FLASH",
    89                base: 0x200034,
    90                len:  0x7FFC8,
    91                space: "code/data",
    92                access: "RWX"
    93            }],
    94    
    95            ["OTP", {
    96                comment: "4KB OTP memory",
    97                name: "OTP",
    98                base: 0x680000,
    99                len:  0x1000,
   100                space: "code",
   101                access: "RWX"
   102            }],
   103    
   104            ["C03SRAM", {
   105                comment: "32KB On-Chip RAM Memory",
   106                name: "C03SRAM",
   107                base: 0x20000000,
   108                len:  0x8000,
   109                space: "code/data",
   110                access: "RWX"
   111            }],
   112    
   113            ["S07SHRAM", {
   114                comment: "64KB On-Chip Shared RAM Memory",
   115                name: "S07SHRAM",
   116                base: 0x20008000,
   117                len:  0x10000,
   118                space: "code/data",
   119                access: "RWX"
   120            }],
   121    
   122            ["CTOMMSGRAM", {
   123                comment: "C28 to M3 MSG RAM Memory",
   124                name: "CTOMMSGRAM",
   125                base: 0x2007F000,
   126                len:  0x800,
   127                space: "data",
   128                access: "R"
   129            }],
   130    
   131            ["MTOCMSGRAM", {
   132                comment: "M3 to C28 MSG RAM Memory",
   133                name: "MTOCMSGRAM",
   134                base: 0x2007F800,
   135                len:  0x800,
   136                space: "data",
   137                access: "RW"
   138            }],
   139        ];
   140    };