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]
Date:   Thu, 7 Sep 2023 14:55:59 +0100
From:   "Russell King (Oracle)" <linux@...linux.org.uk>
To:     Bagas Sanjaya <bagasdotme@...il.com>
Cc:     Raul Piper <raulpblooper@...il.com>,
        kernelnewbies@...nelnewbies.org,
        LKML <linux-kernel@...r.kernel.org>,
        Linux ARM <linux-arm-kernel@...ts.infradead.org>,
        Linux I2C <linux-i2c@...r.kernel.org>,
        Linux Devicetree <devicetree@...r.kernel.org>,
        Linus Walleij <linus.walleij@...aro.org>,
        Andi Shyti <andi.shyti@...nel.org>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Conor Dooley <conor+dt@...nel.org>
Subject: Re: Debugging i2c : i2cdetect cant detect a device on i2c line

On Thu, Sep 07, 2023 at 08:36:32PM +0700, Bagas Sanjaya wrote:
> [also Cc: devicetree and ARM folks]
> 
> On Thu, Sep 07, 2023 at 08:21:44AM +0530, Raul Piper wrote:
> > Hello ,
> > I am trying to detect an i2c device A on i2c1 line on  one of the Arm
> > Cortex A7 platform but not able to see any device on a given address (
> > 0x3d) .
> > 
> > Is there any parameters of i2c which i can change like rise/fall time
> > , timeout etc in a device tree or kernel source and re test it?
> > I have tried changing the i2c speed from 100KHz to 400 KHz  but no success.
> > I have even tried removing the 1.5K pull ups on the i2c lines but no result.

Honestly, from this description, I'm wondering if this posting is a joke.

I2C is entirely _reliant_ on pull-ups. It's a wire-or bus, and the
logic 1 state is created by no device pulling the signal low, thereby
allowing the pull-up resistor to pull the line to the logic 1 state.

The pull-up must be the correct strength for the devices on the bus.
If it is too strong, then a driver may not be able to pull the signal
sufficiently low for other devices to register it as a logic 0.

Conversely, the pull-up must be strong enough so that the rise-time
of the signal is sufficient to register as a logic 1.

If it's a problem with the rise time, then increasing the clock rate
will just make the situation worse.

So, if other devices work on the bus, it could be that the Vil
threshold of this device is not being achieved, whereas the other
devices are happy. Therefore, I would suggest you study the data
sheets of the device that isn't being detected.

Lastly, if the undetectable device has a reset line, it's possible
that the device isn't responding because it's being held in reset.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ