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 metaonlyinterface 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,339; 7-14-2011 17:21:59; /db/ztree/library/trees/xdc/xdc-x16x/src/packages/
88 */
89