[PATCH v3 3/6] dt-bindings: usb: add Altera Agilex5 DWC3 controller
Adrian Ng Ho Yin <[email protected]>
| Newsgroups | org.kernel.vger.linux-clk,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-usb |
|---|---|
| Message-ID | <85e52e1dd400f39e055196fa1462337285a9b875.1786518803.git.adrian.ho.yin.ng@altera.com> |
Add a binding for the Altera Agilex5 SoC integration of the Synopsys DWC3 USB controller (compatible "altr,agilex5-dwc3"), covering clocks, resets, PHYs, and optional IOMMU support. Signed-off-by: Adrian Ng Ho Yin <[email protected]> --- .../bindings/usb/altr,agilex5-dwc3.yaml | 102 ++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 Documentation/devicetree/bindings/usb/altr,agilex5-dwc3.yaml diff --git a/Documentation/devicetree/bindings/usb/altr,agilex5-dwc3.yaml b/Documentation/devicetree/bindings/usb/altr,agilex5-dwc3.yaml new file mode 100644 index 000000000000..8a815e8a3b7d --- /dev/null +++ b/Documentation/devicetree/bindings/usb/altr,agilex5-dwc3.yaml @@ -0,0 +1,102 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/altr,agilex5-dwc3.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Altera Agilex5 DWC3 USB SoC Controller + +maintainers: + - Adrian Ng Ho Yin <[email protected]> + +description: + The Altera Agilex5 SoCFPGA integrates a Synopsys DesignWare USB3 (DWC3) + controller that supports host, device and DRD modes. + +allOf: + - $ref: snps,dwc3-common.yaml# + +properties: + compatible: + const: altr,agilex5-dwc3 + + reg: + description: DWC3 USB3 controller register region. + maxItems: 1 + + clocks: + items: + - description: Controller reference clock + - description: Controller suspend clock + - description: Master/Core bus clock + + clock-names: + items: + - const: ref + - const: suspend + - const: bus_early + + interrupts: + maxItems: 1 + + phys: + minItems: 2 + maxItems: 2 + + phy-names: + items: + - const: usb2-phy + - const: usb3-phy + + iommus: + maxItems: 1 + + resets: + description: Resets for the DWC3 core and its ECC block. + items: + - description: DWC3 core reset + - description: DWC3 ECC reset + + reset-names: + items: + - const: dwc3 + - const: dwc3-ecc + +required: + - compatible + - reg + - clocks + - clock-names + - interrupts + - phys + - phy-names + - resets + - reset-names + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/reset/altr,rst-mgr-s10.h> + #include <dt-bindings/clock/intel,agilex5-clkmgr.h> + + soc { + #address-cells = <1>; + #size-cells = <1>; + + usb@11000000 { + compatible = "altr,agilex5-dwc3"; + reg = <0x11000000 0x100000>; + interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&clkmgr AGILEX5_USB31_REF_CLK>, + <&clkmgr AGILEX5_USB31_SUSPEND_CLK>, + <&clkmgr AGILEX5_USB31_BUS_CLK_EARLY>; + clock-names = "ref", "suspend", "bus_early"; + phys = <&usbphy0>, <&usbphy1>; + phy-names = "usb2-phy", "usb3-phy"; + resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>; + reset-names = "dwc3", "dwc3-ecc"; + iommus = <&smmu 7>; + }; + }; -- 2.49.GIT