mirror of
https://github.com/hathach/tinyusb.git
synced 2025-02-19 06:40:45 +00:00
only apply errata walkaround for nrf52
This commit is contained in:
parent
e2f795067a
commit
9233269a2c
@ -833,9 +833,8 @@ void tusb_hal_nrf_power_event (uint32_t event)
|
|||||||
NRF_USBD->EVENTCAUSE = USBD_EVENTCAUSE_READY_Msk;
|
NRF_USBD->EVENTCAUSE = USBD_EVENTCAUSE_READY_Msk;
|
||||||
__ISB(); __DSB(); // for sync
|
__ISB(); __DSB(); // for sync
|
||||||
|
|
||||||
/* Enable the peripheral */
|
#ifdef NRF52_SERIES
|
||||||
// ERRATA 171, 187, 166
|
// ERRATA 171, 187, 166
|
||||||
|
|
||||||
if ( nrfx_usbd_errata_187() )
|
if ( nrfx_usbd_errata_187() )
|
||||||
{
|
{
|
||||||
// CRITICAL_REGION_ENTER();
|
// CRITICAL_REGION_ENTER();
|
||||||
@ -867,7 +866,9 @@ void tusb_hal_nrf_power_event (uint32_t event)
|
|||||||
}
|
}
|
||||||
// CRITICAL_REGION_EXIT();
|
// CRITICAL_REGION_EXIT();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Enable the peripheral */
|
||||||
NRF_USBD->ENABLE = 1;
|
NRF_USBD->ENABLE = 1;
|
||||||
__ISB(); __DSB(); // for sync
|
__ISB(); __DSB(); // for sync
|
||||||
|
|
||||||
@ -889,6 +890,7 @@ void tusb_hal_nrf_power_event (uint32_t event)
|
|||||||
NRF_USBD->EVENTCAUSE = USBD_EVENTCAUSE_READY_Msk;
|
NRF_USBD->EVENTCAUSE = USBD_EVENTCAUSE_READY_Msk;
|
||||||
__ISB(); __DSB(); // for sync
|
__ISB(); __DSB(); // for sync
|
||||||
|
|
||||||
|
#ifdef NRF52_SERIES
|
||||||
if ( nrfx_usbd_errata_171() )
|
if ( nrfx_usbd_errata_171() )
|
||||||
{
|
{
|
||||||
// CRITICAL_REGION_ENTER();
|
// CRITICAL_REGION_ENTER();
|
||||||
@ -924,11 +926,12 @@ void tusb_hal_nrf_power_event (uint32_t event)
|
|||||||
|
|
||||||
if ( nrfx_usbd_errata_166() )
|
if ( nrfx_usbd_errata_166() )
|
||||||
{
|
{
|
||||||
*((volatile uint32_t *) ((uint8_t *) (NRF_USBD) + 0x800)) = 0x7E3;
|
*((volatile uint32_t *) (NRF_USBD_BASE + 0x800)) = 0x7E3;
|
||||||
*((volatile uint32_t *) ((uint8_t *) (NRF_USBD) + 0x804)) = 0x40;
|
*((volatile uint32_t *) (NRF_USBD_BASE + 0x804)) = 0x40;
|
||||||
|
|
||||||
__ISB(); __DSB();
|
__ISB(); __DSB();
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// ISO buffer Lower half for IN, upper half for OUT
|
// ISO buffer Lower half for IN, upper half for OUT
|
||||||
NRF_USBD->ISOSPLIT = USBD_ISOSPLIT_SPLIT_HalfIN;
|
NRF_USBD->ISOSPLIT = USBD_ISOSPLIT_SPLIT_HalfIN;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user