mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
The Type-C chip know the cable orientation and then normally will set the switch channel to correctly configure the data path. Some chips itself support to output the control signal by indicating the capability in bit[0] of STANDARD_OUTPUT_CAPABILITIES register and do it in CONFIG_STANDARD_OUTPUT register. For PTN5110 which doesn't present this capability currently there is no way to achieve the orientation setting. Add an optional "orientation-gpios" property to achieve the same purpose. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Xu Yang <xu.yang_2@nxp.com> Link: https://patch.msgid.link/20260319-support-setting-orientation-use-gpio-v4-1-ab6dfa8610c2@nxp.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
79 lines
1.9 KiB
YAML
79 lines
1.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/usb/nxp,ptn5110.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: NXP PTN5110 Type-C Port Controller
|
|
|
|
maintainers:
|
|
- Li Jun <jun.li@nxp.com>
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- const: nxp,ptn5110
|
|
- const: tcpci
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
connector:
|
|
type: object
|
|
$ref: /schemas/connector/usb-connector.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
orientation-gpios:
|
|
maxItems: 1
|
|
description: Optional orientation select control
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- connector
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/usb/pd.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
tcpci@50 {
|
|
compatible = "nxp,ptn5110", "tcpci";
|
|
reg = <0x50>;
|
|
interrupt-parent = <&gpio3>;
|
|
interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
|
|
|
|
usb_con: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C";
|
|
data-role = "dual";
|
|
power-role = "dual";
|
|
try-power-role = "sink";
|
|
source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
|
|
sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM) PDO_VAR(5000, 12000, 2000)>;
|
|
op-sink-microwatt = <10000000>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
typec1_dr_sw: endpoint {
|
|
remote-endpoint = <&usb1_drd_sw>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|