1    /* 
     2     *  Copyright (c) 2010 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     *  ======== IPeripheral.xdc ========
    14     */
    15    
    16    package xdc.platform;
    17    
    18    /*!
    19     *  ======== IPeripheral ========
    20     *  Configuration-time representation of a peripheral.
    21     *
    22     */
    23    metaonly interface IPeripheral
    24    {
    25        typedef IPeripheral.Instance IPeripheralArray[];
    26       
    27        typedef String StringArray[];
    28    
    29        /*!
    30         *  ======== addPeripheralsMap ========
    31         *  @_nodoc deprecated
    32         *  Create a map of all peripherals available on a device.
    33         *
    34         *  The config parameter `peripherals` is by default undefined in an
    35         *  `{@link xdc.platform.ICpuDataSheet}` instance. This function gathers
    36         *  all instance configuration parameters that are of the type
    37         *  `{@link xdc.platform.IPeripheral}` into the map `peripherals`.
    38         *
    39         *  @param(cds)     an `{@link xdc.platform.ICpuDataSheet}` instance
    40         *
    41         */
    42        final Void addPeripheralsMap(ICpuDataSheet.Instance cds);
    43    
    44        /*!
    45         *  ======== getAll ========
    46         *  Find all peripherals of a certain type.
    47         *
    48         *  The type of the peripherals returned is defined by the type of the
    49         *  caller.
    50         *
    51         *  @a(returns)     Returns an array of IPeripheral instances
    52         *
    53         */
    54        IPeripheralArray getAll();
    55    
    56        /*!
    57         *  ======== getRegisters ========
    58         *  Find all registers defined by the peripheral.
    59         *
    60         *  @a(returns)     Returns an array of register names
    61         *
    62         */
    63        StringArray getRegisters();
    64    
    65    instance:
    66    
    67        /*!
    68         *  ======== name ========
    69         *  Specific peripheral name given by the device.
    70         *
    71         *  Devices can have more than one peripheral of the same type. In such
    72         *  cases, device data sheets give different names to the instances of a
    73         *  same peripheral. For example, the name for a timer module could be
    74         *  `TimerA3`, and a device that has two such timers can name them `TA0`
    75         *  and `TA1`.
    76         */
    77        config string name;
    78    
    79        /*!
    80         *  ======== owner ========
    81         *  String specifying the entity that manages the peripheral
    82         *
    83         */
    84        config string owner;
    85    }
    86    /*
    87     *  @(#) xdc.platform; 1, 0, 1, 0,360; 11-16-2011 10:59:57; /db/ztree/library/trees/xdc/xdc-y13x/src/packages/
    88     */
    89