1 /**
2  * @file mxc_pins.h
3  * @brief      This file contains constant pin configurations for the peripherals.
4  */
5 
6 /******************************************************************************
7  *
8  * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by
9  * Analog Devices, Inc.),
10  * Copyright (C) 2023-2024 Analog Devices, Inc.
11  *
12  * Licensed under the Apache License, Version 2.0 (the "License");
13  * you may not use this file except in compliance with the License.
14  * You may obtain a copy of the License at
15  *
16  *     http://www.apache.org/licenses/LICENSE-2.0
17  *
18  * Unless required by applicable law or agreed to in writing, software
19  * distributed under the License is distributed on an "AS IS" BASIS,
20  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21  * See the License for the specific language governing permissions and
22  * limitations under the License.
23  *
24  ******************************************************************************/
25 
26 #ifndef LIBRARIES_PERIPHDRIVERS_INCLUDE_MAX32690_MXC_PINS_H_
27 #define LIBRARIES_PERIPHDRIVERS_INCLUDE_MAX32690_MXC_PINS_H_
28 
29 #include "gpio.h"
30 
31 /***** Global Variables *****/
32 // Predefined GPIO Configurations
33 extern const mxc_gpio_cfg_t gpio_cfg_extclk;
34 extern const mxc_gpio_cfg_t gpio_cfg_i2c0;
35 extern const mxc_gpio_cfg_t gpio_cfg_i2c0a;
36 extern const mxc_gpio_cfg_t gpio_cfg_i2c1;
37 extern const mxc_gpio_cfg_t gpio_cfg_i2c1a;
38 extern const mxc_gpio_cfg_t gpio_cfg_i2c2;
39 extern const mxc_gpio_cfg_t gpio_cfg_i2c2c;
40 
41 extern const mxc_gpio_cfg_t gpio_cfg_uart0;
42 extern const mxc_gpio_cfg_t gpio_cfg_uart0_flow;
43 extern const mxc_gpio_cfg_t gpio_cfg_uart0_flow_disable;
44 extern const mxc_gpio_cfg_t gpio_cfg_uart1;
45 extern const mxc_gpio_cfg_t gpio_cfg_uart1_flow;
46 extern const mxc_gpio_cfg_t gpio_cfg_uart1_flow_disable;
47 extern const mxc_gpio_cfg_t gpio_cfg_uart2;
48 extern const mxc_gpio_cfg_t gpio_cfg_uart2_flow;
49 extern const mxc_gpio_cfg_t gpio_cfg_uart2_flow_disable;
50 extern const mxc_gpio_cfg_t gpio_cfg_uart3;
51 extern const mxc_gpio_cfg_t gpio_cfg_uart3_flow;
52 extern const mxc_gpio_cfg_t gpio_cfg_uart3_flow_disable;
53 
54 extern const mxc_gpio_cfg_t antenna_ctrl0;
55 extern const mxc_gpio_cfg_t antenna_ctrl1;
56 extern const mxc_gpio_cfg_t antenna_ctrl2;
57 extern const mxc_gpio_cfg_t antenna_ctrl3;
58 
59 // Timers are only defined once, depending on package, each timer could be mapped to other pins
60 extern const mxc_gpio_cfg_t gpio_cfg_tmr0;
61 extern const mxc_gpio_cfg_t gpio_cfg_tmr0b;
62 extern const mxc_gpio_cfg_t gpio_cfg_tmr1;
63 extern const mxc_gpio_cfg_t gpio_cfg_tmr1b;
64 extern const mxc_gpio_cfg_t gpio_cfg_tmr2;
65 extern const mxc_gpio_cfg_t gpio_cfg_tmr2b;
66 extern const mxc_gpio_cfg_t gpio_cfg_tmr3;
67 extern const mxc_gpio_cfg_t gpio_cfg_tmr3b;
68 extern const mxc_gpio_cfg_t gpio_cfg_tmr4;
69 extern const mxc_gpio_cfg_t gpio_cfg_tmr5;
70 
71 extern const mxc_gpio_cfg_t gpio_cfg_i2s0;
72 extern const mxc_gpio_cfg_t gpio_cfg_i2s0_clkext;
73 
74 extern const mxc_gpio_cfg_t gpio_cfg_spi0;
75 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss0;
76 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss1;
77 
78 extern const mxc_gpio_cfg_t gpio_cfg_spi1;
79 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss0;
80 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss1;
81 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss2;
82 
83 extern const mxc_gpio_cfg_t gpio_cfg_spi2;
84 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss0;
85 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss1;
86 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss2;
87 
88 extern const mxc_gpio_cfg_t gpio_cfg_spi3;
89 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ss0;
90 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ss1;
91 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ss2;
92 
93 extern const mxc_gpio_cfg_t gpio_cfg_spi4;
94 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ss0;
95 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ss1;
96 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ss2;
97 
98 extern const mxc_gpio_cfg_t gpio_cfg_spixr;
99 extern const mxc_gpio_cfg_t gpio_cfg_spixf;
100 
101 extern const mxc_gpio_cfg_t gpio_cfg_owm;
102 
103 extern const mxc_gpio_cfg_t gpio_cfg_rtcsqw;
104 extern const mxc_gpio_cfg_t gpio_cfg_rtcsqwb;
105 
106 extern const mxc_gpio_cfg_t gpio_cfg_hpb;
107 extern const mxc_gpio_cfg_t gpio_cfg_hpb_cs0;
108 extern const mxc_gpio_cfg_t gpio_cfg_hpb_cs1;
109 
110 extern const mxc_gpio_cfg_t gpio_cfg_pt0;
111 extern const mxc_gpio_cfg_t gpio_cfg_pt1;
112 extern const mxc_gpio_cfg_t gpio_cfg_pt2;
113 extern const mxc_gpio_cfg_t gpio_cfg_pt3;
114 extern const mxc_gpio_cfg_t gpio_cfg_pt4;
115 extern const mxc_gpio_cfg_t gpio_cfg_pt5;
116 extern const mxc_gpio_cfg_t gpio_cfg_pt6;
117 extern const mxc_gpio_cfg_t gpio_cfg_pt7;
118 extern const mxc_gpio_cfg_t gpio_cfg_pt8;
119 extern const mxc_gpio_cfg_t gpio_cfg_pt9;
120 extern const mxc_gpio_cfg_t gpio_cfg_pt10;
121 extern const mxc_gpio_cfg_t gpio_cfg_pt11;
122 extern const mxc_gpio_cfg_t gpio_cfg_pt12;
123 extern const mxc_gpio_cfg_t gpio_cfg_pt13;
124 extern const mxc_gpio_cfg_t gpio_cfg_pt14;
125 extern const mxc_gpio_cfg_t gpio_cfg_pt15;
126 
127 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain0;
128 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain1;
129 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain2;
130 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain3;
131 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain4;
132 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain5;
133 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain6;
134 extern const mxc_gpio_cfg_t gpio_cfg_adc_ain7;
135 
136 extern const mxc_gpio_cfg_t gpio_cfg_adc_trig_p0_10;
137 extern const mxc_gpio_cfg_t gpio_cfg_adc_trig_p1_0;
138 extern const mxc_gpio_cfg_t gpio_cfg_adc_trig_p2_15;
139 
140 extern const mxc_gpio_cfg_t gpio_cfg_cmp0;
141 extern const mxc_gpio_cfg_t gpio_cfg_cmp1;
142 extern const mxc_gpio_cfg_t gpio_cfg_cmp2;
143 extern const mxc_gpio_cfg_t gpio_cfg_cmp3;
144 
145 extern const mxc_gpio_cfg_t gpio_cfg_rv_jtag;
146 
147 extern const mxc_gpio_cfg_t gpio_cfg_can0;
148 extern const mxc_gpio_cfg_t gpio_cfg_can1;
149 
150 // SPI v2 Pin Definitions
151 extern const mxc_gpio_cfg_t gpio_cfg_spi0_standard;
152 extern const mxc_gpio_cfg_t gpio_cfg_spi0_3wire;
153 extern const mxc_gpio_cfg_t gpio_cfg_spi0_dual;
154 extern const mxc_gpio_cfg_t gpio_cfg_spi0_quad;
155 extern const mxc_gpio_cfg_t gpio_cfg_spi1_standard;
156 extern const mxc_gpio_cfg_t gpio_cfg_spi1_3wire;
157 extern const mxc_gpio_cfg_t gpio_cfg_spi1_dua;
158 extern const mxc_gpio_cfg_t gpio_cfg_spi1_quad_0;
159 extern const mxc_gpio_cfg_t gpio_cfg_spi1_quad_1;
160 extern const mxc_gpio_cfg_t gpio_cfg_spi2_standard;
161 extern const mxc_gpio_cfg_t gpio_cfg_spi2_3wire;
162 extern const mxc_gpio_cfg_t gpio_cfg_spi2_dual;
163 extern const mxc_gpio_cfg_t gpio_cfg_spi2_quad_0;
164 extern const mxc_gpio_cfg_t gpio_cfg_spi2_quad_1;
165 extern const mxc_gpio_cfg_t gpio_cfg_spi3_standard;
166 extern const mxc_gpio_cfg_t gpio_cfg_spi3_3wire;
167 extern const mxc_gpio_cfg_t gpio_cfg_spi3_dual;
168 extern const mxc_gpio_cfg_t gpio_cfg_spi3_quad;
169 extern const mxc_gpio_cfg_t gpio_cfg_spi4_standard;
170 extern const mxc_gpio_cfg_t gpio_cfg_spi4_3wire;
171 extern const mxc_gpio_cfg_t gpio_cfg_spi4_dual;
172 extern const mxc_gpio_cfg_t gpio_cfg_spi4_quad;
173 
174 // SPI v2 Target Selects Pin Definitions
175 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ts0;
176 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ts1;
177 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts0;
178 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts1;
179 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts2;
180 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts0;
181 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts1;
182 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts2;
183 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ts0;
184 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ts1;
185 extern const mxc_gpio_cfg_t gpio_cfg_spi3_ts2;
186 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ts0;
187 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ts1;
188 extern const mxc_gpio_cfg_t gpio_cfg_spi4_ts2;
189 
190 #endif // LIBRARIES_PERIPHDRIVERS_INCLUDE_MAX32690_MXC_PINS_H_
191