Skip to content

Commit eacb631

Browse files
committed
nrf52840_hic: Add support for nRESET pin
1 parent b4e57f3 commit eacb631

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

source/hic_hal/nordic/nrf52840/DAP_config.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,6 @@ __STATIC_INLINE void PORT_JTAG_SETUP (void) {
193193
;
194194
}
195195

196-
#ifdef PIN_nRESET
197-
#error "Reset PIN not supported"
198-
#endif
199196

200197
/** Setup SWD I/O pins: SWCLK, SWDIO, and nRESET.
201198
Configures the DAP Hardware I/O pins for Serial Wire Debug (SWD) mode:
@@ -378,7 +375,13 @@ __STATIC_FORCEINLINE uint32_t PIN_nRESET_IN (void) {
378375
- 1: release device hardware reset.
379376
*/
380377
__STATIC_FORCEINLINE void PIN_nRESET_OUT (uint32_t bit) {
381-
;
378+
#ifdef PIN_nRESET
379+
if (bit & 0x1) {
380+
gpio_set(GPIO_REG(PIN_nRESET), GPIO_IDX(PIN_nRESET));
381+
} else {
382+
gpio_clear(GPIO_REG(PIN_nRESET), GPIO_IDX(PIN_nRESET));
383+
}
384+
#endif
382385
}
383386

384387
///@}

source/hic_hal/nordic/nrf52840/IO_Config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ COMPILER_ASSERT(DAPLINK_HIC_ID == DAPLINK_HIC_ID_NRF52840);
4545
#define RESET_BUTTON_PULL NRF_GPIO_PIN_PULLUP
4646
#define PIN_SWCLK NRF_GPIO_PIN_MAP(0, 9) // SWDCLK (Output)
4747
#define PIN_SWDIO NRF_GPIO_PIN_MAP(0, 10) // SWDIO (Input/Output)
48+
#define PIN_nRESET NRF_GPIO_PIN_MAP(0, 24) // nRESET Pin
4849
#undef LED_RUNNING // Target Running LED (Output)
4950
#undef LED_CONNECTED // Connected LED (Output)
5051
#define LED_HID NRF_GPIO_PIN_MAP(0, 6) // HID LED
@@ -63,6 +64,7 @@ COMPILER_ASSERT(DAPLINK_HIC_ID == DAPLINK_HIC_ID_NRF52840);
6364
#define RESET_BUTTON_PULL NRF_GPIO_PIN_PULLUP
6465
#define PIN_SWCLK NRF_GPIO_PIN_MAP(1, 13) // SWDCLK (Output)
6566
#define PIN_SWDIO NRF_GPIO_PIN_MAP(1, 14) // SWDIO (Input/Output)
67+
#define PIN_nRESET NRF_GPIO_PIN_MAP(0, 15) // nRESET Pin
6668
#undef LED_RUNNING // Target Running LED (Output)
6769
#undef LED_CONNECTED // Connected LED (Output)
6870
#define LED_HID NRF_GPIO_PIN_MAP(0, 26) // HID LED

source/hic_hal/nordic/shared/nrf52/gpio.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ void gpio_init(void)
4444
gpio_cfg_output(GPIO_REG(LED_HID), GPIO_IDX(LED_HID));
4545
gpio_cfg_output(GPIO_REG(LED_MSC), GPIO_IDX(LED_MSC));
4646
gpio_cfg_output(GPIO_REG(LED_CDC), GPIO_IDX(LED_CDC));
47-
47+
#ifdef PIN_nRESET
48+
gpio_cfg_output(GPIO_REG(PIN_nRESET), GPIO_IDX(PIN_nRESET));
49+
#endif
4850
gpio_cfg_input(GPIO_REG(RESET_BUTTON), GPIO_IDX(RESET_BUTTON), RESET_BUTTON_PULL);
4951
}
5052

source/hic_hal/nordic/shared/nrf52/sdk.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ COMPILER_ASSERT(GPIO_CHECK_PRESENT_NRF52840(RESET_BUTTON));
3333
COMPILER_ASSERT(GPIO_CHECK_PRESENT_NRF52840(LED_HID));
3434
COMPILER_ASSERT(GPIO_CHECK_PRESENT_NRF52840(LED_MSC));
3535
COMPILER_ASSERT(GPIO_CHECK_PRESENT_NRF52840(LED_CDC));
36+
#ifdef PIN_nRESET
37+
COMPILER_ASSERT(GPIO_CHECK_PRESENT_NRF52840(PIN_nRESET));
38+
#endif
3639
#else
3740
#ifdef NRF528XX_DYNAMIC_PIN
3841
uint32_t uart_tx_pin;

0 commit comments

Comments
 (0)