mbox series

[v5,0/4] add NXP imx8mp usb support

Message ID 1601726527-23326-1-git-send-email-jun.li@nxp.com (mailing list archive)
Headers show
Series add NXP imx8mp usb support | expand

Message

Jun Li Oct. 3, 2020, 12:02 p.m. UTC
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, it only can support 32 bits DMA, so add dma-ranges property,

changes for v5
- Remove "Items" of compatible in binding doc [1/4]
- Add Krzysztof's R-b tag for patches [3-4/4].

changes for v4:
- Use dma-ranges property to limit 32bits DMA, so don't need the new
  property "xhci-64bit-support-disable".
- Fix binding doc to pass dt_binding_check dtbs_check.

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 (4):
  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   | 105 ++++++
 arch/arm64/boot/dts/freescale/imx8mp-evk.dts       |  21 ++
 arch/arm64/boot/dts/freescale/imx8mp.dtsi          |  82 +++++
 drivers/usb/dwc3/Kconfig                           |  10 +
 drivers/usb/dwc3/Makefile                          |   1 +
 drivers/usb/dwc3/dwc3-imx8mp.c                     | 363 +++++++++++++++++++++
 6 files changed, 582 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/usb/fsl,imx8mp-dwc3.yaml
 create mode 100644 drivers/usb/dwc3/dwc3-imx8mp.c

Comments

Shawn Guo Oct. 30, 2020, 7:23 a.m. UTC | #1
On Sat, Oct 03, 2020 at 08:02:03PM +0800, Li Jun wrote:
> 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, it only can support 32 bits DMA, so add dma-ranges property,
> 
> changes for v5
> - Remove "Items" of compatible in binding doc [1/4]
> - Add Krzysztof's R-b tag for patches [3-4/4].
> 
> changes for v4:
> - Use dma-ranges property to limit 32bits DMA, so don't need the new
>   property "xhci-64bit-support-disable".
> - Fix binding doc to pass dt_binding_check dtbs_check.
> 
> 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 (4):
>   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

The last two dts patches look good to me.  Ping me for applying after
the first two are accepted.

Shawn