# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# Copyright 2023 Realtek Semiconductor Corporation
%YAML 1.2
---
$id: http://devicetree.org/schemas/usb/realtek,rtd-type-c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Realtek DHC RTD SoCs USB Type-C Connector detection

maintainers:
  - Stanley Chang <stanley_chang@realtek.com>

description:
  Realtek digital home center (DHC) RTD series SoCs include a type c module.
  This module is able to detect the state of type c connector.

properties:
  compatible:
    enum:
      - realtek,rtd1295-type-c
      - realtek,rtd1312c-type-c
      - realtek,rtd1315e-type-c
      - realtek,rtd1319-type-c
      - realtek,rtd1319d-type-c
      - realtek,rtd1395-type-c
      - realtek,rtd1619-type-c
      - realtek,rtd1619b-type-c

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  nvmem-cell-names:
    items:
      - const: usb-cal

  nvmem-cells:
    maxItems: 1
    description:
      The phandle to nvmem cell that contains the trimming data.
      The type c parameter trimming data specified via efuse.
      If unspecified, default value is used.

  realtek,rd-ctrl-gpios:
    description: The gpio node to control external Rd on board.
    maxItems: 1

  connector:
    $ref: /schemas/connector/usb-connector.yaml#
    description: Properties for usb c connector.
    type: object

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    type-c@7220 {
        compatible = "realtek,rtd1619b-type-c";
        reg = <0x7220 0x20>;
        interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;

        pinctrl-names = "default";
        pinctrl-0 = <&usb_cc1_pins>, <&usb_cc2_pins>;
        nvmem-cells = <&otp_usb_cal>;
        nvmem-cell-names = "usb-cal";

        connector {
            compatible = "usb-c-connector";
            label = "USB-C";
            data-role = "dual";
            power-role = "dual";
        };
    };
