AM273x MCU+ SDK  09.02.00
pinmux/am273x/pinmux.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * 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
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  *
32  */
33 
58 #ifndef PINMUX_AM273X_H_
59 #define PINMUX_AM273X_H_
60 
61 /* ========================================================================== */
62 /* Include Files */
63 /* ========================================================================== */
64 
65 #include <stdint.h>
66 
67 #ifdef __cplusplus
68 extern "C" {
69 #endif
70 
71 /* ========================================================================== */
72 /* Macros & Typedefs */
73 /* ========================================================================== */
74 
81 #define PINMUX_DOMAIN_ID_MAIN (0U)
82 
83 #define PINMUX_DOMAIN_ID_MCU (1U)
84 
87 #define PINMUX_END (0xFFFFFFFFU)
88 
89 #define PIN_MODE(mode) (mode)
90 
91 #define PIN_PULL_DISABLE (0x1U << 8U)
92 
93 #define PIN_PULL_DIRECTION (0x1U << 9U)
94 
100 #define PIN_PAD_AA (0x00000000U)
101 #define PIN_PAD_AB (0x00000004U)
102 #define PIN_PAD_AC (0x00000008U)
103 #define PIN_PAD_AD (0x0000000CU)
104 #define PIN_PAD_AE (0x00000010U)
105 #define PIN_PAD_AF (0x00000014U)
106 #define PIN_PAD_AG (0x00000018U)
107 #define PIN_PAD_AH (0x0000001CU)
108 #define PIN_PAD_AI (0x00000020U)
109 #define PIN_PAD_AJ (0x00000024U)
110 #define PIN_PAD_AK (0x00000028U)
111 #define PIN_PAD_AL (0x0000002CU)
112 #define PIN_PAD_AM (0x00000030U)
113 #define PIN_PAD_AN (0x00000034U)
114 #define PIN_PAD_AO (0x00000038U)
115 #define PIN_PAD_AP (0x0000003CU)
116 #define PIN_PAD_AQ (0x00000040U)
117 #define PIN_PAD_AR (0x00000044U)
118 #define PIN_PAD_AS (0x00000048U)
119 #define PIN_PAD_AT (0x0000004CU)
120 #define PIN_PAD_AU (0x00000050U)
121 #define PIN_PAD_AV (0x00000054U)
122 #define PIN_PAD_AW (0x00000058U)
123 #define PIN_PAD_AX (0x0000005CU)
124 #define PIN_PAD_AY (0x00000060U)
125 #define PIN_PAD_AZ (0x00000064U)
126 #define PIN_PAD_BA (0x00000068U)
127 #define PIN_PAD_BB (0x0000006CU)
128 #define PIN_PAD_BC (0x00000070U)
129 #define PIN_PAD_BD (0x00000074U)
130 #define PIN_PAD_BE (0x00000078U)
131 #define PIN_PAD_BF (0x0000007CU)
132 #define PIN_PAD_BG (0x00000080U)
133 #define PIN_PAD_BH (0x00000084U)
134 #define PIN_PAD_BI (0x00000088U)
135 #define PIN_PAD_BJ (0x0000008CU)
136 #define PIN_PAD_BK (0x00000090U)
137 #define PIN_PAD_BL (0x00000094U)
138 #define PIN_PAD_BM (0x00000098U)
139 #define PIN_PAD_BN (0x0000009CU)
140 #define PIN_PAD_BO (0x000000A0U)
141 #define PIN_PAD_BP (0x000000A4U)
142 #define PIN_PAD_BQ (0x000000A8U)
143 #define PIN_PAD_BR (0x000000ACU)
144 #define PIN_PAD_BS (0x000000B0U)
145 #define PIN_PAD_BT (0x000000B4U)
146 #define PIN_PAD_BU (0x000000B8U)
147 #define PIN_PAD_BV (0x000000BCU)
148 #define PIN_PAD_BW (0x000000C0U)
149 #define PIN_PAD_BX (0x000000C4U)
150 #define PIN_PAD_BY (0x000000C8U)
151 #define PIN_PAD_BZ (0x000000CCU)
152 #define PIN_PAD_CA (0x000000D0U)
153 #define PIN_PAD_CB (0x000000D4U)
154 #define PIN_PAD_CC (0x000000D8U)
155 #define PIN_PAD_CD (0x000000DCU)
156 #define PIN_PAD_CE (0x000000E0U)
157 #define PIN_PAD_CF (0x000000E4U)
158 #define PIN_PAD_CG (0x000000E8U)
159 #define PIN_PAD_CH (0x000000ECU)
160 #define PIN_PAD_CI (0x000000F0U)
161 #define PIN_PAD_CJ (0x000000F4U)
162 #define PIN_PAD_CK (0x000000F8U)
163 #define PIN_PAD_CL (0x000000FCU)
164 #define PIN_PAD_CM (0x00000100U)
165 #define PIN_PAD_CN (0x00000104U)
166 #define PIN_PAD_CO (0x00000108U)
167 #define PIN_PAD_CP (0x0000010CU)
168 #define PIN_PAD_CQ (0x00000110U)
169 #define PIN_PAD_CR (0x00000114U)
170 #define PIN_PAD_CS (0x00000118U)
171 #define PIN_PAD_CT (0x0000011CU)
172 #define PIN_PAD_CU (0x00000120U)
173 #define PIN_PAD_CV (0x00000124U)
174 #define PIN_PAD_CW (0x00000128U)
175 #define PIN_PAD_CX (0x0000012CU)
176 #define PIN_PAD_CY (0x00000130U)
177 #define PIN_PAD_CZ (0x00000134U)
178 #define PIN_PAD_DA (0x00000138U)
179 #define PIN_PAD_DB (0x0000013CU)
180 #define PIN_PAD_DC (0x00000140U)
181 #define PIN_PAD_DD (0x00000144U)
182 #define PIN_PAD_DE (0x00000148U)
183 #define PIN_PAD_DF (0x0000014CU)
184 #define PIN_PAD_DG (0x00000150U)
185 #define PIN_PAD_DH (0x00000154U)
186 #define PIN_PAD_DI (0x00000158U)
187 #define PIN_PAD_DJ (0x0000015CU)
188 #define PIN_PAD_DK (0x00000160U)
189 #define PIN_PAD_DL (0x00000164U)
190 #define PIN_PAD_DM (0x00000168U)
191 #define PIN_PAD_DN (0x0000016CU)
192 #define PIN_PAD_DO (0x00000170U)
193 #define PIN_PAD_DP (0x00000174U)
194 #define PIN_PAD_DQ (0x00000178U)
195 #define PIN_PAD_DR (0x0000017CU)
196 #define PIN_PAD_DS (0x00000180U)
197 #define PIN_PAD_DT (0x00000184U)
198 #define PIN_PAD_DU (0x00000188U)
199 #define PIN_PAD_DV (0x0000018CU)
200 #define PIN_PAD_DW (0x00000190U)
201 #define PIN_PAD_DX (0x00000194U)
202 #define PIN_PAD_DY (0x00000198U)
203 #define PIN_PAD_DZ (0x0000019CU)
204 #define PIN_PAD_EA (0x000001A0U)
205 #define PIN_PAD_EB (0x000001A4U)
206 #define PIN_PAD_EC (0x000001A8U)
207 #define PIN_PAD_ED (0x000001ACU)
208 #define PIN_PAD_EE (0x000001B0U)
209 #define PIN_PAD_EF (0x000001B4U)
210 #define PIN_PAD_EG (0x000001B8U)
211 #define PIN_PAD_EH (0x000001BCU)
212 #define PIN_PAD_EI (0x000001C0U)
213 #define PIN_PAD_EJ (0x000001C4U)
214 #define PIN_PAD_EK (0x000001C8U)
215 #define PIN_PAD_EL (0x000001CCU)
216 #define PIN_PAD_EM (0x000001D0U)
217 #define PIN_PAD_EN (0x000001D4U)
218 #define PIN_PAD_EO (0x000001D8U)
219 #define PIN_PAD_EP (0x000001DCU)
220 
222 /* ========================================================================== */
223 /* Structures and Enums */
224 /* ========================================================================== */
225 
227 typedef struct Pinmux_PerCfg
228 {
229  uint32_t offset;
233  uint32_t settings;
245 
246 /* ========================================================================== */
247 /* Global Variables Declarations */
248 /* ========================================================================== */
249 
250 /* None */
251 
252 /* ========================================================================== */
253 /* Function Declarations */
254 /* ========================================================================== */
255 
265 void Pinmux_config(const Pinmux_PerCfg_t *pinmuxCfg, uint32_t domainId);
266 
267 /* ========================================================================== */
268 /* Static Function Definitions */
269 /* ========================================================================== */
270 
271 /* None */
272 
273 #ifdef __cplusplus
274 }
275 #endif
276 
277 #endif /* #ifndef PINMUX_AM64X_H_ */
278 
Pinmux_PerCfg_t
Structure defining the pin configuration parameters.
Definition: pinmux/am273x/pinmux.h:228
Pinmux_config
void Pinmux_config(const Pinmux_PerCfg_t *pinmuxCfg, uint32_t domainId)
This API configures the pinmux based on the domain.
Pinmux_PerCfg_t::offset
uint32_t offset
Definition: pinmux/am273x/pinmux.h:229
Pinmux_PerCfg_t::settings
uint32_t settings
Definition: pinmux/am273x/pinmux.h:233