Linux-Devicetree Archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: Johan Hovold <johan+linaro@kernel.org>,
	Jiri Kosina <jikos@kernel.org>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Douglas Anderson <dianders@chromium.org>,
	linux-input@vger.kernel.org, devicetree@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] dt-bindings: HID: i2c-hid: elan: add 'no-reset-on-power-off' property
Date: Wed, 24 Apr 2024 09:34:33 +0200	[thread overview]
Message-ID: <Zii2CUeIyBwxzrBu@hovoldconsulting.com> (raw)
In-Reply-To: <2e67e4e6-83a7-4153-b6a7-cdec0ab2c171@kernel.org>

On Tue, Apr 23, 2024 at 06:29:44PM +0200, Krzysztof Kozlowski wrote:
> On 23/04/2024 15:46, Johan Hovold wrote:
> > When the power supply is shared with other peripherals the reset line
> > can be wired in such a way that it can remain deasserted regardless of
> > whether the supply is on or not.
> 
> To clarify: the reset line is still present and working in such case?

Yes.

> > This is important as it can be used to avoid holding the controller in
> > reset for extended periods of time when it remains powered, something
> > which can lead to increased power consumption. Leaving reset deasserted
> > also avoids leaking current through the reset circuitry pull-up
> > resistors.
> > 
> > Add a new 'no-reset-on-power-off' devicetree property which can be used
> > by the OS to determine when reset needs to be asserted on power down.
> > 
> > Note that this property can also be used when the supply cannot be
> > turned off by the OS at all.

> >    reset-gpios:
> >      description: Reset GPIO; not all touchscreens using eKTH6915 hook this up.
> >  
> > +  no-reset-on-power-off:
> 
> Missing vendor prefix. Unless you want to re-use existing property
> "keep-power-in-suspend", but the case here mentions power off, not suspend.

No, I left out the prefix on purpose as I mentioned in the cover letter.
There is nothing vendor specific about this property and I expect it to
be reused for other devices.

And "keep-power-in-suspend" is too specific and indeed looks like
instruction to the OS rather than hw description (more below), but
importantly it is not related to the problem here (which is about
reset, not power).
 
> Anyway, the property sounds like what the OS should be doing, which is
> not what we want. You basically instruct driver what to do. We want a
> described hardware configuration or hardware specifics.

Right, and this was why I at first rejected a property name like this in
favour of 'reset-pulled-to-supply' in my first draft. That name
obviously does not work as the 'supply' suffix is already claimed, but I
also realised that it doesn't really describe the hardware property that
allows the reset line to remain asserted.

The key feature in this hardware design is that the reset line will not
just be pulled to the supply voltage (what other voltage would it be
pulled to), but that it is also pulled to ground when the supply is
disabled.

Rather than trying to encode this in the property name, I settled on the
descriptive 'no-reset-on-power-off' after the seeing the prior art in
'goodix,no-reset-during-suspend' property. The latter is too specific
and encodes policy, but the former could still be considered hardware
description and would also apply to other designs which have the
property that the reset line should be left deasserted.

One such example is when the supply can not be disabled at all (e.g. the
Goodix case), but I can imagine there being more than one way to design
such reset circuits.

> Reset is pulled to something? What is exactly different in this hardware
> configuration comparing to other hardware setup (regular)?

The power supply is shared with other peripherals and the hardware
designers have made provisions so that the reset line can remain
deasserted regardless of the state of the supply in order to save power.
 
> > +    type: boolean
> > +    description:
> > +      Reset line is wired so that it can be left deasserted when the power
> > +      supply is off.

Johan

  reply	other threads:[~2024-04-24  7:34 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-23 13:46 [PATCH 0/6] HID/arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on Johan Hovold
2024-04-23 13:46 ` [PATCH 1/6] dt-bindings: HID: i2c-hid: add dedicated Ilitek ILI2901 schema Johan Hovold
2024-04-23 16:23   ` Krzysztof Kozlowski
2024-04-23 13:46 ` [PATCH 2/6] dt-bindings: HID: i2c-hid: elan: add Elan eKTH5015M Johan Hovold
2024-04-23 16:24   ` Krzysztof Kozlowski
2024-04-24  7:03     ` Johan Hovold
2024-04-24  8:32       ` Krzysztof Kozlowski
2024-04-23 13:46 ` [PATCH 3/6] dt-bindings: HID: i2c-hid: elan: add 'no-reset-on-power-off' property Johan Hovold
2024-04-23 16:29   ` Krzysztof Kozlowski
2024-04-24  7:34     ` Johan Hovold [this message]
2024-04-25  9:39       ` Krzysztof Kozlowski
2024-05-02  9:56         ` Johan Hovold
2024-05-03  9:11           ` Krzysztof Kozlowski
2024-05-03  9:25             ` Johan Hovold
2024-05-03  7:40   ` Linus Walleij
2024-05-03  8:47     ` Johan Hovold
2024-05-06  6:29       ` Linus Walleij
2024-05-07 14:30         ` Johan Hovold
2024-04-23 13:46 ` [PATCH 4/6] HID: i2c-hid: elan: fix reset suspend current leakage Johan Hovold
2024-04-23 20:37   ` Doug Anderson
2024-04-24 10:56     ` Johan Hovold
2024-04-24 16:24       ` Doug Anderson
2024-04-26  9:29         ` Johan Hovold
2024-04-23 13:46 ` [PATCH 5/6] arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on Johan Hovold
2024-04-23 13:46 ` [PATCH 6/6] arm64: dts: qcom: sc8280xp-crd: use external pull up for touch reset Johan Hovold
2024-04-23 19:34 ` [PATCH 0/6] HID/arm64: dts: qcom: sc8280xp-x13s: fix touchscreen power on Steev Klimaszewski
2024-04-24  7:38   ` Johan Hovold
2024-04-23 20:36 ` Doug Anderson
2024-04-24  8:50   ` Johan Hovold
2024-04-24 16:24     ` Doug Anderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Zii2CUeIyBwxzrBu@hovoldconsulting.com \
    --to=johan@kernel.org \
    --cc=andersson@kernel.org \
    --cc=benjamin.tissoires@redhat.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dianders@chromium.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jikos@kernel.org \
    --cc=johan+linaro@kernel.org \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzk+dt@kernel.org \
    --cc=krzk@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).