[166] USBD: ISO double buffering not functional

This anomaly applies to Revision 2, build codes CKAA-Dx0, QIAA-Dx0.

It was inherited from the previous IC revision Engineering D.


The double buffering of the ISO EPs of the USBD is not functional.


Always. With default settings, the buffers overlap.


During ISO transition, received or transmitted data is likely to be corrupted.


Reconfigure ISO buffers during initialization of USBD. After each time the USBD peripheral is enabled, apply the following code:

*((volatile uint32_t *)(NRF_USBD_BASE + 0x800)) = 0x7E3;
*((volatile uint32_t *)(NRF_USBD_BASE + 0x804)) = 0x40;