@@ -108,9 +108,9 @@ void target_set_interface(TARGET_INTERFACE mode)
108
108
nreset_port = PIN_nRESET_PORT ;
109
109
nreset_pin = PIN_nRESET_PIN ;
110
110
111
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ EN_VDDIOH_PORT ] , EN_VDDIOH_PIN ); // Low to disable SWOUT
112
- MXC_SETBIT ( & MXC_GPIO -> out_val [ IOH_OW_EN_PORT ] , IOH_OW_EN_PIN ); // High to power MAX14689
113
- MXC_SETBIT ( & MXC_GPIO -> out_val [ SWD_DIP_SEL_PORT ] , SWD_DIP_SEL_PIN ); // High to connect Bn <-> Cn
111
+ MXC_GPIO_CLRBIT ( EN_VDDIOH_PORT , EN_VDDIOH_PIN ); // Low to disable SWOUT
112
+ MXC_GPIO_SETBIT ( IOH_OW_EN_PORT , IOH_OW_EN_PIN ); // High to power MAX14689
113
+ MXC_GPIO_SETBIT ( SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN ); // High to connect Bn <-> Cn
114
114
uart_set_instance (CDC_ACM_UART_SWD );
115
115
break ;
116
116
case IO_DIP_EXT :
@@ -121,9 +121,9 @@ void target_set_interface(TARGET_INTERFACE mode)
121
121
nreset_port = PIN_DIP_nRESET_PORT ;
122
122
nreset_pin = PIN_DIP_nRESET_PIN ;
123
123
124
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ EN_VDDIOH_PORT ] , EN_VDDIOH_PIN ); // Low to disable SWOUT
125
- MXC_SETBIT ( & MXC_GPIO -> out_val [ IOH_OW_EN_PORT ] , IOH_OW_EN_PIN ); // High to power MAX14689
126
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ SWD_DIP_SEL_PORT ] , SWD_DIP_SEL_PIN ); // Low to connect Bn <-> An
124
+ MXC_GPIO_CLRBIT ( EN_VDDIOH_PORT , EN_VDDIOH_PIN ); // Low to disable SWOUT
125
+ MXC_GPIO_SETBIT ( IOH_OW_EN_PORT , IOH_OW_EN_PIN ); // High to power MAX14689
126
+ MXC_GPIO_CLRBIT ( SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN ); // Low to connect Bn <-> An
127
127
uart_set_instance (CDC_ACM_UART_DIP );
128
128
break ;
129
129
}
@@ -133,7 +133,6 @@ void target_set_interface(TARGET_INTERFACE mode)
133
133
void gpio_init (void )
134
134
{
135
135
int i ;
136
- uint32_t out_mode ;
137
136
138
137
// Ensure that the GPIO clock is enabled
139
138
if (MXC_CLKMAN -> sys_clk_ctrl_6_gpio == MXC_S_CLKMAN_CLK_SCALE_DISABLED ) {
@@ -147,60 +146,34 @@ void gpio_init(void)
147
146
148
147
// Set to enable the board to power VDDIOH and in turn the target micro
149
148
// Clear to disable the board from powering VDDIOH
150
- MXC_CLRBIT (& MXC_GPIO -> out_val [EN_VDDIOH_PORT ], EN_VDDIOH_PIN );
151
- out_mode = MXC_GPIO -> out_mode [EN_VDDIOH_PORT ];
152
- out_mode &= ~(0xFU << (4 * EN_VDDIOH_PIN ));
153
- out_mode |= (MXC_V_GPIO_OUT_MODE_NORMAL << (4 * EN_VDDIOH_PIN ));
154
- MXC_GPIO -> out_mode [EN_VDDIOH_PORT ] = out_mode ;
149
+ MXC_GPIO_CLRBIT (EN_VDDIOH_PORT , EN_VDDIOH_PIN );
150
+ MXC_GPIO_SETMODE (EN_VDDIOH_PORT , EN_VDDIOH_PIN , MXC_V_GPIO_OUT_MODE_NORMAL );
155
151
156
152
// LED initial state off
157
- MXC_GPIO -> out_val [PIN_DAP_LED_PORT ] |= (1 << PIN_DAP_LED_PIN );
158
- MXC_GPIO -> out_val [PIN_MSD_LED_PORT ] |= (1 << PIN_MSD_LED_PIN );
159
- MXC_GPIO -> out_val [PIN_CDC_LED_PORT ] |= (1 << PIN_CDC_LED_PIN );
160
-
161
- // LED outputs
162
- out_mode = MXC_GPIO -> out_mode [PIN_DAP_LED_PORT ];
163
- out_mode &= ~(0xFU << (4 * PIN_DAP_LED_PIN ));
164
- out_mode |= (MXC_V_GPIO_OUT_MODE_OPEN_DRAIN << (4 * PIN_DAP_LED_PIN ));
165
- MXC_GPIO -> out_mode [PIN_DAP_LED_PORT ] = out_mode ;
166
-
167
- out_mode = MXC_GPIO -> out_mode [PIN_MSD_LED_PORT ];
168
- out_mode &= ~(0xFU << (4 * PIN_MSD_LED_PIN ));
169
- out_mode |= (MXC_V_GPIO_OUT_MODE_OPEN_DRAIN << (4 * PIN_MSD_LED_PIN ));
170
- MXC_GPIO -> out_mode [PIN_MSD_LED_PORT ] = out_mode ;
171
-
172
- out_mode = MXC_GPIO -> out_mode [PIN_CDC_LED_PORT ];
173
- out_mode &= ~(0xFU << (4 * PIN_CDC_LED_PIN ));
174
- out_mode |= (MXC_V_GPIO_OUT_MODE_OPEN_DRAIN << (4 * PIN_CDC_LED_PIN ));
175
- MXC_GPIO -> out_mode [PIN_CDC_LED_PORT ] = out_mode ;
153
+ MXC_GPIO_SETBIT (PIN_DAP_LED_PORT , PIN_DAP_LED_PIN );
154
+ MXC_GPIO_SETBIT (PIN_MSD_LED_PORT , PIN_MSD_LED_PIN );
155
+ MXC_GPIO_SETBIT (PIN_CDC_LED_PORT , PIN_CDC_LED_PIN );
156
+
157
+ // LED outputs
158
+ MXC_GPIO_SETMODE (PIN_DAP_LED_PORT , PIN_DAP_LED_PIN , MXC_V_GPIO_OUT_MODE_OPEN_DRAIN );
159
+ MXC_GPIO_SETMODE (PIN_MSD_LED_PORT , PIN_MSD_LED_PIN , MXC_V_GPIO_OUT_MODE_OPEN_DRAIN );
160
+ MXC_GPIO_SETMODE (PIN_CDC_LED_PORT , PIN_CDC_LED_PIN , MXC_V_GPIO_OUT_MODE_OPEN_DRAIN );
176
161
177
162
// Button Input
178
- out_mode = MXC_GPIO -> out_mode [PIN_RESET_IN_NO_FWRD_PORT ];
179
- out_mode &= ~(0xFU << (4 * PIN_RESET_IN_NO_FWRD_PIN ));
180
- out_mode |= (MXC_V_GPIO_OUT_MODE_OPEN_DRAIN_WEAK_PULLUP << (4 * PIN_RESET_IN_NO_FWRD_PIN ));
181
- MXC_GPIO -> out_mode [PIN_RESET_IN_NO_FWRD_PORT ] = out_mode ;
182
- MXC_GPIO -> out_val [PIN_RESET_IN_NO_FWRD_PORT ] |= (0x1U << PIN_RESET_IN_NO_FWRD_PIN );
163
+ MXC_GPIO_SETMODE (PIN_RESET_IN_NO_FWRD_PORT , PIN_RESET_IN_NO_FWRD_PIN , MXC_V_GPIO_OUT_MODE_OPEN_DRAIN_WEAK_PULLUP );
164
+ MXC_GPIO_SETBIT (PIN_RESET_IN_NO_FWRD_PORT , PIN_RESET_IN_NO_FWRD_PIN );
183
165
184
166
// IOH_1W_EN (must be configured for strong drive)
185
- MXC_SETBIT (& MXC_GPIO -> out_val [IOH_OW_EN_PORT ], IOH_OW_EN_PIN );
186
- out_mode = MXC_GPIO -> out_mode [IOH_OW_EN_PORT ];
187
- out_mode &= ~(0xFU << (4 * IOH_OW_EN_PIN ));
188
- out_mode |= (MXC_V_GPIO_OUT_MODE_FAST_DRIVE << (4 * IOH_OW_EN_PIN ));
189
- MXC_GPIO -> out_mode [IOH_OW_EN_PORT ] = out_mode ;
167
+ MXC_GPIO_SETBIT (IOH_OW_EN_PORT , IOH_OW_EN_PIN );
168
+ MXC_GPIO_SETMODE (IOH_OW_EN_PORT , IOH_OW_EN_PIN , MXC_V_GPIO_OUT_MODE_FAST_DRIVE );
190
169
191
170
// SWD_DIP_SEL (must be configured for strong drive)
192
- MXC_CLRBIT (& MXC_GPIO -> out_val [SWD_DIP_SEL_PORT ], SWD_DIP_SEL_PIN );
193
- out_mode = MXC_GPIO -> out_mode [SWD_DIP_SEL_PORT ];
194
- out_mode &= ~(0xFU << (4 * SWD_DIP_SEL_PIN ));
195
- out_mode |= (MXC_V_GPIO_OUT_MODE_FAST_DRIVE << (4 * SWD_DIP_SEL_PIN ));
196
- MXC_GPIO -> out_mode [SWD_DIP_SEL_PORT ] = out_mode ;
171
+ MXC_GPIO_CLRBIT (SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN );
172
+ MXC_GPIO_SETMODE (SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN , MXC_V_GPIO_OUT_MODE_FAST_DRIVE );
197
173
198
174
// Strong pull-up disable
199
- MXC_SETBIT (& MXC_GPIO -> out_val [OWM_SUP_PORT ], OWM_SUP_PIN );
200
- out_mode = MXC_GPIO -> out_mode [OWM_SUP_PORT ];
201
- out_mode &= ~(0xFU << (4 * OWM_SUP_PIN ));
202
- out_mode |= (MXC_V_GPIO_OUT_MODE_NORMAL << (4 * OWM_SUP_PIN ));
203
- MXC_GPIO -> out_mode [OWM_SUP_PORT ] = out_mode ;
175
+ MXC_GPIO_SETBIT (OWM_SUP_PORT , OWM_SUP_PIN );
176
+ MXC_GPIO_SETMODE (OWM_SUP_PORT , OWM_SUP_PIN , MXC_V_GPIO_OUT_MODE_NORMAL );
204
177
205
178
// VDDIOH driver isn't strong enough with the strong pull-up
206
179
MXC_IOMAN -> use_vddioh_1 &= ~(1U << (((OWM_PORT - 4 ) * 8 ) + OWM_PIN ));
@@ -229,10 +202,10 @@ void gpio_init(void)
229
202
MXC_F_ADC_CTRL_ADC_CHGPUMP_PU );
230
203
231
204
// Change the MUX to other pins before measuring the voltage to avoid false reading
232
- MXC_SETBIT ( & MXC_GPIO -> out_val [ SWD_DIP_SEL_PORT ] , SWD_DIP_SEL_PIN ); // High to connect Bn <-> Cn
205
+ MXC_GPIO_SETBIT ( SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN ); // High to connect Bn <-> Cn
233
206
uint16_t tmp_hdr_vio = readADC (HDR_VIO_CH );
234
207
235
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ SWD_DIP_SEL_PORT ] , SWD_DIP_SEL_PIN ); // Low to connect Bn <-> An
208
+ MXC_GPIO_CLRBIT ( SWD_DIP_SEL_PORT , SWD_DIP_SEL_PIN ); // Low to connect Bn <-> An
236
209
uint16_t tmp_swd_vio = readADC (SWD_VIO_CH );
237
210
238
211
// Set IO interface
@@ -250,36 +223,36 @@ void gpio_init(void)
250
223
void gpio_set_hid_led (gpio_led_state_t state )
251
224
{
252
225
if (state == GPIO_LED_ON ) {
253
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ PIN_DAP_LED_PORT ] , PIN_DAP_LED_PIN );
226
+ MXC_GPIO_CLRBIT ( PIN_DAP_LED_PORT , PIN_DAP_LED_PIN );
254
227
} else {
255
- MXC_SETBIT ( & MXC_GPIO -> out_val [ PIN_DAP_LED_PORT ] , PIN_DAP_LED_PIN );
228
+ MXC_GPIO_SETBIT ( PIN_DAP_LED_PORT , PIN_DAP_LED_PIN );
256
229
}
257
230
}
258
231
259
232
/******************************************************************************/
260
233
void gpio_set_msc_led (gpio_led_state_t state )
261
234
{
262
235
if (state == GPIO_LED_ON ) {
263
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ PIN_MSD_LED_PORT ] , PIN_MSD_LED_PIN );
236
+ MXC_GPIO_CLRBIT ( PIN_MSD_LED_PORT , PIN_MSD_LED_PIN );
264
237
} else {
265
- MXC_SETBIT ( & MXC_GPIO -> out_val [ PIN_MSD_LED_PORT ] , PIN_MSD_LED_PIN );
238
+ MXC_GPIO_SETBIT ( PIN_MSD_LED_PORT , PIN_MSD_LED_PIN );
266
239
}
267
240
}
268
241
269
242
/******************************************************************************/
270
243
void gpio_set_cdc_led (gpio_led_state_t state )
271
244
{
272
245
if (state == GPIO_LED_ON ) {
273
- MXC_CLRBIT ( & MXC_GPIO -> out_val [ PIN_CDC_LED_PORT ] , PIN_CDC_LED_PIN );
246
+ MXC_GPIO_CLRBIT ( PIN_CDC_LED_PORT , PIN_CDC_LED_PIN );
274
247
} else {
275
- MXC_SETBIT ( & MXC_GPIO -> out_val [ PIN_CDC_LED_PORT ] , PIN_CDC_LED_PIN );
248
+ MXC_GPIO_SETBIT ( PIN_CDC_LED_PORT , PIN_CDC_LED_PIN );
276
249
}
277
250
}
278
251
279
252
/******************************************************************************/
280
253
uint8_t gpio_get_reset_btn_no_fwrd (void )
281
254
{
282
- return !MXC_GETBIT ( & MXC_GPIO -> in_val [ PIN_RESET_IN_NO_FWRD_PORT ] , PIN_RESET_IN_NO_FWRD_PIN );
255
+ return !MXC_GPIO_GETBIT ( PIN_RESET_IN_NO_FWRD_PORT , PIN_RESET_IN_NO_FWRD_PIN );
283
256
}
284
257
285
258
/******************************************************************************/
0 commit comments