I'm using VDK kernel to develop a quite complex RealTime application .
Recently I added USB OTG driver to be able save some files on a USB key.
The first tests was very bad: Looks like OTG driver stall the kernel..and opening adi_usb_hdrc.c i realized that's is true.
The driver is full of WaitMilliSec() func called at interrupt level and so the kernel doesn't run.
The main problem is that EpZeroOTGRequestINTokens() func call a WaitMilliSec() func every time *pUSB_INDEX is modified, but there is not any comment related to these delay and the HW documentation doesn't mention any issue or anomalies related to that register.
I don't know how and if is it possible reduce or cancel that delay.
I think that a driver like that is quite unusable on a real time kernel like VDK.
Does anyone had a problem like mine?
Does anyone had any suggestion to improve driver latency?