[PATCH 1/2] dt-bindings: usb: Add binding for onboard USB hubs

Matthias Kaehlcke
2020-09-14T18:42:55Z

Onboard USB hubs need to be powered and may require initiaization of
other resources (like GPIOs or clocks) to work properly. This adds
a device tree binding for these hubs.

Signed-off-by: Matthias Kaehlcke <mka@chromium.org>
---

.../bindings/usb/onboard_usb_hub.yaml | 70 +++++++++++++++++++
1 file changed, 70 insertions(+)
create mode 100644 Documentation/devicetree/bindings/usb/onboard_usb_hub.yaml

diff --git a/Documentation/devicetree/bindings/usb/onboard_usb_hub.yaml b/Documentation/devicetree/bindings/usb/onboard_usb_hub.yaml
new file mode 100644
index 000000000000..f82d8f459eed
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/onboard_usb_hub.yaml
@@ -0,0 +1,70 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/onboard_usb_hub.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Binding for onboard USB hubs
+
+maintainers:
+ - Matthias Kaehlcke <mka@chromium.org>
+
+allOf:
+ - $ref: /schemas/usb/onboard_usb_hub.yaml#
+
+properties:
+ compatible:
+ enum:
+ - onboard-usb-hub
+ - realtek,rts5411
+
+ power-off-in-suspend:
+ description:
+ The hub should be powered off during system suspend. When the
+ "wakeup-source" property is also provided the hub is only powered
+ off during suspend when no wakeup capable descendants are connected.
+ type: boolean
+
+ vdd-supply:
+ description:
+ phandle to the regulator that provides power to the hub.
+
+ wakeup-source:
+ description:
+ Wakeup capable USB devices connected to this hub can be used as
+ wakeup source.
+ type: boolean
+
+required:
+ - compatible
+ - vdd-supply
+
+examples:
+ - |
+ usb_hub: usb-hub {
+ compatible = "realtek,rts5411", "onboard-usb-hub";
+ vdd-supply = <&pp3300_hub>;
+ power-off-in-suspend;
+ wakeup-source;
+ };
+
+ &usb_1_dwc3 {
+ dr_mode = "host";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ /* 2.0 hub on port 1 */
+ hub@1 {
+ compatible = "usbbda,5411";
+ reg = <1>;
+ hub = <&usb_hub>;
+ };
+
+ /* 3.0 hub on port 2 */
+ hub@2 {
+ compatible = "usbbda,411";
+ reg = <2>;
+ hub = <&usb_hub>;
+ };
+
+...
--
2.28.0.618.gf4bc123cb7-goog