summaryrefslogtreecommitdiff
path: root/zephyr/dts/bindings/usbc/mux/cros-ec,usbc-mux-tcpci.yaml
blob: 9b986a59422f47c198d0bb386e38258de8bddf08 (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
68
69
# Copyright 2022 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

description: USBC TCPC USB MUX

include: cros-ec,usbc-mux.yaml

compatible: "cros-ec,usbc-mux-tcpci"

properties:
  hpd-update:
    type: string
    required: false
    description: |
      Name of function used as hpd_update callback
    enum:
      - ps8xxx_tcpc_update_hpd_status

  port:
    type: phandle
    required: false
    description: |
      If the TCPC in your design is used to manage both the power-delivery
      interface and configure the mux for the USB superspeed signals, this
      property, and the i2c-addr-flags should be omitted. The driver uses
      the I2C configuration specified in the corresponding TCPC node.

      Example below

      port0@0 {
          compatible = "named-usbc-port";
          reg = <0>;
          tcpc {
              compatible = "parade,ps8xxx";
              status = "okay";
              port = <&i2c_tcpc0>;
              i2c-addr-flags = "PS8XXX_I2C_ADDR1_FLAGS";
          };
          usb-muxes = <&usb_mux_0>;
      };
      usb_mux_0 usb-mux-0 {
          compatible = "parade,usbc-mux-ps8xxx";
          /* I2C configuration provide by TCPC node */
      };

      If the TCPC in your design only configures the USB superspeed signals,
      for instance when the EC chip contains an embedded TCPC controller,
      then port and i2c-addr-flags are required.

      port0@0 {
          compatible = "named-usbc-port";
          reg = <0>;
          tcpc {
              compatible = "ite,it8xxx2-tcpc";
          };
      };
      usb_mux_0 usb-mux-0 {
          compatible = "parade,usbc-mux-ps8xxx";
          port = <i2c_usbc0>;
          i2c-addr-flags = "PS8XXX_I2C_ADDR1_FLAGS";
      };

  i2c-addr-flags:
    type: int
    required: false
    description: |
      I2C address of chip. If provided, port property has to be present too.
      Please check description of port property for more information.