You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
166 lines
4.2 KiB
166 lines
4.2 KiB
# Copyright 2022 The Chromium OS Authors |
|
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
description: | |
|
A USB Type-C connector node represents a physical USB Type-C connector. |
|
It should be a child of a USB-C interface controller or a separate node |
|
when it is attached to both MUX and USB-C interface controller. |
|
|
|
This is based on Linux, documentation: |
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/connector/usb-connector.yaml?h=v5.19&id=3d7cb6b04c3f3115719235cc6866b10326de34cd |
|
|
|
Example: |
|
|
|
USB-C connector attached to a STM32 UCPD typec port controller, which has |
|
power delivery support and enables SINK. |
|
|
|
vbus1: vbus { |
|
compatible = "zephyr,usb-c-vbus-adc"; |
|
io-channels = <&adc2 8>; |
|
output-ohms = <49900>; |
|
full-ohms = <(330000 + 49900)>; |
|
}; |
|
|
|
ports { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
port1: usb-c-port@1 { |
|
compatible = "usb-c-connector"; |
|
reg = <1>; |
|
tcpc = <&ucpd1>; |
|
vbus = <&vbus1>; |
|
power-role = "SINK"; |
|
sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM) |
|
PDO_VAR(5000, 12000, 2000)>; |
|
op-sink-microwatt = <10000000>; |
|
}; |
|
}; |
|
|
|
|
|
compatible: "usb-c-connector" |
|
|
|
include: base.yaml |
|
|
|
properties: |
|
tcpc: |
|
type: phandle |
|
required: true |
|
description: | |
|
Type-C Port Controller for this port. |
|
|
|
vbus: |
|
type: phandle |
|
required: true |
|
description: | |
|
VBUS measurement and control for this port. |
|
|
|
power-role: |
|
type: string |
|
required: true |
|
enum: |
|
- "sink" |
|
- "source" |
|
- "dual" |
|
description: | |
|
The Port power role. "dual" for Dual Role Port. |
|
|
|
try-power-role: |
|
type: string |
|
enum: |
|
- "sink" |
|
- "source" |
|
- "dual" |
|
description: | |
|
Preferred power role. |
|
|
|
data-role: |
|
type: string |
|
enum: |
|
- "host" |
|
- "device" |
|
- "dual" |
|
description: | |
|
The Port data role. |
|
* "host" for Downstream Facing Port (DFP) |
|
* "device" for Upstream Facing Port (UFP) |
|
* "dual" for Dual Role Data |
|
|
|
typec-power-opmode: |
|
type: string |
|
enum: |
|
- "default" |
|
- "1.5A" |
|
- "3.0A" |
|
description: | |
|
Initial Type C advertised power, determined by the Rp when |
|
operating as a Source. |
|
* "default" corresponds to default USB voltage and current |
|
defined by the USB 2.0 and USB 3.2 specifications. |
|
* 5V@500mA for USB 2.0 |
|
* 5V@900mA for USB 3.2 single-lane |
|
* 5V@1500mA for USB 3.2 dual-lane |
|
* "1.5A" and "3.0A", 5V@1.5A and 5V@3.0A. |
|
|
|
pd-disable: |
|
type: boolean |
|
description: | |
|
Disables power delivery when true |
|
|
|
source-pdos: |
|
type: array |
|
description: | |
|
An array of source Power Data Objects (PDOs). |
|
Use tht following macros to define the PDOs, defined in |
|
dt-bindings/usb-c/pd.h. |
|
* PDO_FIXED |
|
* PDO_BATT |
|
* PDO_VAR |
|
* PDO_PPS_APDO |
|
Valid range: 1 - 7 |
|
|
|
sink-pdos: |
|
type: array |
|
description: | |
|
An array of sink Power Data Objects (PDOs). |
|
Use tht following macros to define the PDOs, defined in |
|
dt-bindings/usb-c/pd.h. |
|
* PDO_FIXED |
|
* PDO_BATT |
|
* PDO_VAR |
|
* PDO_PPS_APDO |
|
Valid range: 1 - 7 |
|
|
|
sink-vdos: |
|
type: array |
|
description: | |
|
An array of sink Vendor Defined Objects (VDOs). |
|
Use tht following macros to define the VDOs, defined in |
|
dt-bindings/usb-c/pd.h. |
|
* VDO_IDH |
|
* VDO_CERT |
|
* VDO_PRODUCT |
|
* VDO_UFP |
|
* VDO_DFP |
|
* VDO_PCABLE |
|
* VDO_ACABLE |
|
* VDO_VPD |
|
Valid range: 3 - 6 |
|
|
|
sink-vdos-v1: |
|
type: array |
|
description: | |
|
An array of sink Vendor Defined Objects (VDOs). |
|
Use tht following macros to define the VDOs, defined in |
|
dt-bindings/usb-c/pd.h. |
|
* VDO_IDH |
|
* VDO_CERT |
|
* VDO_PRODUCT |
|
* VDO_CABLE |
|
* VDO_AMA |
|
Valid range: 3 - 6 |
|
|
|
op-sink-microwatt: |
|
type: int |
|
description: | |
|
Minimum power, in microwatts, needed by the sink. A Capability |
|
Mismatch is sent to the Source if the power can't be met.
|
|
|