summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/usb/usb-switch.yaml
blob: da76118e73a53c0e1c255ff115ff959d256816ba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/usb-switch.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: USB Orientation and Mode Switches Common Properties

maintainers:
  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>

description:
  Common properties for devices handling USB mode and orientation switching.

properties:
  mode-switch:
    description: Possible handler of altmode switching
    type: boolean

  orientation-switch:
    description: Possible handler of orientation switching
    type: boolean

  retimer-switch:
    description: Possible handler of SuperSpeed signals retiming
    type: boolean

  port:
    $ref: /schemas/graph.yaml#/properties/port
    description:
      A port node to link the device to a TypeC controller for the purpose of
      handling altmode muxing and orientation switching.

  ports:
    $ref: /schemas/graph.yaml#/properties/ports
    properties:
      port@0:
        $ref: /schemas/graph.yaml#/properties/port
        description:
          Super Speed (SS) Output endpoint to the Type-C connector

      port@1:
        $ref: /schemas/graph.yaml#/$defs/port-base
        description:
          Super Speed (SS) Input endpoint from the Super-Speed PHY
        unevaluatedProperties: false

        properties:
          endpoint:
            $ref: /schemas/graph.yaml#/$defs/endpoint-base
            unevaluatedProperties: false
            properties:
              data-lanes:
                $ref: /schemas/types.yaml#/definitions/uint32-array
                minItems: 1
                maxItems: 8
                uniqueItems: true
                items:
                  maximum: 8

oneOf:
  - required:
      - port
  - required:
      - ports

additionalProperties: true