All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] arm64: sunxi: h616: Add USB support
@ 2022-10-31 11:13 ` Andre Przywara
  0 siblings, 0 replies; 48+ messages in thread
From: Andre Przywara @ 2022-10-31 11:13 UTC (permalink / raw)
  To: Jernej Skrabec, Samuel Holland, Chen-Yu Tsai,
	Kishon Vijay Abraham I, Vinod Koul
  Cc: Rob Herring, Krzysztof Kozlowski, Greg Kroah-Hartman, linux-phy,
	linux-usb, devicetree, linux-arm-kernel, linux-sunxi,
	Karl Kurbjun, Icenowy Zheng

This is a fixed and rebased update of the previous version, with only
the DT binding and one DT seeing changes, triggered by Krzysztof's
comments. For a changelog see below.
Thanks to Karl for testing this on the OrangePi Zero 2!

------------------------
The USB IP used in the Allwinner H616 SoC is very similar to the one
used in the H3 chip: it contains four USB 2.0 host controllers and four
PHYs, where the first PHY is shared with a separate USB-OTG controller.

But out of the four ports, only port 2 works out of the box, the other
ports require some resources and registers of port 2 to be enabled as
well.

Implement the required workaround in the Allwinner USB PHY driver, and
key this off the respective compatible string. This core code is
contained in patch 3/7. The first two patches add the respective DT
binding documentation, whereas patch 4/7 encodes all the configuration
options for the H616 USB PHY into the driver.
The last three patches add the respective devicetree nodes, to the H616
.dtsi, but also to the DTs of the two supported boards.

This allows USB to be used on any H616 based machine. This was tested on
the X96 Mate box.

The patches in this series were originally contained in the initial H616
support series, but where dropped there to speed up mainlining of the
basic support.

It is now based on v6.1-rc3 and is also available here:
https://github.com/apritzel/linux/commits/h616-usb-v2

Please have a look and test on your hardware, especically on all ports
exposed on header pins of the OrangePi Zero2 board.

Cheers,
Andre

Changelog v1 .. v2:
- Add Krzysztof's ACK
- wrap If: clause in allOf: (patch 2/7)
- limit old (H3) PHYs to 4 clocks (else clause, patch 2/7)
- change subsystem to phy: in subject (patch 2/7)
- use "regulator-" prefix for DT node name (patch 6/7)
- drop unneeded status property in regulator node (patch 6/7)

Andre Przywara (7):
  dt-bindings: usb: Add H616 compatible string
  dt-bindings: phy: Add special clock for Allwinner H616 PHY
  phy: sun4i-usb: Introduce port2 SIDDQ quirk
  phy: sun4i-usb: Add support for the H616 USB PHY
  arm64: dts: allwinner: h616: Add USB nodes
  arm64: dts: allwinner: h616: OrangePi Zero 2: Add USB nodes
  arm64: dts: allwinner: h616: X96 Mate: Add USB nodes

 .../phy/allwinner,sun8i-h3-usb-phy.yaml       |  26 +++
 .../devicetree/bindings/usb/generic-ehci.yaml |   1 +
 .../devicetree/bindings/usb/generic-ohci.yaml |   1 +
 .../allwinner/sun50i-h616-orangepi-zero2.dts  |  41 +++++
 .../dts/allwinner/sun50i-h616-x96-mate.dts    |  25 +++
 .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 160 ++++++++++++++++++
 drivers/phy/allwinner/phy-sun4i-usb.c         |  71 ++++++++
 7 files changed, 325 insertions(+)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2022-11-07 19:12 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-31 11:13 [PATCH v2 0/7] arm64: sunxi: h616: Add USB support Andre Przywara
2022-10-31 11:13 ` Andre Przywara
2022-10-31 11:13 ` Andre Przywara
2022-10-31 11:13 ` [PATCH v2 1/7] dt-bindings: usb: Add H616 compatible string Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13 ` [PATCH v2 2/7] dt-bindings: phy: Add special clock for Allwinner H616 PHY Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-01  1:03   ` Rob Herring
2022-11-01  1:03     ` Rob Herring
2022-11-01  1:03     ` Rob Herring
2022-11-05  7:45   ` Vinod Koul
2022-11-05  7:45     ` Vinod Koul
2022-11-05  7:45     ` Vinod Koul
2022-10-31 11:13 ` [PATCH v2 3/7] phy: sun4i-usb: Introduce port2 SIDDQ quirk Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-05  7:46   ` Vinod Koul
2022-11-05  7:46     ` Vinod Koul
2022-11-05  7:46     ` Vinod Koul
2022-10-31 11:13 ` [PATCH v2 4/7] phy: sun4i-usb: Add support for the H616 USB PHY Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-05  7:46   ` Vinod Koul
2022-11-05  7:46     ` Vinod Koul
2022-11-05  7:46     ` Vinod Koul
2022-10-31 11:13 ` [PATCH v2 5/7] arm64: dts: allwinner: h616: Add USB nodes Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-05 21:07   ` Jernej Škrabec
2022-11-05 21:07     ` Jernej Škrabec
2022-11-05 21:07     ` Jernej Škrabec
2022-10-31 11:13 ` [PATCH v2 6/7] arm64: dts: allwinner: h616: OrangePi Zero 2: " Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-05 21:13   ` Jernej Škrabec
2022-11-05 21:13     ` Jernej Škrabec
2022-11-05 21:13     ` Jernej Škrabec
2022-10-31 11:13 ` [PATCH v2 7/7] arm64: dts: allwinner: h616: X96 Mate: " Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-10-31 11:13   ` Andre Przywara
2022-11-05 21:14   ` Jernej Škrabec
2022-11-05 21:14     ` Jernej Škrabec
2022-11-05 21:14     ` Jernej Škrabec
2022-11-07 19:09 ` [PATCH v2 0/7] arm64: sunxi: h616: Add USB support Jernej Škrabec
2022-11-07 19:09   ` Jernej Škrabec
2022-11-07 19:09   ` Jernej Škrabec

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.