microchip,usb5744.yaml 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/usb/microchip,usb5744.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Microchip USB5744 4-port Hub Controller
  7. description:
  8. Microchip's USB5744 SmartHubTM IC is a 4 port, SuperSpeed (SS)/Hi-Speed (HS),
  9. low power, low pin count configurable and fully compliant with the USB 3.1
  10. Gen 1 specification. The USB5744 also supports Full Speed (FS) and Low Speed
  11. (LS) USB signaling, offering complete coverage of all defined USB operating
  12. speeds. The new SuperSpeed hubs operate in parallel with the USB 2.0
  13. controller, so 5 Gbps SuperSpeed data transfers are not affected by slower
  14. USB 2.0 traffic.
  15. maintainers:
  16. - Michal Simek <michal.simek@amd.com>
  17. - Mubin Sayyed <mubin.sayyed@amd.com>
  18. - Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  19. properties:
  20. compatible:
  21. enum:
  22. - usb424,2744
  23. - usb424,5744
  24. - microchip,usb5744
  25. reg:
  26. maxItems: 1
  27. reset-gpios:
  28. maxItems: 1
  29. description:
  30. GPIO controlling the GRST# pin.
  31. vdd-supply:
  32. description:
  33. 3V3 power supply to the hub
  34. vdd2-supply:
  35. description:
  36. 1V2 power supply to the hub
  37. peer-hub:
  38. $ref: /schemas/types.yaml#/definitions/phandle
  39. description:
  40. phandle to the peer hub on the controller.
  41. i2c-bus:
  42. $ref: /schemas/types.yaml#/definitions/phandle
  43. description:
  44. phandle of an usb hub connected via i2c bus.
  45. required:
  46. - compatible
  47. - reg
  48. allOf:
  49. - if:
  50. properties:
  51. compatible:
  52. contains:
  53. const: microchip,usb5744
  54. then:
  55. properties:
  56. reset-gpios: false
  57. vdd-supply: false
  58. vdd2-supply: false
  59. peer-hub: false
  60. i2c-bus: false
  61. else:
  62. $ref: /schemas/usb/usb-device.yaml
  63. additionalProperties: false
  64. examples:
  65. - |
  66. #include <dt-bindings/gpio/gpio.h>
  67. i2c: i2c {
  68. #address-cells = <1>;
  69. #size-cells = <0>;
  70. hub: usb-hub@2d {
  71. compatible = "microchip,usb5744";
  72. reg = <0x2d>;
  73. };
  74. };
  75. usb {
  76. #address-cells = <1>;
  77. #size-cells = <0>;
  78. /* 2.0 hub on port 1 */
  79. hub_2_0: hub@1 {
  80. compatible = "usb424,2744";
  81. reg = <1>;
  82. peer-hub = <&hub_3_0>;
  83. i2c-bus = <&hub>;
  84. reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
  85. };
  86. /* 3.0 hub on port 2 */
  87. hub_3_0: hub@2 {
  88. compatible = "usb424,5744";
  89. reg = <2>;
  90. peer-hub = <&hub_2_0>;
  91. i2c-bus = <&hub>;
  92. reset-gpios = <&gpio 3 GPIO_ACTIVE_LOW>;
  93. };
  94. };