172 lines
4.3 KiB
YAML
172 lines
4.3 KiB
YAML
# 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.
|
|
|
|
ppc:
|
|
type: phandle
|
|
description: |
|
|
Power path controller 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 the 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 the 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 the 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 the 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.
|