1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/dwc3-xilinx.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Xilinx SuperSpeed DWC3 USB SoC controller 8 9maintainers: 10 - Piyush Mehta <piyush.mehta@amd.com> 11 12properties: 13 compatible: 14 items: 15 - enum: 16 - xlnx,zynqmp-dwc3 17 - xlnx,versal-dwc3 18 reg: 19 maxItems: 1 20 21 "#address-cells": 22 enum: [ 1, 2 ] 23 24 "#size-cells": 25 enum: [ 1, 2 ] 26 27 ranges: true 28 29 power-domains: 30 description: specifies a phandle to PM domain provider node 31 maxItems: 1 32 33 clocks: 34 description: 35 A list of phandle and clock-specifier pairs for the clocks 36 listed in clock-names. 37 items: 38 - description: Master/Core clock, has to be >= 125 MHz 39 for SS operation and >= 60MHz for HS operation. 40 - description: Clock source to core during PHY power down. 41 42 clock-names: 43 items: 44 - const: bus_clk 45 - const: ref_clk 46 47 resets: 48 description: 49 A list of phandles for resets listed in reset-names. 50 51 items: 52 - description: USB core reset 53 - description: USB hibernation reset 54 - description: USB APB reset 55 56 reset-names: 57 items: 58 - const: usb_crst 59 - const: usb_hibrst 60 - const: usb_apbrst 61 62 phys: 63 minItems: 1 64 maxItems: 2 65 66 phy-names: 67 minItems: 1 68 maxItems: 2 69 items: 70 enum: 71 - usb2-phy 72 - usb3-phy 73 74 reset-gpios: 75 description: GPIO used for the reset ulpi-phy 76 maxItems: 1 77 78# Required child node: 79 80patternProperties: 81 "^usb@[0-9a-f]+$": 82 $ref: snps,dwc3.yaml# 83 84required: 85 - compatible 86 - reg 87 - "#address-cells" 88 - "#size-cells" 89 - ranges 90 - power-domains 91 - clocks 92 - clock-names 93 - resets 94 - reset-names 95 96additionalProperties: false 97 98examples: 99 - | 100 #include <dt-bindings/dma/xlnx-zynqmp-dpdma.h> 101 #include <dt-bindings/power/xlnx-zynqmp-power.h> 102 #include <dt-bindings/reset/xlnx-zynqmp-resets.h> 103 #include <dt-bindings/clock/xlnx-zynqmp-clk.h> 104 #include <dt-bindings/reset/xlnx-zynqmp-resets.h> 105 #include <dt-bindings/phy/phy.h> 106 axi { 107 #address-cells = <2>; 108 #size-cells = <2>; 109 110 usb@0 { 111 #address-cells = <0x2>; 112 #size-cells = <0x2>; 113 compatible = "xlnx,zynqmp-dwc3"; 114 reg = <0x0 0xff9d0000 0x0 0x100>; 115 clocks = <&zynqmp_clk USB0_BUS_REF>, <&zynqmp_clk USB3_DUAL_REF>; 116 clock-names = "bus_clk", "ref_clk"; 117 power-domains = <&zynqmp_firmware PD_USB_0>; 118 resets = <&zynqmp_reset ZYNQMP_RESET_USB1_CORERESET>, 119 <&zynqmp_reset ZYNQMP_RESET_USB1_HIBERRESET>, 120 <&zynqmp_reset ZYNQMP_RESET_USB1_APB>; 121 reset-names = "usb_crst", "usb_hibrst", "usb_apbrst"; 122 phys = <&psgtr 2 PHY_TYPE_USB3 0 2>; 123 phy-names = "usb3-phy"; 124 ranges; 125 126 usb@fe200000 { 127 compatible = "snps,dwc3"; 128 reg = <0x0 0xfe200000 0x0 0x40000>; 129 interrupt-names = "host", "otg"; 130 interrupts = <0 65 4>, <0 69 4>; 131 dr_mode = "host"; 132 dma-coherent; 133 }; 134 }; 135 }; 136