dwc3-xilinx.yaml 3.2 KB

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