Messages in this thread | | | Subject | Re: [PATCH] ARM: dts: at91-sama5d27_som1_ek: Added I2C bus recovery support | From | Nicolas Ferre <> | Date | Wed, 15 Sep 2021 11:05:10 +0200 |
| |
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@microchip.com>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.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@f8028000 { > 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@fc028000 { > 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
| |