[PATCH v3 0/6] add NXP imx8mp usb support
Li Jun
jun.li at nxp.com
Tue Sep 22 06:46:46 EDT 2020
NXP imx8MPlus integrates 2 indentical dwc3 3.30b IP with additional wakeup
logic to support low power, this wakeup logic has a separated interrupt
which can generate events with suspend clock(32K); due to SoC integration
limitation, a few quriks required, instead of create new properties flags,
introduce platform data and pass it from glue layer to dwc3 core, those xhci
private data can further pass to xhci-plat.
changes for v3:
- Add dwc3 core related clocks into dwc3 core node, and glue layer driver
only handle the clocks(hsio and suspend) for glue block, this is to
match real HW.
- Change to use property "xhci-64bit-support-disable" to disable 64bit DMA
as imx8mp USB integration actully can't support it, so remove platform
data in v2.
- Some changes of imx8mp usb driver binding doc to address comments from Rob
Changes for v2:
- Drop the 2 patches for new property("snps,xhci-dis-64bit-support-quirk")
introduction, as suggested, imply by SoC compatible string, this is done
by introduce dwc3 core platform data and pass the xhci_plat_priv to
xhci-plat for those xhci quirks, so a new patch added:
[1/5] usb: dwc3: add platform data to dwc3 core device to pass data.
this patch is based on Peter's one patch which is also in review:
https://patchwork.kernel.org/patch/11640945/
- dts change, use the USB power function of TRL logic instead of a always-on
regulator to control vbus on/off.
- Some changes to address Peter's command on patch [2/5].
Li Jun (6):
dt-bindings: usb: xhci: add property to disable xhci 64bit support
usb: host: xhci-plat: add support of XHCI_NO_64BIT_SUPPORT via
property
dt-bindings: usb: dwc3-imx8mp: add imx8mp dwc3 glue bindings
usb: dwc3: add imx8mp dwc3 glue layer driver
arm64: dtsi: imx8mp: add usb nodes
arm64: dts: imx8mp-evk: enable usb1 as host mode
.../devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml | 99 ++++++
Documentation/devicetree/bindings/usb/usb-xhci.txt | 3 +
arch/arm64/boot/dts/freescale/imx8mp-evk.dts | 21 ++
arch/arm64/boot/dts/freescale/imx8mp.dtsi | 88 +++++
drivers/usb/dwc3/Kconfig | 10 +
drivers/usb/dwc3/Makefile | 1 +
drivers/usb/dwc3/dwc3-imx8mp.c | 363 +++++++++++++++++++++
drivers/usb/host/xhci-plat.c | 4 +
8 files changed, 589 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml
create mode 100644 drivers/usb/dwc3/dwc3-imx8mp.c
--
2.7.4
More information about the linux-arm-kernel
mailing list