ARM: dts: at91: Configure I2C SCL gpio as open drain
authorCodrin Ciubotariu <codrin.ciubotariu@microchip.com>
Fri, 15 May 2020 14:00:01 +0000 (17:00 +0300)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 15 May 2020 15:38:54 +0000 (17:38 +0200)
The SCL gpio pin used by I2C bus for recovery needs to be configured as
open drain.

Fixes: 455fec938bbb ("ARM: dts: at91: sama5d2: add i2c gpio pinctrl")
Fixes: a4bd8da893a3 ("ARM: dts: at91: sama5d3: add i2c gpio pinctrl")
Fixes: 8fb82f050cf6 ("ARM: dts: at91: sama5d4: add i2c gpio pinctrl")
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20200515140001.287932-1-codrin.ciubotariu@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/arm/boot/dts/at91-sama5d2_ptc_ek.dts
arch/arm/boot/dts/at91-sama5d2_xplained.dts
arch/arm/boot/dts/sama5d3.dtsi
arch/arm/boot/dts/sama5d4.dtsi

index 45c671a2bcf21a93f4d553ad6a421e4efd802da6..c894c7c788a93ed0688d2b3ce9e61fd27a68a121 100644 (file)
                                pinctrl-0 = <&pinctrl_i2c0_default>;
                                pinctrl-1 = <&pinctrl_i2c0_gpio>;
                                sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                status = "okay";
                        };
 
                                        pinctrl-0 = <&pinctrl_flx0_default>;
                                        pinctrl-1 = <&pinctrl_flx0_gpio>;
                                        sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
-                                       scl-gpios = <&pioA PIN_PB29 GPIO_ACTIVE_HIGH>;
+                                       scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                        status = "okay";
                                };
                        };
                                pinctrl-0 = <&pinctrl_i2c1_default>;
                                pinctrl-1 = <&pinctrl_i2c1_gpio>;
                                sda-gpios = <&pioA PIN_PC6 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA PIN_PC7 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA PIN_PC7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                status = "okay";
 
                                at24@50 {
index 77e5d4f5a1021be2961607a775527cf09e55c0c4..851b8587068b60cb8bb7f38abb7b9a265607d2b1 100644 (file)
                                pinctrl-0 = <&pinctrl_i2c0_default>;
                                pinctrl-1 = <&pinctrl_i2c0_gpio>;
                                sda-gpios = <&pioA PIN_PD21 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA PIN_PD22 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA PIN_PD22 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                i2c-sda-hold-time-ns = <350>;
                                status = "okay";
 
                                        pinctrl-0 = <&pinctrl_flx0_default>;
                                        pinctrl-1 = <&pinctrl_i2c2_gpio>;
                                        sda-gpios = <&pioA PIN_PB28 GPIO_ACTIVE_HIGH>;
-                                       scl-gpios = <&pioA PIN_PB29 GPIO_ACTIVE_HIGH>;
+                                       scl-gpios = <&pioA PIN_PB29 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                        i2c-sda-hold-time-ns = <350>;
                                        i2c-analog-filter;
                                        i2c-digital-filter;
                                        pinctrl-0 = <&pinctrl_flx4_default>;
                                        pinctrl-1 = <&pinctrl_flx4_gpio>;
                                        sda-gpios = <&pioA PIN_PD12 GPIO_ACTIVE_HIGH>;
-                                       scl-gpios = <&pioA PIN_PD13 GPIO_ACTIVE_HIGH>;
+                                       scl-gpios = <&pioA PIN_PD13 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                        i2c-analog-filter;
                                        i2c-digital-filter;
                                        i2c-digital-filter-width-ns = <35>;
                                i2c-digital-filter-width-ns = <35>;
                                pinctrl-1 = <&pinctrl_i2c1_gpio>;
                                sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA PIN_PD5 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                status = "okay";
 
                                at24@54 {
index f3ce561b46ab4be1e8b9d1b879725b35bedd82e1..c53e48445e4df9baea6070f47847d67a94584e83 100644 (file)
                                pinctrl-0 = <&pinctrl_i2c0>;
                                pinctrl-1 = <&pinctrl_i2c0_gpio>;
                                sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 18>;
                                pinctrl-0 = <&pinctrl_i2c1>;
                                pinctrl-1 = <&pinctrl_i2c1_gpio>;
                                sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioC 27 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioC 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 19>;
                                pinctrl-0 = <&pinctrl_i2c2>;
                                pinctrl-1 = <&pinctrl_i2c2_gpio>;
                                sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA 19 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 20>;
index c9c0316b5b0ea388b1ad85a13a6e582efa68d5c4..fff679734c9c7cbbcfd16f76213aa021e70e5205 100644 (file)
                                pinctrl-0 = <&pinctrl_i2c0>;
                                pinctrl-1 = <&pinctrl_i2c0_gpio>;
                                sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 32>;
                                pinctrl-0 = <&pinctrl_i2c1>;
                                pinctrl-1 = <&pinctrl_i2c1_gpio>;
                                sda-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioE 30 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioE 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
                                pinctrl-0 = <&pinctrl_i2c2>;
                                pinctrl-1 = <&pinctrl_i2c2_gpio>;
                                sda-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>;
-                               scl-gpios = <&pioB 30 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioB 30 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;