# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/extcon/extcon-usbc-cros-ec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: ChromeOS EC USB Type-C cable and accessories detection

maintainers:
  - Benson Leung <bleung@chromium.org>

description: |
  On ChromeOS systems with USB Type C ports, the ChromeOS Embedded Controller is
  able to detect the state of external accessories such as display adapters
  or USB devices when said accessories are attached or detached.
  The node for this device must be under a cros-ec node like google,cros-ec-spi
  or google,cros-ec-i2c.

properties:
  compatible:
    const: google,extcon-usbc-cros-ec

  google,usb-port-id:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: the port id
    minimum: 0
    maximum: 255

required:
  - compatible
  - google,usb-port-id

additionalProperties: false

examples:
  - |
    spi {
        #address-cells = <1>;
        #size-cells = <0>;
        cros-ec@0 {
            compatible = "google,cros-ec-spi";
            reg = <0>;
            interrupts = <44 0>;

            usbc_extcon0: extcon0 {
                compatible = "google,extcon-usbc-cros-ec";
                google,usb-port-id = <0>;
            };

            usbc_extcon1: extcon1 {
                compatible = "google,extcon-usbc-cros-ec";
                google,usb-port-id = <1>;
            };
        };
    };