lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <e154c093-222d-0d84-9dba-45277c61cb5e@microchip.com>
Date:   Wed, 15 Sep 2021 11:05:10 +0200
From:   Nicolas Ferre <nicolas.ferre@...rochip.com>
To:     Durai Manickam KR <durai.manickamkr@...rochip.com>,
        <robh+dt@...nel.org>, <alexandre.belloni@...tlin.com>,
        <ludovic.desroches@...rochip.com>, <devicetree@...r.kernel.org>,
        <linux-arm-kernel@...ts.infradead.org>,
        <linux-kernel@...r.kernel.org>, <Hari.PrasathGE@...rochip.com>
Subject: Re: [PATCH] ARM: dts: at91-sama5d27_som1_ek: Added I2C bus recovery
 support

On 14/09/2021 at 07:21, 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@...rochip.com>

Acked-by: Nicolas Ferre <nicolas.ferre@...rochip.com>
Queued in at91-dt for 5.16.

Thanks Durai, best regards,
   Nicolas

> ---
>   arch/arm/boot/dts/at91-sama5d27_som1.dtsi   | 12 ++++++++++-
>   arch/arm/boot/dts/at91-sama5d27_som1_ek.dts | 23 +++++++++++++++++++--
>   2 files changed, 32 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/at91-sama5d27_som1.dtsi b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
> index e3251f3e3eaa..edce6bcf6cd6 100644
> --- a/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
> +++ b/arch/arm/boot/dts/at91-sama5d27_som1.dtsi
> @@ -8,6 +8,7 @@
>    */
>   #include "sama5d2.dtsi"
>   #include "sama5d2-pinfunc.h"
> +#include <dt-bindings/gpio/gpio.h>
>   
>   / {
>   	model = "Atmel SAMA5D27 SoM1";
> @@ -95,8 +96,11 @@ ethernet-phy@7 {
>   
>   			i2c0: i2c@...28000 {
>   				dmas = <0>, <0>;
> -				pinctrl-names = "default";
> +				pinctrl-names = "default", "gpio";
>   				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 | GPIO_OPEN_DRAIN)>;
>   				status = "okay";
>   
>   				at24@50 {
> @@ -113,6 +117,12 @@ pinctrl_i2c0_default: i2c0_default {
>   					bias-disable;
>   				};
>   
> +				pinctrl_i2c0_gpio: i2c0_gpio {
> +					pinmux = <PIN_PD21__GPIO>,
> +						 <PIN_PD22__GPIO>;
> +					bias-disable;
> +				};
> +
>   				pinctrl_qspi1_default: qspi1_default {
>   					sck_cs {
>   						pinmux = <PIN_PB5__QSPI1_SCK>,
> diff --git a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
> index 614999dcb990..0f10e05d6e23 100644
> --- a/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
> +++ b/arch/arm/boot/dts/at91-sama5d27_som1_ek.dts
> @@ -131,8 +131,11 @@ i2c3: i2c@600 {
>   					i2c-analog-filter;
>   					i2c-digital-filter;
>   					i2c-digital-filter-width-ns = <35>;
> -					pinctrl-names = "default";
> +					pinctrl-names = "default", "gpio";
>   					pinctrl-0 = <&pinctrl_mikrobus_i2c>;
> +					pinctrl-1 = <&pinctrl_i2c3_gpio>;
> +					sda-gpios = <&pioA PIN_PA24 GPIO_ACTIVE_HIGH>;
> +					scl-gpios = <&pioA PIN_PA23 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>   					status = "okay";
>   				};
>   			};
> @@ -216,8 +219,11 @@ i2c1: i2c@...28000 {
>   				i2c-analog-filter;
>   				i2c-digital-filter;
>   				i2c-digital-filter-width-ns = <35>;
> -				pinctrl-names = "default";
> +				pinctrl-names = "default", "gpio";
>   				pinctrl-0 = <&pinctrl_i2c1_default>;
> +				pinctrl-1 = <&pinctrl_i2c1_gpio>;
> +				sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
> +				scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>   				status = "okay";
>   			};
>   
> @@ -253,6 +259,13 @@ pinctrl_i2c1_default: i2c1_default {
>   					bias-disable;
>   				};
>   
> +				pinctrl_i2c1_gpio: i2c1_gpio {
> +                                        pinmux = <PIN_PD4__GPIO>,
> +                                                 <PIN_PD5__GPIO>;
> +                                        bias-disable;
> +                                };
> +
> +
>   				pinctrl_isc_base: isc_base {
>   					pinmux = <PIN_PC21__ISC_PCK>,
>   						 <PIN_PC22__ISC_VSYNC>,
> @@ -442,6 +455,12 @@ pinctrl_mikrobus_i2c: mikrobus1_i2c {
>   					bias-disable;
>   				};
>   
> +				pinctrl_i2c3_gpio: i2c3_gpio {
> +					pinmux = <PIN_PA24__GPIO>,
> +						 <PIN_PA23__GPIO>;
> +					bias-disable;
> +				};
> +
>   				pinctrl_flx4_default: flx4_uart_default {
>   					pinmux = <PIN_PC28__FLEXCOM4_IO0>,
>   						 <PIN_PC29__FLEXCOM4_IO1>,
> 


-- 
Nicolas Ferre

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ