diff options
author | Codrin Ciubotariu <codrin.ciubotariu@microchip.com> | 2020-08-04 12:59:24 +0300 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-08-05 11:52:27 +0200 |
commit | 75820314de26b00aaea0d0e79269c0d17914c5c4 (patch) | |
tree | 95465e05785b86ace95b5dc94cec2c43ee92db24 /fs | |
parent | db36e827d8762eaa6aacd2c918a55ac487aa2501 (diff) |
i2c: core: add generic I2C GPIO recovery
Multiple I2C bus drivers use similar bindings to obtain information needed
for I2C recovery. For example, for platforms using device-tree, the
properties look something like this:
&i2c {
...
pinctrl-names = "default", "gpio";
pinctrl-0 = <&pinctrl_i2c_default>;
pinctrl-1 = <&pinctrl_i2c_gpio>;
sda-gpios = <&pio 0 GPIO_ACTIVE_HIGH>;
scl-gpios = <&pio 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
...
}
For this reason, we can add this common initialization in the core. This
way, other I2C bus drivers will be able to support GPIO recovery just by
providing a pointer to platform's pinctrl and calling i2c_recover_bus()
when SDA is stuck low.
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
[wsa: inverted one logic for better readability, minor update to kdoc]
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'fs')
0 files changed, 0 insertions, 0 deletions