xref: /linux/Documentation/devicetree/bindings/usb/usb-switch-ports.yaml (revision 0e50474fa514822e9d990874e554bf8043a201d7)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/usb-switch-ports.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: USB Orientation and Mode Switches Ports Graph Properties
8
9maintainers:
10  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12description:
13  Ports Graph properties for devices handling USB mode and orientation switching.
14
15properties:
16  port:
17    $ref: /schemas/graph.yaml#/$defs/port-base
18    description:
19      A port node to link the device to a TypeC controller for the purpose of
20      handling altmode muxing and orientation switching.
21
22    properties:
23      endpoint:
24        $ref: /schemas/graph.yaml#/$defs/endpoint-base
25        unevaluatedProperties: false
26        properties:
27          data-lanes:
28            $ref: /schemas/types.yaml#/definitions/uint32-array
29            minItems: 1
30            maxItems: 8
31            uniqueItems: true
32            items:
33              maximum: 8
34
35  ports:
36    $ref: /schemas/graph.yaml#/properties/ports
37    properties:
38      port@0:
39        $ref: /schemas/graph.yaml#/properties/port
40        description:
41          Super Speed (SS) Output endpoint to the Type-C connector
42
43      port@1:
44        $ref: /schemas/graph.yaml#/$defs/port-base
45        description:
46          Super Speed (SS) Input endpoint from the Super-Speed PHY
47        unevaluatedProperties: false
48
49        properties:
50          endpoint:
51            $ref: /schemas/graph.yaml#/$defs/endpoint-base
52            unevaluatedProperties: false
53            properties:
54              data-lanes:
55                $ref: /schemas/types.yaml#/definitions/uint32-array
56                minItems: 1
57                maxItems: 8
58                uniqueItems: true
59                items:
60                  maximum: 8
61
62oneOf:
63  - required:
64      - port
65  - required:
66      - ports
67
68additionalProperties: true
69