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