summaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorhathach <[email protected]>2018-05-15 12:37:48 +0700
committerhathach <[email protected]>2018-05-15 12:37:48 +0700
commit1d428b7fefa1a41d47918b1c6ddd7c96e84f98e3 (patch)
treec3ff414460d7c6cd3ed938ba730f4f8df2e01d47 /hw
parent03d442a86124d759f294828b46ad134f3e2f18dc (diff)
get nrf5x hal work with SD and non_SD configure
Diffstat (limited to 'hw')
-rw-r--r--hw/bsp/pca10056/board_pca10056.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/hw/bsp/pca10056/board_pca10056.c b/hw/bsp/pca10056/board_pca10056.c
index e1668ebb5..bfe0c00be 100644
--- a/hw/bsp/pca10056/board_pca10056.c
+++ b/hw/bsp/pca10056/board_pca10056.c
@@ -75,10 +75,26 @@ void board_init(void)
NRF_CLOCK->LFCLKSRC = (uint32_t)((CLOCK_CONFIG_LF_SRC << CLOCK_LFCLKSRC_SRC_Pos) & CLOCK_LFCLKSRC_SRC_Msk);
NRF_CLOCK->TASKS_LFCLKSTART = 1UL;
+ nrf_gpio_cfg_output(LED_1);
+
+#ifdef SOFTDEVICE_PRESENT
+ // TODO support Softdevice config
+#else
+ // Softdevice is not present, init power module and register tusb power event function
+ // for vusb detect, ready, removed
+ extern void tusb_hal_nrf_power_event(uint32_t event);
+
nrf_drv_power_init(NULL);
- nrf_gpio_cfg_output(LED_1);
+ // USB Power detection
+ const nrf_drv_power_usbevt_config_t config =
+ {
+ .handler = (nrf_drv_power_usb_event_handler_t) tusb_hal_nrf_power_event
+ };
+ TU_ASSERT( NRF_SUCCESS == nrf_drv_power_usbevt_init(&config) );
+#endif
+ // Tick init
SysTick_Config(SystemCoreClock/1000);
NVIC_EnableIRQ(SysTick_IRQn);
}