xref: /freebsd/sys/contrib/device-tree/Bindings/usb/nxp,ptn5110.yaml (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2fac71e4eSEmmanuel Vadot%YAML 1.2
3fac71e4eSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/nxp,ptn5110.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6fac71e4eSEmmanuel Vadot
78d13bc63SEmmanuel Vadottitle: NXP PTN5110 Type-C Port Controller
8fac71e4eSEmmanuel Vadot
9fac71e4eSEmmanuel Vadotmaintainers:
10fac71e4eSEmmanuel Vadot  - Li Jun <jun.li@nxp.com>
11fac71e4eSEmmanuel Vadot
12fac71e4eSEmmanuel Vadotproperties:
13fac71e4eSEmmanuel Vadot  compatible:
14*01950c46SEmmanuel Vadot    items:
15*01950c46SEmmanuel Vadot      - const: nxp,ptn5110
16*01950c46SEmmanuel Vadot      - const: tcpci
17fac71e4eSEmmanuel Vadot
18fac71e4eSEmmanuel Vadot  reg:
19fac71e4eSEmmanuel Vadot    maxItems: 1
20fac71e4eSEmmanuel Vadot
21fac71e4eSEmmanuel Vadot  interrupts:
22fac71e4eSEmmanuel Vadot    maxItems: 1
23fac71e4eSEmmanuel Vadot
24fac71e4eSEmmanuel Vadot  connector:
25fac71e4eSEmmanuel Vadot    type: object
26fac71e4eSEmmanuel Vadot    $ref: /schemas/connector/usb-connector.yaml#
27fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
28fac71e4eSEmmanuel Vadot
29fac71e4eSEmmanuel Vadotrequired:
30fac71e4eSEmmanuel Vadot  - compatible
31fac71e4eSEmmanuel Vadot  - reg
32fac71e4eSEmmanuel Vadot  - interrupts
33fac71e4eSEmmanuel Vadot  - connector
34fac71e4eSEmmanuel Vadot
35fac71e4eSEmmanuel VadotadditionalProperties: false
36fac71e4eSEmmanuel Vadot
37fac71e4eSEmmanuel Vadotexamples:
38fac71e4eSEmmanuel Vadot  - |
39fac71e4eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
40fac71e4eSEmmanuel Vadot    #include <dt-bindings/usb/pd.h>
41fac71e4eSEmmanuel Vadot    i2c {
42fac71e4eSEmmanuel Vadot        #address-cells = <1>;
43fac71e4eSEmmanuel Vadot        #size-cells = <0>;
44fac71e4eSEmmanuel Vadot
45fac71e4eSEmmanuel Vadot        tcpci@50 {
46*01950c46SEmmanuel Vadot            compatible = "nxp,ptn5110", "tcpci";
47fac71e4eSEmmanuel Vadot            reg = <0x50>;
48fac71e4eSEmmanuel Vadot            interrupt-parent = <&gpio3>;
49fac71e4eSEmmanuel Vadot            interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
50fac71e4eSEmmanuel Vadot
51fac71e4eSEmmanuel Vadot            usb_con: connector {
52fac71e4eSEmmanuel Vadot                compatible = "usb-c-connector";
53fac71e4eSEmmanuel Vadot                label = "USB-C";
54fac71e4eSEmmanuel Vadot                data-role = "dual";
55fac71e4eSEmmanuel Vadot                power-role = "dual";
56fac71e4eSEmmanuel Vadot                try-power-role = "sink";
57fac71e4eSEmmanuel Vadot                source-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM)>;
58fac71e4eSEmmanuel Vadot                sink-pdos = <PDO_FIXED(5000, 2000, PDO_FIXED_USB_COMM) PDO_VAR(5000, 12000, 2000)>;
59fac71e4eSEmmanuel Vadot                op-sink-microwatt = <10000000>;
60fac71e4eSEmmanuel Vadot
61fac71e4eSEmmanuel Vadot                ports {
62fac71e4eSEmmanuel Vadot                    #address-cells = <1>;
63fac71e4eSEmmanuel Vadot                    #size-cells = <0>;
64fac71e4eSEmmanuel Vadot
65fac71e4eSEmmanuel Vadot                    port@0 {
66fac71e4eSEmmanuel Vadot                       reg = <0>;
67fac71e4eSEmmanuel Vadot                       typec1_dr_sw: endpoint {
68fac71e4eSEmmanuel Vadot                           remote-endpoint = <&usb1_drd_sw>;
69fac71e4eSEmmanuel Vadot                       };
70fac71e4eSEmmanuel Vadot                    };
71fac71e4eSEmmanuel Vadot                };
72fac71e4eSEmmanuel Vadot            };
73fac71e4eSEmmanuel Vadot        };
74fac71e4eSEmmanuel Vadot    };
75