Dear sir, madam,
If we boot the M4 with the bootaux command documented in the user guide the USB on our product breaks. We get the following error messages in our log:
stmp_reset_block(a0022030): module reset timeout
ci_hdrc ci_hdrc.0: unable to init phy: -110
[...]
ci_hdrc: probe of ci_hdrc.0 failed with error -110
[...]
udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
It appears that the function stmp_reset_block is called with a incorrect base address. However, the base address is correctly reported in the dtb. Also, why would this only fail when the M4 boots?
However, I was unable to track down what the error -110 means, what causes it and how I can solve it. The problem does not occur if I comment the
clrsetbits_le32(SRC_BASE_ADDR + SRC_M4_REG_OFFSET,
SRC_M4C_NON_SCLR_RST_MASK, SRC_M4_ENABLE_MASK);
line in the U-Boot bootaux command.
The problem does still occur if I load a empty binary on the M4, which means that the code it's executing does not cause the problem.
The reference manual does not mention that the M4 is claiming any resources when it boots, but that's the only explanation I can think of.
Regards,
Lucan