| # 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 <periph_clock |
| clock-frequency timing> |
| |
| 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>; |