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_MAX32665_MXC_PINS_H_
27 #define LIBRARIES_PERIPHDRIVERS_INCLUDE_MAX32665_MXC_PINS_H_
28 
29 #include "gpio.h"
30 
31 /***** Global Variables *****/
32 
33 typedef enum { MAP_A, MAP_B, MAP_C } sys_map_t;
34 
35 // Predefined GPIO Configurations
36 extern const mxc_gpio_cfg_t gpio_cfg_tmr0;
37 extern const mxc_gpio_cfg_t gpio_cfg_tmr1;
38 extern const mxc_gpio_cfg_t gpio_cfg_tmr2;
39 extern const mxc_gpio_cfg_t gpio_cfg_tmr3;
40 extern const mxc_gpio_cfg_t gpio_cfg_tmr4;
41 extern const mxc_gpio_cfg_t gpio_cfg_tmr5;
42 
43 extern const mxc_gpio_cfg_t gpio_cfg_uart0a;
44 extern const mxc_gpio_cfg_t gpio_cfg_uart0a_flow;
45 extern const mxc_gpio_cfg_t gpio_cfg_uart1a;
46 extern const mxc_gpio_cfg_t gpio_cfg_uart1a_flow;
47 extern const mxc_gpio_cfg_t gpio_cfg_uart2a;
48 extern const mxc_gpio_cfg_t gpio_cfg_uart2a_flow;
49 extern const mxc_gpio_cfg_t gpio_cfg_uart0b;
50 extern const mxc_gpio_cfg_t gpio_cfg_uart0b_flow;
51 extern const mxc_gpio_cfg_t gpio_cfg_uart1b;
52 extern const mxc_gpio_cfg_t gpio_cfg_uart1b_flow;
53 extern const mxc_gpio_cfg_t gpio_cfg_uart2b;
54 extern const mxc_gpio_cfg_t gpio_cfg_uart2b_flow;
55 
56 extern const mxc_gpio_cfg_t gpio_cfg_i2c0;
57 extern const mxc_gpio_cfg_t gpio_cfg_i2c1;
58 extern const mxc_gpio_cfg_t gpio_cfg_i2c2;
59 
60 extern const mxc_gpio_cfg_t gpio_cfg_spi0a;
61 extern const mxc_gpio_cfg_t gpio_cfg_spi0b;
62 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss0a;
63 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss0b;
64 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss1;
65 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ss2;
66 extern const mxc_gpio_cfg_t gpio_cfg_spi1;
67 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss0;
68 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss1;
69 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ss2;
70 extern const mxc_gpio_cfg_t gpio_cfg_spi2;
71 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss0;
72 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss1;
73 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ss2;
74 
75 extern const mxc_gpio_cfg_t gpio_cfg_pt0;
76 extern const mxc_gpio_cfg_t gpio_cfg_pt1;
77 extern const mxc_gpio_cfg_t gpio_cfg_pt2;
78 extern const mxc_gpio_cfg_t gpio_cfg_pt3;
79 extern const mxc_gpio_cfg_t gpio_cfg_pt4;
80 extern const mxc_gpio_cfg_t gpio_cfg_pt5;
81 extern const mxc_gpio_cfg_t gpio_cfg_pt6;
82 extern const mxc_gpio_cfg_t gpio_cfg_pt7;
83 extern const mxc_gpio_cfg_t gpio_cfg_pt8;
84 extern const mxc_gpio_cfg_t gpio_cfg_pt9;
85 extern const mxc_gpio_cfg_t gpio_cfg_pt10;
86 extern const mxc_gpio_cfg_t gpio_cfg_pt11;
87 extern const mxc_gpio_cfg_t gpio_cfg_pt12;
88 extern const mxc_gpio_cfg_t gpio_cfg_pt13;
89 extern const mxc_gpio_cfg_t gpio_cfg_pt14;
90 extern const mxc_gpio_cfg_t gpio_cfg_pt15;
91 
92 extern const mxc_gpio_cfg_t gpio_cfg_rtcsqw;
93 extern const mxc_gpio_cfg_t gpio_cfg_spixfc;
94 extern const mxc_gpio_cfg_t gpio_cfg_spim0;
95 extern const mxc_gpio_cfg_t gpio_cfg_spim1;
96 extern const mxc_gpio_cfg_t gpio_cfg_spim2;
97 extern const mxc_gpio_cfg_t gpio_cfg_spis;
98 extern const mxc_gpio_cfg_t gpio_cfg_spixr;
99 
100 extern const mxc_gpio_cfg_t gpio_cfg_sdhc;
101 extern const mxc_gpio_cfg_t gpio_cfg_owma;
102 extern const mxc_gpio_cfg_t gpio_cfg_owmb;
103 extern const mxc_gpio_cfg_t gpio_cfg_owmc;
104 
105 extern const mxc_gpio_cfg_t gpio_cfg_adc0;
106 extern const mxc_gpio_cfg_t gpio_cfg_adc1;
107 extern const mxc_gpio_cfg_t gpio_cfg_adc2;
108 extern const mxc_gpio_cfg_t gpio_cfg_adc3;
109 extern const mxc_gpio_cfg_t gpio_cfg_adc4;
110 extern const mxc_gpio_cfg_t gpio_cfg_adc5;
111 extern const mxc_gpio_cfg_t gpio_cfg_adc6;
112 extern const mxc_gpio_cfg_t gpio_cfg_adc7;
113 
114 extern const mxc_gpio_cfg_t gpio_cfg_sdma;
115 
116 // SPI v2 Pin Definitions
117 extern const mxc_gpio_cfg_t gpio_cfg_spi0a_standard;
118 extern const mxc_gpio_cfg_t gpio_cfg_spi0a_dual;
119 extern const mxc_gpio_cfg_t gpio_cfg_spi0a_quad;
120 extern const mxc_gpio_cfg_t gpio_cfg_spi0b_standard;
121 extern const mxc_gpio_cfg_t gpio_cfg_spi0b_3wire;
122 extern const mxc_gpio_cfg_t gpio_cfg_spi0b_dual;
123 extern const mxc_gpio_cfg_t gpio_cfg_spi0b_qua;
124 extern const mxc_gpio_cfg_t gpio_cfg_spi1_standard;
125 extern const mxc_gpio_cfg_t gpio_cfg_spi1_3wire;
126 extern const mxc_gpio_cfg_t gpio_cfg_spi1_dual;
127 extern const mxc_gpio_cfg_t gpio_cfg_spi1_quad;
128 extern const mxc_gpio_cfg_t gpio_cfg_spi2_standard;
129 extern const mxc_gpio_cfg_t gpio_cfg_spi2_3wire;
130 extern const mxc_gpio_cfg_t gpio_cfg_spi2_dual;
131 extern const mxc_gpio_cfg_t gpio_cfg_spi2_quad;
132 
133 // SPI v2 Target Selects Pin Definitions
134 extern const mxc_gpio_cfg_t gpio_cfg_spi0a_ts0;
135 extern const mxc_gpio_cfg_t gpio_cfg_spi0b_ts0;
136 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ts1;
137 extern const mxc_gpio_cfg_t gpio_cfg_spi0_ts2;
138 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts0;
139 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts1;
140 extern const mxc_gpio_cfg_t gpio_cfg_spi1_ts2;
141 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts0;
142 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts1;
143 extern const mxc_gpio_cfg_t gpio_cfg_spi2_ts2;
144 
145 #endif // LIBRARIES_PERIPHDRIVERS_INCLUDE_MAX32665_MXC_PINS_H_
146