1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/extcon/extcon-ptn5150.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: PTN5150 CC (Configuration Channel) Logic device
8
9maintainers:
10  - Krzysztof Kozlowski <krzk@kernel.org>
11
12description: |
13  PTN5150 is a small thin low power CC logic chip supporting the USB Type-C
14  connector application with CC control logic detection and indication
15  functions.  It is interfaced to the host controller using an I2C interface.
16
17properties:
18  compatible:
19    const: nxp,ptn5150
20
21  int-gpios:
22    maxItems: 1
23    deprecated: true
24    description:
25      GPIO pin (input) connected to the PTN5150's INTB pin.
26      Use "interrupts" instead.
27
28  interrupts:
29    maxItems: 1
30
31  reg:
32    maxItems: 1
33
34  vbus-gpios:
35    maxItems: 1
36    description:
37      GPIO pin (output) used to control VBUS. If skipped, no such control
38      takes place.
39
40  port:
41    $ref: /schemas/graph.yaml#/properties/port
42    description:
43      A port node to link the usb controller for the dual role switch.
44
45required:
46  - compatible
47  - interrupts
48  - reg
49
50additionalProperties: false
51
52examples:
53  - |
54    #include <dt-bindings/gpio/gpio.h>
55    #include <dt-bindings/interrupt-controller/irq.h>
56    i2c {
57        #address-cells = <1>;
58        #size-cells = <0>;
59
60        ptn5150@1d {
61            compatible = "nxp,ptn5150";
62            reg = <0x1d>;
63            interrupt-parent = <&msmgpio>;
64            interrupts = <78 IRQ_TYPE_LEVEL_HIGH>;
65            vbus-gpios = <&msmgpio 148 GPIO_ACTIVE_HIGH>;
66
67            port {
68                endpoint {
69                    remote-endpoint = <&usb1_drd_sw>;
70                };
71            };
72        };
73    };
74