[PATCH v2 0/2] Allwinner H6 USB3 device tree updates
Samuel Holland
samuel at sholland.org
Fri Apr 30 04:19:10 BST 2021
While implementing support for this USB controller in U-Boot, I noticed
that the reset line alsp affects they PHY. It looks like most platforms
use a separate glue node to represent this, and in fact there is already
a compatible for the H6 listed in drivers/usb/dwc3/dwc3-of-simple.c.
Since this layout matches the usual way of modeling this hardware, it
allows using the existing drivers without adding platform-specific code.
I tried to follow the existing DWC3 glue bindings (most of which are
still .txt). With this version, `make dt_binding_check` still raises a
couple of issues, which I do not know how best to fix:
- Warning (unit_address_vs_reg): /example-0/usb at 5200000: node has a
unit name, but no reg or ranges property
=> Since there is no MMIO translation, an empty `ranges;` seemed
appropriate, but it causes this warning.
- usb at 5200000: usb at 5200000:phy-names:0: 'usb2-phy' was expected
=> This may be an issue with the snps,dwc3 binding, where the
`items` list overrides `minItems`. I believe the intention is
that both PHY references are optional. This implementation has
only one PHY.
Changes from v1 to v2:
- Updated the binding to reference the PHY binding by path correctly
- Dropped DT updates for Pine H64
Samuel Holland (2):
dt-bindings: usb: Document the Allwinner H6 DWC3 glue
arm64: dts: allwinner: h6: Wrap DWC3 and PHY in glue layer
.../usb/allwinner,sun50i-h6-dwc3.yaml | 75 +++++++++++++++++++
.../dts/allwinner/sun50i-h6-beelink-gs1.dts | 6 +-
.../dts/allwinner/sun50i-h6-orangepi-3.dts | 6 +-
.../dts/allwinner/sun50i-h6-tanix-tx6.dts | 6 +-
arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 60 ++++++++-------
5 files changed, 111 insertions(+), 42 deletions(-)
create mode 100644 Documentation/devicetree/bindings/usb/allwinner,sun50i-h6-dwc3.yaml
--
2.26.3
More information about the linux-arm-kernel
mailing list