# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/analogix,anx7411.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Analogix ANX7411 Type-C controller

maintainers:
  - Xin Ji <xji@analogixsemi.com>

properties:
  compatible:
    enum:
      - analogix,anx7411

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  connector:
    type: object
    $ref: ../connector/usb-connector.yaml
    unevaluatedProperties: false

    description:
      Properties for usb c connector.

    properties:
      compatible:
        const: usb-c-connector

      power-role: true

      data-role: true

      try-power-role: true

    required:
      - compatible

required:
  - compatible
  - reg
  - connector

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        typec@2c {
            compatible = "analogix,anx7411";
            reg = <0x2c>;
            interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
            interrupt-parent = <&gpio0>;

            typec_con: connector {
                compatible = "usb-c-connector";
                power-role = "dual";
                data-role = "dual";
                try-power-role = "source";

                ports {
                    #address-cells = <1>;
                    #size-cells = <0>;
                    port@0 {
                        reg = <0>;
                        typec_con_ep: endpoint {
                            remote-endpoint = <&usbotg_hs_ep>;
                        };
                    };
                };
            };
        };
    };
...