All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
@ 2021-09-21  6:43 ` Durai Manickam KR
  0 siblings, 0 replies; 4+ messages in thread
From: Durai Manickam KR @ 2021-09-21  6:43 UTC (permalink / raw)
  To: robh+dt, nicolas.ferre, alexandre.belloni, ludovic.desroches,
	devicetree, linux-arm-kernel, linux-kernel, Hari.PrasathGE
  Cc: Durai Manickam KR

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>
---
 arch/arm/boot/dts/at91-sama5d2_icp.dts | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sama5d2_icp.dts b/arch/arm/boot/dts/at91-sama5d2_icp.dts
index e06b58724ca8..806eb1d911d7 100644
--- a/arch/arm/boot/dts/at91-sama5d2_icp.dts
+++ b/arch/arm/boot/dts/at91-sama5d2_icp.dts
@@ -307,8 +307,11 @@ regulator-state-mem {
 };
 
 &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";
@@ -316,8 +319,11 @@ &i2c0 { /* mikrobus i2c */
 
 &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";
@@ -402,6 +408,12 @@ pinctrl_i2c1_default: i2c1_default {
 		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;
@@ -463,6 +475,12 @@ pinctrl_mikrobus_i2c: mikrobus_i2c {
 		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;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
@ 2021-09-21  6:43 ` Durai Manickam KR
  0 siblings, 0 replies; 4+ messages in thread
From: Durai Manickam KR @ 2021-09-21  6:43 UTC (permalink / raw)
  To: robh+dt, nicolas.ferre, alexandre.belloni, ludovic.desroches,
	devicetree, linux-arm-kernel, linux-kernel, Hari.PrasathGE
  Cc: Durai Manickam KR

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>
---
 arch/arm/boot/dts/at91-sama5d2_icp.dts | 22 ++++++++++++++++++++--
 1 file changed, 20 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/at91-sama5d2_icp.dts b/arch/arm/boot/dts/at91-sama5d2_icp.dts
index e06b58724ca8..806eb1d911d7 100644
--- a/arch/arm/boot/dts/at91-sama5d2_icp.dts
+++ b/arch/arm/boot/dts/at91-sama5d2_icp.dts
@@ -307,8 +307,11 @@ regulator-state-mem {
 };
 
 &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";
@@ -316,8 +319,11 @@ &i2c0 { /* mikrobus i2c */
 
 &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";
@@ -402,6 +408,12 @@ pinctrl_i2c1_default: i2c1_default {
 		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;
@@ -463,6 +475,12 @@ pinctrl_mikrobus_i2c: mikrobus_i2c {
 		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;
-- 
2.25.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
  2021-09-21  6:43 ` Durai Manickam KR
@ 2021-09-21  9:17   ` Nicolas Ferre
  -1 siblings, 0 replies; 4+ messages in thread
From: Nicolas Ferre @ 2021-09-21  9:17 UTC (permalink / raw)
  To: Durai Manickam KR, robh+dt, alexandre.belloni, ludovic.desroches,
	devicetree, linux-arm-kernel, linux-kernel, Hari.PrasathGE

On 21/09/2021 at 08:43, Durai Manickam KR wrote:
> 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>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
And queued on at91-dt for 5.16.

Thanks, best regards,
   Nicolas

> ---
>   arch/arm/boot/dts/at91-sama5d2_icp.dts | 22 ++++++++++++++++++++--
>   1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sama5d2_icp.dts b/arch/arm/boot/dts/at91-sama5d2_icp.dts
> index e06b58724ca8..806eb1d911d7 100644
> --- a/arch/arm/boot/dts/at91-sama5d2_icp.dts
> +++ b/arch/arm/boot/dts/at91-sama5d2_icp.dts
> @@ -307,8 +307,11 @@ regulator-state-mem {
>   };
>   
>   &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";
> @@ -316,8 +319,11 @@ &i2c0 { /* mikrobus i2c */
>   
>   &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";
> @@ -402,6 +408,12 @@ pinctrl_i2c1_default: i2c1_default {
>   		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;
> @@ -463,6 +475,12 @@ pinctrl_mikrobus_i2c: mikrobus_i2c {
>   		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;
> 


-- 
Nicolas Ferre

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support
@ 2021-09-21  9:17   ` Nicolas Ferre
  0 siblings, 0 replies; 4+ messages in thread
From: Nicolas Ferre @ 2021-09-21  9:17 UTC (permalink / raw)
  To: Durai Manickam KR, robh+dt, alexandre.belloni, ludovic.desroches,
	devicetree, linux-arm-kernel, linux-kernel, Hari.PrasathGE

On 21/09/2021 at 08:43, Durai Manickam KR wrote:
> 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>

Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
And queued on at91-dt for 5.16.

Thanks, best regards,
   Nicolas

> ---
>   arch/arm/boot/dts/at91-sama5d2_icp.dts | 22 ++++++++++++++++++++--
>   1 file changed, 20 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sama5d2_icp.dts b/arch/arm/boot/dts/at91-sama5d2_icp.dts
> index e06b58724ca8..806eb1d911d7 100644
> --- a/arch/arm/boot/dts/at91-sama5d2_icp.dts
> +++ b/arch/arm/boot/dts/at91-sama5d2_icp.dts
> @@ -307,8 +307,11 @@ regulator-state-mem {
>   };
>   
>   &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";
> @@ -316,8 +319,11 @@ &i2c0 { /* mikrobus i2c */
>   
>   &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";
> @@ -402,6 +408,12 @@ pinctrl_i2c1_default: i2c1_default {
>   		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;
> @@ -463,6 +475,12 @@ pinctrl_mikrobus_i2c: mikrobus_i2c {
>   		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;
> 


-- 
Nicolas Ferre

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-09-21  9:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-21  6:43 [PATCH] ARM: dts: at91-sama5d2_icp.dts: Added I2C bus recovery support Durai Manickam KR
2021-09-21  6:43 ` Durai Manickam KR
2021-09-21  9:17 ` Nicolas Ferre
2021-09-21  9:17   ` Nicolas Ferre

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.