NASR-M board bring-up, USB adventures
It’s USB show time! Xilinx documents suggest the USB3320 as a good USB PHY that works, and I’ve seen multiple development boards that use that chip. If it works for them, it will probably work for me, I thought. Despite being defined in Vivado hardware design, USB was not detected by the Linux kernel. Looking closely, I saw that a reference clock was ok, but there was no signal on the CLKOUT pin.
STM32Cube, STM32F401RE; USB host VBUS and UART1 conflict
Spent a significant amount of time trying to figure out why the USB host generated by STM32Cube was halting on STM32F401RE when UART1 was receiving data. It was driving me mad during the last couple of days. The board I'm using got no dedicated VBUS signal controlling the power on a USB interface, so I was assuming it's safe not to configure DriveVBUSFS in STM32Cube -> Middleware -> USB_HOST -> Platform Settings. I was spectacularly wrong. Despite UART1 RX being configured on PA9 pin (which is VBUS by default on STM32F401RE), it was still affecting the USB, so every incoming UART1 transmission was disrupting the USB host.