# Copyright (c) 2019 Mohamed ElShahawi (ExtremeGTX@hotmail.com)
# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

description: ESP32 I2C

compatible: "espressif,esp32-i2c"

include: [i2c-controller.yaml, pinctrl-device.yaml]

properties:
    reg:
      required: true

    pinctrl-0:
      required: true

    pinctrl-names:
      required: true

    scl-gpios:
      type: phandle-array
      description: |
        GPIO to which the I2C SCL signal is routed. This is only required
        if the target SoC does not have support in hardware for clearing
        the I2C bus in case of a communication failure

    sda-gpios:
      type: phandle-array
      description: |
        GPIO to which the I2C SDA signal is routed. This is only required
        if the target SoC does not have support in hardware for clearing
        the I2C bus in case of a communication failure

    tx-lsb:
      type: boolean
      description: Set I2C TX data as LSB

    rx-lsb:
      type: boolean
      description: Set I2C RX data as LSB

    scl-timeout-us:
      type: int
      description: |
        Timeout for unchanged SCL during clock stretching of the I2C target in
        microseconds.

        If not set or 0, the timeout is disabled or set to the maximum possible
        value if the MCU does not support disabling the timeout.
