ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
authorDurai Manickam KR <durai.manickamkr@microchip.com>
Tue, 21 Sep 2021 06:43:44 +0000 (12:13 +0530)
committerNicolas Ferre <nicolas.ferre@microchip.com>
Tue, 21 Sep 2021 09:17:49 +0000 (11:17 +0200)
SDA and SCL is configured as GPIO for I2C bus to recover during
I2C bus malfunction.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20210921064344.889304-1-durai.manickamkr@microchip.com
arch/arm/boot/dts/at91-sama5d2_icp.dts

index e06b587..806eb1d 100644 (file)
 };
 
 &i2c0 { /* mikrobus i2c */
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_mikrobus_i2c>;
+       pinctrl-1 = <&pinctrl_i2c0_gpio>;
+       sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        i2c-digital-filter;
        i2c-digital-filter-width-ns = <35>;
        status = "okay";
 
 &i2c1 {
        dmas = <0>, <0>;
-       pinctrl-names = "default";
+       pinctrl-names = "default", "gpio";
        pinctrl-0 = <&pinctrl_i2c1_default>;
+       pinctrl-1 = <&pinctrl_i2c1_gpio>;
+       sda-gpios = <&pioA PIN_PD19 GPIO_ACTIVE_HIGH>;
+       scl-gpios = <&pioA PIN_PD20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
        i2c-digital-filter;
        i2c-digital-filter-width-ns = <35>;
        status = "okay";
                bias-disable;
        };
 
+       pinctrl_i2c1_gpio: i2c1_gpio {
+                pinmux = <PIN_PD19__GPIO>,
+                         <PIN_PD20__GPIO>;
+                bias-disable;
+        };
+
        pinctrl_key_gpio_default: key_gpio_default {
                pinmux = <PIN_PD0__GPIO>;
                bias-pull-up;
                bias-disable;
        };
 
+       pinctrl_i2c0_gpio: i2c0_gpio {
+               pinmux = <PIN_PD21__GPIO>,
+                        <PIN_PD22__GPIO>;
+               bias-disable;
+       };
+
        pinctrl_mikrobus1_an: mikrobus1_an {
                pinmux = <PIN_PD26__GPIO>;
                bias-disable;