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.
|