blob: da76118e73a53c0e1c255ff115ff959d256816ba [file] [log] [blame]
Tom Rini6bb92fc2024-05-20 09:54:58 -06001# 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