This patch series wires up the USB controllers on fsl-imx6 and fsl-imx6ul emulations.
The first patch provides a basic implementation of the USB PHY controller used in i.MX28 and later chips. Only reset bit handling in the control register is actually implemented. Basic USB PHY support is needed to make the USB ports operational in Linux. The second patch fixes USB and USB PHY interrupt numbers for i.MX6UL. The third patch instantiates unimplemented pwm and can devices. This patch is necessary to avoid crashes in Linux when it tries to access those devices. The crashes are observed when trying to boot Linux v4.21 or later. The final two patches instantiate the USB controllers for i.mMX6 and i.MX6UL. v3: - Minor cleanup in patch 1/5 (see details in patch) - Added patch to fix USB and USB PHY interrupt numbers for fsl-imx6ul. - Added patch to instantiate unimplemented pwm and CAN devices. - Instantiate USB and USB PHY separately. They are logically different, and the number of instances is not always the same. v2: - Implement and instantiate basic USB PHY implementation instead of emulating a single USB PHY register ---------------------------------------------------------------- Guenter Roeck (5): hw/usb: Add basic i.MX USB Phy support hw/arm/fsl-imx6ul: Fix USB interrupt numbers hw/arm/fsl-imx6ul: Instantiate unimplemented pwm and can devices hw/arm/fsl-imx6ul: Wire up USB controllers hw/arm/fsl-imx6: Wire up USB controllers MAINTAINERS | 2 + hw/arm/Kconfig | 1 + hw/arm/fsl-imx6.c | 36 +++++++ hw/arm/fsl-imx6ul.c | 49 ++++++++++ hw/usb/Kconfig | 5 + hw/usb/Makefile.objs | 2 + hw/usb/imx-usb-phy.c | 225 +++++++++++++++++++++++++++++++++++++++++++ include/hw/arm/fsl-imx6.h | 6 ++ include/hw/arm/fsl-imx6ul.h | 16 ++- include/hw/usb/imx-usb-phy.h | 53 ++++++++++ 10 files changed, 392 insertions(+), 3 deletions(-) create mode 100644 hw/usb/imx-usb-phy.c create mode 100644 include/hw/usb/imx-usb-phy.h