]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - psdk_cust/pdk_k2g_1_0_1_2_eng/packages/ti/board/src/evmAM572x/boardPadDelay.h
Merge pull request #1 in PASDK/pasdk_sr from PASDK-318-input-task-code-repetition...
[processor-sdk/performance-audio-sr.git] / psdk_cust / pdk_k2g_1_0_1_2_eng / packages / ti / board / src / evmAM572x / boardPadDelay.h
1 /**
2  * Note: This file was auto-generated by TI PinMux on 3/1/2016 at 6:48:11 PM.
3  *
4  * \file  boardPadDelay.h
5  *
6  * \brief   This file contains runtime timing configuration structure declarations. For details on timing and
7  *          switching configuratio refer to "Timing Requirements and Switching Characteristics" subsection
8  *          in the device Data Manual.
9  *
10  * \copyright Copyright (CU) 2015 Texas Instruments Incorporated - 
11  *             http://www.ti.com/
12  */
14 /**
15  *  Redistribution and use in source and binary forms, with or without
16  *  modification, are permitted provided that the following conditions
17  *  are met:
18  *
19  *    Redistributions of source code must retain the above copyright
20  *    notice, this list of conditions and the following disclaimer.
21  *
22  *    Redistributions in binary form must reproduce the above copyright
23  *    notice, this list of conditions and the following disclaimer in the
24  *    documentation and/or other materials provided with the
25  *    distribution.
26  *
27  *    Neither the name of Texas Instruments Incorporated nor the names of
28  *    its contributors may be used to endorse or promote products derived
29  *    from this software without specific prior written permission.
30  *
31  *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
32  *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
33  *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
34  *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
35  *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
36  *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
37  *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
38  *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
39  *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
40  *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
41  *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
42  *
43  */
45 /**
46  *  \brief This structure defines the delay configuration for IO Delay Config
47  *         Registers: CFG_X_IN, CFG_X_OUT and CFG_X_OEN.
48  */
49 typedef struct boardDelayCfg
50 {
51     uint16_t offset;
52     /**< Offset for Delay Configuration Register */
53     uint16_t aDelay;
54     /**< Value of Process Agnostic(Unaware) Delay */
55     uint16_t gDelay;
56     /**< Value of Process Gnostic(Aware) Delay */
57 }boardDelayCfg_t;
59 /**
60  *  \brief This structure defines the delay configuration associated with a
61  *         particular pad as given by PinMux.
62  */
63 typedef struct boardPadDelayCfg
64 {
65     uint16_t offset;
66     /**< Offset for Pad Configuration Register */
67     uint32_t regVal;
68     /**< Value of Pad configuration Register as given by the PinMux */
69     boardDelayCfg_t delayConfigIn;
70     /**< Delay Configuration of CFG_X_IN register */
71     boardDelayCfg_t delayConfigOen;
72     /**< Delay Configuration of CFG_X_OEN register */
73     boardDelayCfg_t delayConfigOut;
74     /**< Delay Configuration of CFG_X_OUT register */
75 }boardPadDelayCfg_t;
77 /**
78  *  \brief This structure defines the alternate muxing configuration associated with a
79  *         particular pad as given by PinMux.
80  */
81 typedef struct boardPadDelayAltGpCfg
82 {
83     uint32_t regAddr;
84     /**< Register address of alternate Pad Configuration Register */
85     uint32_t regVal;
86     /**< Value of Alternate Pad configuration Register as given by the PinMux */
87 }boardPadDelayAltGpCfg_t;
89 /**
90  *  \brief Structure defining the mapping of MMC operational mode to its
91  *         corresponding pad configuration structure.
92  */
93 typedef struct mmcBoardPadCfgTable
94 {
95     int32_t mmcMode;
96     /**< MMC operational mode. */
97     const boardPadDelayCfg_t *mmcPadCfg;
98     /**< Pointer to the structure containing the pad configuration data for an
99          MMC interface */
100     uint16_t noPins;
101     /**< Value to indicate the number of pins. */
102 }mmcBoardPadCfgTable_t;
104 /**
105  *  \brief Enumerates the different operating modes defined for an MMC device.
106  *         This enum to include all the modes of all instances.
107  */
108 typedef enum mmcMode
110     MMC1_DEFAULT_PLB,
111     /**< Default Pad Loopback mode of MMC1. */
112     MMC1_HS_ILB,
113     /**< High speed Internal Loopback mode of MMC1. */
114     MMC1_HS_PLB,
115     /**< High speed Pad Loopback mode of MMC1. */
116     MMC1_SDR12_PLB,
117     /**< SDR12 Pad Loopback mode of MMC1. */
118     MMC1_SDR12_ILB,
119     /**< SDR12 Internal Loopback mode of MMC1. */
120     MMC1_SDR25_ILB,
121     /**< SDR25 Internal Loopback mode of MMC1. */
122     MMC1_SDR50_ILB,
123     /**< SDR50 Internal Loopback mode of MMC1. */
124     MMC1_SDR50_PLB,
125     /**< SDR50 Pad Loopback mode of MMC1. */
126     MMC1_DS_ILB,
127     /**< Default speed Internal Loopback mode of MMC1. */
128     MMC1_DDR50_ILB,
129     /**< DDR50 Internal Loopback mode of MMC1. */
130     MMC1_DDR50_PLB,
131     /**< DDR50 Pad Loopback mode of MMC1. */
132     MMC1_SDR104,
133     /**< SDR104 mode of MMC1. */
134     MMC2_DEFAULT_HS_PLB,
135     /**< Default High Speed Pad Loopback mode of MMC2. */
136     MMC2_DEFAULT_STD_PLB,
137     /**< Default Standard Pad Loopback mode of MMC2. */
138     MMC2_DDR_ILB,
139     /**< DDR Internal Loopback mode of MMC2. */
140     MMC2_DDR_PLB,
141     /**< DDR Pad Loopback 1.8V and 3.3V mode of MMC2. */
142     MMC2_HS200,
143     /**< HS200 mode of MMC2. */
144     MMC2_STD_ILB,
145     /**< Standard Internal Loopback mode of MMC2. */
146     MMC2_HS_ILB,
147     /**< High speed Internal Loopback mode of MMC2. */
148     MMC3_DEFAULT,
149     /**< Default speed mode of MMC3. */
150     MMC3_HS,
151     /**< High speed mode of MMC3. */
152     MMC3_SDR12,
153     /**< SDR12 mode of MMC3. */
154     MMC3_SDR25,
155     /**< SDR25 mode of MMC3. */
156     MMC3_SDR50,
157     /**< SDR50 mode of MMC3. */
158     MMC4_DEFAULT,
159     /**< Default speed mode of MMC4. */
160     MMC4_HS,
161     /**< High speed mode of MMC4. */
162     MMC4_SDR12,
163     /**< SDR12 mode of MMC4. */
164     MMC4_SDR25,
165     /**< SDR25 mode of MMC4. */
166     MMC_MODE_INVALID = -1
167         /**< Invalid MMC Mode */
168 }mmcMode_t;
170 /**
171  *  \brief Function to return the array size as it may differ based on 
172  *         the selections made in boardPadDelayTune.h file.
173  */
174 #if defined(_TMS320C6X) || defined(__TI_ARM_V7M4__)
175 #pragma CODE_SECTION (boardPadGetSize, "BOARD_IO_DELAY_CODE");
176 uint32_t boardPadGetSize();
177 #else
178 uint32_t boardPadGetSize() __attribute__((section("BOARD_IO_DELAY_CODE")));
179 #endif
181 /**
182  *  \brief Function to return the alternate array size as it may differ based on 
183  *         the selections made in boardPadDelayTune.h file.
184  */
185 #if defined(BOARD_PAD_DELAY_ALT_GRP_ENABLE)
186 #if defined(_TMS320C6X) || defined(__TI_ARM_V7M4__)
187 #pragma CODE_SECTION (boardAltPadGetSize, "BOARD_IO_DELAY_CODE");
188 uint32_t boardAltPadGetSize();
189 #else
190 uint32_t boardAltPadGetSize() __attribute__((section("BOARD_IO_DELAY_CODE")));
191 #endif
192 #endif
194 /**
195  *  \brief    Function to return the runtime pinmux config table for the MMCSD
196  *            instance.
197  */
198 mmcBoardPadCfgTable_t* BoardGetMmcCtrlPadPinmuxTable(uint32_t instance);