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: <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

Powered by Openwall GNU/*/Linux Powered by OpenVZ