ARM: dts: at91: sama5d3: add i2c gpio pinctrl
authorKamel Bouhara <kamel.bouhara@bootlin.com>
Tue, 25 Feb 2020 15:50:10 +0000 (17:50 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Mon, 9 Mar 2020 21:13:12 +0000 (22:13 +0100)
Add the i2c gpio pinctrls to support the i2c bus recovery

Signed-off-by: Kamel Bouhara <kamel.bouhara@bootlin.com>
[codrin.ciubotariu@microchip.com: removed gpio pull-ups]
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Acked-by: Ludovic Desroches <ludovic.desroches@microchip.com>
Link: https://lore.kernel.org/r/20200225155012.22764-2-codrin.ciubotariu@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/arm/boot/dts/sama5d3.dtsi

index 203d40be70a51ad1a77e15e7fa5b58a8e6e50655..f11b018e9173ad3c457e00e19fcaa6396bcf2f96 100644 (file)
                                dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(7)>,
                                       <&dma0 2 AT91_DMA_CFG_PER_ID(8)>;
                                dma-names = "tx", "rx";
-                               pinctrl-names = "default";
+                               pinctrl-names = "default", "gpio";
                                pinctrl-0 = <&pinctrl_i2c0>;
+                               pinctrl-1 = <&pinctrl_i2c0_gpio>;
+                               sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA 31 GPIO_ACTIVE_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&twi0_clk>;
                                dmas = <&dma0 2 AT91_DMA_CFG_PER_ID(9)>,
                                       <&dma0 2 AT91_DMA_CFG_PER_ID(10)>;
                                dma-names = "tx", "rx";
-                               pinctrl-names = "default";
+                               pinctrl-names = "default", "gpio";
                                pinctrl-0 = <&pinctrl_i2c1>;
+                               pinctrl-1 = <&pinctrl_i2c1_gpio>;
+                               sda-gpios = <&pioC 26 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioC 27 GPIO_ACTIVE_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&twi1_clk>;
                                dmas = <&dma1 2 AT91_DMA_CFG_PER_ID(11)>,
                                       <&dma1 2 AT91_DMA_CFG_PER_ID(12)>;
                                dma-names = "tx", "rx";
-                               pinctrl-names = "default";
+                               pinctrl-names = "default", "gpio";
                                pinctrl-0 = <&pinctrl_i2c2>;
+                               pinctrl-1 = <&pinctrl_i2c2_gpio>;
+                               sda-gpios = <&pioA 18 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioA 19 GPIO_ACTIVE_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&twi2_clk>;
                                                        <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE   /* PA30 periph A TWD0 pin, conflicts with URXD1, ISI_VSYNC */
                                                         AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PA31 periph A TWCK0 pin, conflicts with UTXD1, ISI_HSYNC */
                                        };
+
+                                       pinctrl_i2c0_gpio: i2c0-gpio {
+                                               atmel,pins =
+                                                       <AT91_PIOA 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+                                                        AT91_PIOA 31 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+                                       };
                                };
 
                                i2c1 {
                                                        <AT91_PIOC 26 AT91_PERIPH_B AT91_PINCTRL_NONE   /* PC26 periph B TWD1 pin, conflicts with SPI1_NPCS1, ISI_D11 */
                                                         AT91_PIOC 27 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* PC27 periph B TWCK1 pin, conflicts with SPI1_NPCS2, ISI_D10 */
                                        };
+
+                                       pinctrl_i2c1_gpio: i2c1-gpio {
+                                               atmel,pins =
+                                                       <AT91_PIOC 26 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+                                                        AT91_PIOC 27 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+                                       };
                                };
 
                                i2c2 {
                                                        <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_NONE   /* TWD2 pin, conflicts with LCDDAT18, ISI_D2 */
                                                         AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* TWCK2 pin, conflicts with LCDDAT19, ISI_D3 */
                                        };
+
+                                       pinctrl_i2c2_gpio: i2c2-gpio {
+                                               atmel,pins =
+                                                       <AT91_PIOA 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+                                                        AT91_PIOA 19 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+                                       };
                                };
 
                                isi {