starfive,jh7110-usb.yaml 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/usb/starfive,jh7110-usb.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: StarFive JH7110 wrapper module for the Cadence USBSS-DRD controller
  7. maintainers:
  8. - Minda Chen <minda.chen@starfivetech.com>
  9. properties:
  10. compatible:
  11. const: starfive,jh7110-usb
  12. ranges: true
  13. starfive,stg-syscon:
  14. $ref: /schemas/types.yaml#/definitions/phandle-array
  15. items:
  16. - items:
  17. - description: phandle to System Register Controller stg_syscon node.
  18. - description: dr mode register offset of STG_SYSCONSAIF__SYSCFG register for USB.
  19. description:
  20. The phandle to System Register Controller syscon node and the offset
  21. of STG_SYSCONSAIF__SYSCFG register for USB.
  22. dr_mode:
  23. enum: [host, otg, peripheral]
  24. "#address-cells":
  25. enum: [1, 2]
  26. "#size-cells":
  27. enum: [1, 2]
  28. clocks:
  29. items:
  30. - description: link power management clock
  31. - description: standby clock
  32. - description: APB clock
  33. - description: AXI clock
  34. - description: UTMI APB clock
  35. clock-names:
  36. items:
  37. - const: lpm
  38. - const: stb
  39. - const: apb
  40. - const: axi
  41. - const: utmi_apb
  42. resets:
  43. items:
  44. - description: Power up reset
  45. - description: APB clock reset
  46. - description: AXI clock reset
  47. - description: UTMI APB clock reset
  48. reset-names:
  49. items:
  50. - const: pwrup
  51. - const: apb
  52. - const: axi
  53. - const: utmi_apb
  54. patternProperties:
  55. "^usb@[0-9a-f]+$":
  56. $ref: cdns,usb3.yaml#
  57. description: Required child node
  58. required:
  59. - compatible
  60. - ranges
  61. - starfive,stg-syscon
  62. - '#address-cells'
  63. - '#size-cells'
  64. - dr_mode
  65. - clocks
  66. - resets
  67. additionalProperties: false
  68. examples:
  69. - |
  70. usb@10100000 {
  71. compatible = "starfive,jh7110-usb";
  72. ranges = <0x0 0x10100000 0x100000>;
  73. #address-cells = <1>;
  74. #size-cells = <1>;
  75. starfive,stg-syscon = <&stg_syscon 0x4>;
  76. clocks = <&syscrg 4>,
  77. <&stgcrg 5>,
  78. <&stgcrg 1>,
  79. <&stgcrg 3>,
  80. <&stgcrg 2>;
  81. clock-names = "lpm", "stb", "apb", "axi", "utmi_apb";
  82. resets = <&stgcrg 10>,
  83. <&stgcrg 8>,
  84. <&stgcrg 7>,
  85. <&stgcrg 9>;
  86. reset-names = "pwrup", "apb", "axi", "utmi_apb";
  87. dr_mode = "host";
  88. usb@0 {
  89. compatible = "cdns,usb3";
  90. reg = <0x0 0x10000>,
  91. <0x10000 0x10000>,
  92. <0x20000 0x10000>;
  93. reg-names = "otg", "xhci", "dev";
  94. interrupts = <100>, <108>, <110>;
  95. interrupt-names = "host", "peripheral", "otg";
  96. maximum-speed = "super-speed";
  97. };
  98. };