[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <f13b54bd-d776-0d06-113a-5ca2bcbccfcd@marcan.st>
Date: Wed, 24 Nov 2021 14:42:12 +0900
From: Hector Martin <marcan@...can.st>
To: Linus Walleij <linus.walleij@...aro.org>
Cc: Janne Grunau <j@...nau.net>, Sven Peter <sven@...npeter.dev>,
Alyssa Rosenzweig <alyssa@...enzweig.io>,
Rob Herring <robh+dt@...nel.org>,
linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/4] arm64: dts: apple: t8103: Add i2c nodes
On 24/11/2021 08.26, Linus Walleij wrote:
> On Tue, Nov 23, 2021 at 3:43 PM Hector Martin <marcan@...can.st> wrote:
>
>> For those following along in the list: the reason why i2c3 was getting
>> stuck is because it seems the unused bus is weakly pulled low on these
>> machines, which jams it.
>
> That looks like some power saving attempt.
>
> I suppose that means that even i2c buses that are in use
> could be weakly pulled low when suspending the system
> and maybe even inbetween transactions to save some
> leak current.
Pulled up vs. down dosn't really result in better power savings; neither
state will necessarily have more leakage. I think it's just that the
pins are completely disconnected, and there's some very minor leakage to
ground (megaohms will do) that ends up pulling them down.
Pulling down an I2C bus between transactions is not legal; the idle
state has to be high.
Apple are actually not very good at configuring GPIOs for power saving;
e.g. the I/Os for that unused i2c bus still have their input buffers
turned on, which is a waste of power. If they wanted to save the
smallest drop of power they'd turn that off. But the effect of this is
so trivial it probably makes no difference in the context of a laptop,
nevermind a desktop like the Mac Mini.
--
Hector Martin (marcan@...can.st)
Public Key: https://mrcn.st/pub
Powered by blists - more mailing lists