|  | # 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. |