# Copyright (c) 2017 I-SENSE group of ICCS # SPDX-License-Identifier: Apache-2.0 description: STM32 I2C V2 controller compatible: "st,stm32-i2c-v2" include: [i2c-controller.yaml, pinctrl-device.yaml] properties: reg: required: true interrupts: required: true pinctrl-0: required: true pinctrl-names: required: true timings: type: array description: | An optional table of pre-computed i2c timing values with the matching clock configuration. Precise timings values for a given Hardware can be pre-computed with a tool like STM32CubeMX or directly from I2C_TIMINGR register description. Because timing value is valid for a given I2C peripheral clock frequency and target I2C bus clock, each timing value must be provided with the matching configuration. The resulting table entries should look like For example timings could be defined as timings = <64000000 I2C_BITRATE_STANDARD 0x10707DBC>, <64000000 I2C_BITRATE_FAST 0x00603D56>, <56000000 I2C_BITRATE_STANDARD 0x10606DA4>, <56000000 I2C_BITRATE_FAST 0x00501D63>; scl-gpios: type: phandle-array description: | GPIO to which the I2C SCL signal is routed. This is only needed for I2C bus recovery support. sda-gpios: type: phandle-array description: | GPIO to which the I2C SDA signal is routed. This is only needed for I2C bus recovery support.