[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1d43b7be-94f4-4d29-a4b0-b5b651c4b70a@alliedtelesis.co.nz>
Date: Thu, 19 Oct 2023 19:41:26 +0000
From: Chris Packham <Chris.Packham@...iedtelesis.co.nz>
To: Gregory CLEMENT <gregory.clement@...tlin.com>,
"andi.shyti@...nel.org" <andi.shyti@...nel.org>,
"robh+dt@...nel.org" <robh+dt@...nel.org>,
"krzysztof.kozlowski+dt@...aro.org"
<krzysztof.kozlowski+dt@...aro.org>,
"conor+dt@...nel.org" <conor+dt@...nel.org>,
"pierre.gondois@....com" <pierre.gondois@....com>
CC: "linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v2 2/3] arm64: dts: marvell: AC5: use I2C unstuck function
On 20/10/23 03:40, Gregory CLEMENT wrote:
> Hello Chris,
>
>> The AC5 SoC supports using a controller based I2C unstuck function for
>> recovery. Use this instead of the generic GPIO recovery.
>>
>> Signed-off-by: Chris Packham <chris.packham@...iedtelesis.co.nz>
>> ---
>> arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi | 14 ++++----------
>> 1 file changed, 4 insertions(+), 10 deletions(-)
>>
>> diff --git a/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi b/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
>> index c9ce1010c415..e52d3c3496d5 100644
>> --- a/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
>> +++ b/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
>> @@ -137,7 +137,7 @@ mdio: mdio@...04 {
>>
>> i2c0: i2c@...00{
>> compatible = "marvell,mv78230-i2c";
>> - reg = <0x11000 0x20>;
>> + reg = <0x11000 0x20>, <0x110a0 0x4>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> @@ -146,17 +146,14 @@ i2c0: i2c@...00{
>> interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
>> clock-frequency=<100000>;
>>
>> - pinctrl-names = "default", "gpio";
>> + pinctrl-names = "default";
>> pinctrl-0 = <&i2c0_pins>;
>> - pinctrl-1 = <&i2c0_gpio>;
>> - scl-gpios = <&gpio0 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>> - sda-gpios = <&gpio0 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> By doing this then older kernel won't be able to do recovery, while if
> you keep it, the new kernels will still use new way to support recovery
> thanks to the new reg filed added and old kernels will continue to work.
>
> However, what we try to maintain is running new kernel on old dtb not
> the opposite which is just a nice to have. At the end it is up to you,
> if you really want to remove this chunk I will apply it once the driver
> part of the series will be accepted.
The GPIO recovery triggers an Erratum where the SoC locks up so I'd
prefer to see it gone (basically a version of that offload Erratum from
the early Armada-XPs).
I think it's all academic because I'm pretty sure I'm the only one
actually running an upstream kernel on the AC5X. Marvell still ship a
horribly out of date fork in their official SDK.
>
> Gregory
>
>
>> status = "disabled";
>> };
>>
>> i2c1: i2c@...00{
>> compatible = "marvell,mv78230-i2c";
>> - reg = <0x11100 0x20>;
>> + reg = <0x11100 0x20>, <0x110a4 0x4>;
>> #address-cells = <1>;
>> #size-cells = <0>;
>>
>> @@ -165,11 +162,8 @@ i2c1: i2c@...00{
>> interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
>> clock-frequency=<100000>;
>>
>> - pinctrl-names = "default", "gpio";
>> + pinctrl-names = "default";
>> pinctrl-0 = <&i2c1_pins>;
>> - pinctrl-1 = <&i2c1_gpio>;
>> - scl-gpios = <&gpio0 20 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>> - sda-gpios = <&gpio0 21 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
>> status = "disabled";
>> };
>>
>> --
>> 2.42.0
>>
Powered by blists - more mailing lists