Message ID | 20221031111358.3387297-1-andre.przywara@arm.com |
---|---|
Headers | show |
Series | arm64: sunxi: h616: Add USB support | expand |
Dne ponedeljek, 31. oktober 2022 ob 12:13:51 CET je Andre Przywara napisal(a): > 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 Applied patches 1, 5, 6, 7. Thanks! Best regards, Jernej