The Amlogic A1 SoC Family embeds 1 USB Controllers: - a DWC3 IP configured as Host for USB2 and USB3 A glue connects the controllers to the USB2 PHY of A1 SoC. Signed-off-by: Hanjie Lin <hanjie.lin@xxxxxxxxxxx> Signed-off-by: Yue Wang <yue.wang@xxxxxxxxxxx> --- .../bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml | 57 +++++++++++++++++++--- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml index 4efb77b..6103cc2 100644 --- a/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml +++ b/Documentation/devicetree/bindings/usb/amlogic,meson-g12a-usb-ctrl.yaml @@ -9,6 +9,8 @@ title: Amlogic Meson G12A DWC3 USB SoC Controller Glue maintainers: - Neil Armstrong <narmstrong@xxxxxxxxxxxx> + - Hanjie Lin <hanjie.lin@xxxxxxxxxxx> + - Yue Wang <yue.wang@xxxxxxxxxxx> description: | The Amlogic G12A embeds a DWC3 USB IP Core configured for USB2 and USB3 @@ -22,10 +24,14 @@ description: | The DWC3 Glue controls the PHY routing and power, an interrupt line is connected to the Glue to serve as OTG ID change detection. + The Amlogic A1 embeds a DWC3 USB IP Core configured for USB2 in + host-only mode. + properties: compatible: enum: - amlogic,meson-g12a-usb-ctrl + - amlogic,meson-a1-usb-ctrl ranges: true @@ -37,6 +43,11 @@ properties: clocks: minItems: 1 + maxItems: 4 + + clock-names: + minItems: 1 + maxItems: 4 resets: minItems: 1 @@ -47,17 +58,22 @@ properties: interrupts: maxItems: 1 + phys: + minItems: 1 + maxItems: 3 + phy-names: items: - const: usb2-phy0 # USB2 PHY0 if USBHOST_A port is used - const: usb2-phy1 # USB2 PHY1 if USBOTG_B port is used - const: usb3-phy0 # USB3 PHY if USB3_0 is used - phys: - minItems: 1 - maxItems: 3 - - dr_mode: true + dr_mode: + description: usb mode for G12A + enum: + - host + - peripheral + - otg power-domains: maxItems: 1 @@ -80,9 +96,9 @@ required: - resets - reg - interrupts - - phy-names - phys - dr_mode + - phy-names examples: - | @@ -124,4 +140,33 @@ examples: snps,quirk-frame-length-adjustment; }; }; + - | + a1_usb: usb@ffe09000 { + status = "okay"; + compatible = "amlogic,meson-a1-usb-ctrl"; + reg = <0 0xffe09000 0x0 0xa0>; + #address-cells = <1>; + #size-cells = <1>; + ranges; + clocks = <&clkc_periphs 36>, + <&clkc_periphs 85>, + <&clkc_periphs 2>, + <&clkc_periphs 3>; + clock-names = "usb_ctrl", "usb_bus", "xtal_usb_phy", + "xtal_usb_ctrl"; + + resets = <&reset 36>; + + phys = <&usb2_phy1>; + phy-names = "usb2-phy1"; + + a1_dwc3: usb@ff400000 { + compatible = "snps,dwc3"; + reg = <0xff400000 0x100000>; + interrupts = <0 90 4>; + dr_mode = "host"; + snps,dis_u2_susphy_quirk; + snps,quirk-frame-length-adjustment = <0x20>; + }; + }; -- 2.7.4