xref: /freebsd/sys/contrib/device-tree/Bindings/usb/analogix,anx7411.yaml (revision 058ac3e8063366dafa634d9107642e12b038bf09)
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/analogix,anx7411.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analogix ANX7411 Type-C controller bindings
8
9maintainers:
10  - Xin Ji <xji@analogixsemi.com>
11
12properties:
13  compatible:
14    enum:
15      - analogix,anx7411
16
17  reg:
18    maxItems: 1
19
20  interrupts:
21    maxItems: 1
22
23  connector:
24    type: object
25    $ref: ../connector/usb-connector.yaml
26    description:
27      Properties for usb c connector.
28
29    properties:
30      compatible:
31        const: usb-c-connector
32
33      power-role: true
34
35      data-role: true
36
37      try-power-role: true
38
39    required:
40      - compatible
41
42required:
43  - compatible
44  - reg
45  - connector
46
47additionalProperties: false
48
49examples:
50  - |
51    #include <dt-bindings/interrupt-controller/irq.h>
52    i2c {
53        #address-cells = <1>;
54        #size-cells = <0>;
55
56        typec@2c {
57            compatible = "analogix,anx7411";
58            reg = <0x2c>;
59            interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
60            interrupt-parent = <&gpio0>;
61
62            typec_con: connector {
63                compatible = "usb-c-connector";
64                power-role = "dual";
65                data-role = "dual";
66                try-power-role = "source";
67
68                ports {
69                    #address-cells = <1>;
70                    #size-cells = <0>;
71                    port@0 {
72                        reg = <0>;
73                        typec_con_ep: endpoint {
74                            remote-endpoint = <&usbotg_hs_ep>;
75                        };
76                    };
77                };
78            };
79        };
80    };
81...
82