Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: usb: Add binding for PS5511 hub controller

Parade PS5511 is USB hub with 4 USB 3.2 compliant 5Gbps downstream(DS)
ports, and 1 extra USB 2.0 downstream port. The hub has one reset pin
control and two power supplies (3V3 and 1V1).

Signed-off-by: Pin-yen Lin <treapking@chromium.org>
Reviewed-by: "Rob Herring (Arm)" <robh@kernel.org>
Link: https://lore.kernel.org/r/20250422082957.2058229-3-treapking@chromium.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Pin-yen Lin and committed by
Greg Kroah-Hartman
fc259b02 7fcdfaf3

+108
+108
Documentation/devicetree/bindings/usb/parade,ps5511.yaml
··· 1 + # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2 + %YAML 1.2 3 + --- 4 + $id: http://devicetree.org/schemas/usb/parade,ps5511.yaml# 5 + $schema: http://devicetree.org/meta-schemas/core.yaml# 6 + 7 + title: Parade PS5511 4+1 Port USB 3.2 Gen 1 Hub Controller 8 + 9 + maintainers: 10 + - Pin-yen Lin <treapking@chromium.org> 11 + 12 + properties: 13 + compatible: 14 + enum: 15 + - usb1da0,5511 16 + - usb1da0,55a1 17 + 18 + reset-gpios: 19 + items: 20 + - description: GPIO specifier for RESETB pin. 21 + 22 + vddd11-supply: 23 + description: 24 + 1V1 power supply to the hub 25 + 26 + vdd33-supply: 27 + description: 28 + 3V3 power supply to the hub 29 + 30 + peer-hub: true 31 + 32 + ports: 33 + $ref: /schemas/graph.yaml#/properties/ports 34 + 35 + patternProperties: 36 + '^port@': 37 + $ref: /schemas/graph.yaml#/properties/port 38 + 39 + properties: 40 + reg: 41 + minimum: 1 42 + maximum: 5 43 + 44 + additionalProperties: 45 + properties: 46 + reg: 47 + minimum: 1 48 + maximum: 5 49 + 50 + required: 51 + - peer-hub 52 + 53 + allOf: 54 + - $ref: usb-hub.yaml# 55 + - if: 56 + not: 57 + properties: 58 + compatible: 59 + enum: 60 + - usb1da0,55a1 61 + then: 62 + properties: 63 + ports: 64 + properties: 65 + port@5: false 66 + 67 + patternProperties: 68 + '^.*@5$': false 69 + 70 + examples: 71 + - | 72 + usb { 73 + #address-cells = <1>; 74 + #size-cells = <0>; 75 + 76 + /* 2.0 hub on port 1 */ 77 + hub_2_0: hub@1 { 78 + compatible = "usb1da0,55a1"; 79 + reg = <1>; 80 + peer-hub = <&hub_3_0>; 81 + #address-cells = <1>; 82 + #size-cells = <0>; 83 + /* USB 2.0 device on port 5 */ 84 + device@5 { 85 + reg = <5>; 86 + compatible = "usb123,4567"; 87 + }; 88 + }; 89 + 90 + /* 3.0 hub on port 2 */ 91 + hub_3_0: hub@2 { 92 + compatible = "usb1da0,5511"; 93 + reg = <2>; 94 + peer-hub = <&hub_2_0>; 95 + 96 + ports { 97 + #address-cells = <1>; 98 + #size-cells = <0>; 99 + /* Type-A connector on port 3 */ 100 + port@3 { 101 + reg = <3>; 102 + endpoint { 103 + remote-endpoint = <&usb_a0_ss>; 104 + }; 105 + }; 106 + }; 107 + }; 108 + };