@@ -342,12 +342,15 @@ Configures the DAP Hardware I/O pins for JTAG mode:
342
342
*/
343
343
__STATIC_INLINE void PORT_JTAG_SETUP (void )
344
344
{
345
+ gpio_set_mode (PIN_SWDIO_TMS , GPIO_OUTPUT_PD_MODE );
346
+ gpio_set_mode (PIN_SWCLK_TCK , GPIO_OUTPUT_PD_MODE );
347
+ gpio_set_mode (PIN_TDI , GPIO_OUTPUT_PD_MODE );
348
+ gpio_set_mode (PIN_nRESET , GPIO_OUTPUT_PP_MODE );
349
+ gpio_set_mode (PIN_TDO , GPIO_INPUT_MODE );
345
350
gpio_write (PIN_SWDIO_TMS , 1U );
346
351
gpio_write (PIN_SWCLK_TCK , 1U );
347
352
gpio_write (PIN_TDI , 1U );
348
- gpio_set_mode (PIN_SWDIO_TMS , GPIO_OUTPUT_MODE );
349
- gpio_set_mode (PIN_SWCLK_TCK , GPIO_OUTPUT_MODE );
350
- gpio_set_mode (PIN_TDI , GPIO_OUTPUT_MODE );
353
+ gpio_write (PIN_nRESET , 1U );
351
354
}
352
355
353
356
/** Setup SWD I/O pins: SWCLK, SWDIO, and nRESET.
@@ -369,9 +372,11 @@ Disables the DAP Hardware I/O pins which configures:
369
372
*/
370
373
__STATIC_INLINE void PORT_OFF (void )
371
374
{
372
- gpio_set_mode (PIN_SWDIO_TMS , GPIO_INPUT_PP_MODE );
373
- gpio_set_mode (PIN_SWCLK_TCK , GPIO_INPUT_PP_MODE );
374
- gpio_set_mode (PIN_TDI , GPIO_INPUT_PP_MODE );
375
+ gpio_set_mode (PIN_SWDIO_TMS , GPIO_INPUT_MODE );
376
+ gpio_set_mode (PIN_SWCLK_TCK , GPIO_INPUT_MODE );
377
+ gpio_set_mode (PIN_TDI , GPIO_INPUT_MODE );
378
+ gpio_set_mode (PIN_TDO , GPIO_INPUT_MODE );
379
+ gpio_set_mode (PIN_nRESET , GPIO_INPUT_MODE );
375
380
}
376
381
377
382
// SWCLK/TCK I/O pin -------------------------------------
@@ -539,7 +544,8 @@ __STATIC_INLINE void PIN_nTRST_OUT(uint32_t bit)
539
544
*/
540
545
__STATIC_INLINE uint32_t PIN_nRESET_IN (void )
541
546
{
542
- return !!gpio_read (PIN_nRESET );
547
+ // return !!gpio_read(PIN_nRESET);
548
+ return (* (uint32_t * )(GLB_BASE + GLB_GPIO_INPUT_OFFSET ) >> PIN_nRESET ) & 1U ;
543
549
}
544
550
545
551
/** nRESET I/O pin: Set Output.
0 commit comments