ARM: dts: at91: sama5d4: add i2c gpio pinctrl
authorKamel Bouhara <kamel.bouhara@bootlin.com>
Tue, 25 Feb 2020 15:50:11 +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 so the i2c bus recovery option can be enabled

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-3-codrin.ciubotariu@microchip.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
arch/arm/boot/dts/sama5d4.dtsi

index e9a8f82a6eda61b779be193e5b960646359b0b4a..c9c0316b5b0ea388b1ad85a13a6e582efa68d5c4 100644 (file)
                                        (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
                                        | AT91_XDMAC_DT_PERID(3))>;
                                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 = <&pmc PMC_TYPE_PERIPHERAL 32>;
                                        (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
                                        | AT91_XDMAC_DT_PERID(5))>;
                                dma-names = "tx", "rx";
-                               pinctrl-names = "default";
+                               pinctrl-names = "default", "gpio";
                                pinctrl-0 = <&pinctrl_i2c1>;
+                               pinctrl-1 = <&pinctrl_i2c1_gpio>;
+                               sda-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioE 30 GPIO_ACTIVE_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 33>;
                                        (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)
                                        | AT91_XDMAC_DT_PERID(7))>;
                                dma-names = "tx", "rx";
-                               pinctrl-names = "default";
+                               pinctrl-names = "default", "gpio";
                                pinctrl-0 = <&pinctrl_i2c2>;
+                               pinctrl-1 = <&pinctrl_i2c2_gpio>;
+                               sda-gpios = <&pioB 29 GPIO_ACTIVE_HIGH>;
+                               scl-gpios = <&pioB 30 GPIO_ACTIVE_HIGH>;
                                #address-cells = <1>;
                                #size-cells = <0>;
                                clocks = <&pmc PMC_TYPE_PERIPHERAL 34>;
                                                        <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_NONE
                                                         AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_NONE>;
                                        };
+
+                                       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_PIOE 29 AT91_PERIPH_C AT91_PINCTRL_NONE   /* TWD1, conflicts with UART0 RX and DIBP */
                                                         AT91_PIOE 30 AT91_PERIPH_C AT91_PINCTRL_NONE>; /* TWCK1, conflicts with UART0 TX and DIBN */
                                        };
+
+                                       pinctrl_i2c1_gpio: i2c1-gpio {
+                                               atmel,pins =
+                                                       <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+                                                        AT91_PIOE 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+                                       };
                                };
 
                                i2c2 {
                                                        <AT91_PIOB 29 AT91_PERIPH_A AT91_PINCTRL_NONE   /* TWD2, conflicts with RD0 and PWML1 */
                                                         AT91_PIOB 30 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* TWCK2, conflicts with RF0 */
                                        };
+
+                                       pinctrl_i2c2_gpio: i2c2-gpio {
+                                               atmel,pins =
+                                                       <AT91_PIOB 29 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
+                                                        AT91_PIOB 30 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
+                                       };
                                };
 
                                isi {