renesas,rcar-gen2-usb-phy.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/phy/renesas,rcar-gen2-usb-phy.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Renesas R-Car Gen2 USB PHY
  7. maintainers:
  8. - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  9. properties:
  10. compatible:
  11. items:
  12. - enum:
  13. - renesas,usb-phy-r8a7742 # RZ/G1H
  14. - renesas,usb-phy-r8a7743 # RZ/G1M
  15. - renesas,usb-phy-r8a7744 # RZ/G1N
  16. - renesas,usb-phy-r8a7745 # RZ/G1E
  17. - renesas,usb-phy-r8a77470 # RZ/G1C
  18. - renesas,usb-phy-r8a7790 # R-Car H2
  19. - renesas,usb-phy-r8a7791 # R-Car M2-W
  20. - renesas,usb-phy-r8a7794 # R-Car E2
  21. - const: renesas,rcar-gen2-usb-phy # R-Car Gen2 or RZ/G1
  22. reg:
  23. maxItems: 1
  24. '#address-cells':
  25. const: 1
  26. '#size-cells':
  27. const: 0
  28. clocks:
  29. maxItems: 1
  30. clock-names:
  31. items:
  32. - const: usbhs
  33. power-domains:
  34. maxItems: 1
  35. resets:
  36. maxItems: 1
  37. patternProperties:
  38. "^usb-phy@[02]$":
  39. type: object
  40. description: Subnode corresponding to a USB channel.
  41. properties:
  42. reg:
  43. description: FIXME RZ/G1C supports channel 0 only
  44. enum: [0, 2]
  45. '#phy-cells':
  46. description: |
  47. The phandle's argument in the PHY specifier is the USB controller
  48. selector for the USB channel.
  49. For RZ/G1C:
  50. - 0 for EHCI/OHCI
  51. - 1 for HS-USB
  52. For all other SoCS:
  53. - 0 for PCI EHCI/OHCI
  54. - 1 for HS-USB (channel 0) or xHCI (channel 2)
  55. const: 1
  56. required:
  57. - reg
  58. - '#phy-cells'
  59. additionalProperties: false
  60. required:
  61. - compatible
  62. - reg
  63. - '#address-cells'
  64. - '#size-cells'
  65. - clocks
  66. - clock-names
  67. - resets
  68. - power-domains
  69. - usb-phy@0
  70. if:
  71. properties:
  72. compatible:
  73. contains:
  74. const: renesas,usb-phy-r8a77470
  75. then:
  76. properties:
  77. usb-phy@2: false
  78. else:
  79. required:
  80. - usb-phy@2
  81. additionalProperties: false
  82. examples:
  83. - |
  84. #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
  85. #include <dt-bindings/power/r8a7790-sysc.h>
  86. usb-phy-controller@e6590100 {
  87. compatible = "renesas,usb-phy-r8a7790", "renesas,rcar-gen2-usb-phy";
  88. reg = <0xe6590100 0x100>;
  89. #address-cells = <1>;
  90. #size-cells = <0>;
  91. clocks = <&cpg CPG_MOD 704>;
  92. clock-names = "usbhs";
  93. power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
  94. resets = <&cpg 704>;
  95. usb0: usb-phy@0 {
  96. reg = <0>;
  97. #phy-cells = <1>;
  98. };
  99. usb2: usb-phy@2 {
  100. reg = <2>;
  101. #phy-cells = <1>;
  102. };
  103. };