]> git.ipfire.org Git - thirdparty/u-boot.git/commit
usb: ehci-mx6: Enable OTG detection on imx8mm and imx8mn
authorAdam Ford <aford173@gmail.com>
Thu, 3 Feb 2022 21:20:11 +0000 (15:20 -0600)
committerMarek Vasut <marex@denx.de>
Thu, 10 Feb 2022 23:03:48 +0000 (00:03 +0100)
commit078dfef931523b64c1904517a1a6f04511fe42a2
tree45188fa5e775a175eda0d7193df8d728a4bcf185
parent2ccd2bc8c3580e00c51094c5cc2b3e2ead8d35c3
usb: ehci-mx6: Enable OTG detection on imx8mm and imx8mn

The imx8mm and imx8mn appear compatible with imx7d-usb
flags in the OTG driver.  If the dr_mode is defined as
host or peripheral, the device appears to operate correctly,
however the auto host/peripheral detection results in an error.

The solution isn't just adding checks for imx8mm and imx8mn to
the check for imx7, because the USB clock needs to be running
to read from the USBNC_PHY_STATUS_OFFSET register or it will hang.

Marek requested that I not enable the clocks in ehci_usb_of_to_plat,
so I modified that function to return an unknown state if the
device tree does not explicitly state whether it is a host
or a peripheral.

When the driver probes, it looks to see if it's in the unknown
state, and only then will it read the register to auto-detect.

Signed-off-by: Adam Ford <aford173@gmail.com>
Tested-by: Tim Harvey <tharvey@gateworks.com>
drivers/usb/host/ehci-mx6.c
include/usb.h