# 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

    interrupts:
      required: false

    pinctrl-0:
      required: true

    pinctrl-names:
      required: true

    sda-pin:
      type: int
      required: false
      description: |
        SDA pin information is only required if
        the target SoC does not have support in
        hardware for clearing the I2C bus in case
        of communication failure

    scl-pin:
      type: int
      required: false
      description: |
        SCL pin information is only required if
        the target SoC does not have support in
        hardware for clearing the I2C bus in case
        of communication failure

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

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