Re: [PATCH 1/2] dt-bindings: input: goodix: Add powered-in-suspend property

From: Fei Shao
Date: Wed Apr 19 2023 - 06:45:01 EST


Hi Jeff,

On Wed, Apr 19, 2023 at 8:21 AM Jeff LaBundy <jeff@xxxxxxxxxxx> wrote:
>
> Hi Fei,
>
> On Tue, Apr 18, 2023 at 08:49:51PM +0800, Fei Shao wrote:
> > We observed that on Chromebook device Steelix, if Goodix GT7375P
> > touchscreen is powered in suspend (because, for example, it connects to
> > an always-on regulator) and with the reset GPIO asserted, it will
> > introduce about 14mW power leakage.
> >
> > This property is used to indicate that the touchscreen is powered in
> > suspend. If it's set, the driver will stop asserting the reset GPIO in
> > power-down, and it will do it in power-up instead to ensure that the
> > state is always reset after resuming.
> >
> > Signed-off-by: Fei Shao <fshao@xxxxxxxxxxxx>
> > ---
>
> This is an interesting problem; were you able to root-cause why the silicon
> exhibits this behavior? Simply asserting reset should not cause it to draw
> additional power, let alone 14 mW. This almost sounds like a back-powering
> problem during suspend.
>
There was a fix for this behavior before so I didn't dig into it on
the silicon side.
I can ask internally and see if we can have Goodix to confirm this is
a known HW erratum.

> If this is truly expected behavior, is it sufficient to use the always_on
> constraint of the relevant regulator(s) to make this decision as opposed to
> introducing a new property?
>
That sounds good to me. IIUC, for the existing designs, the boards
that would set this property would also exclusively set
`regulator-always-on` in their supply, so that should suffice.
Let me revise the patch. Thanks!

Fei
> >
> > Documentation/devicetree/bindings/input/goodix,gt7375p.yaml | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> > index ce18d7dadae2..942acb286d77 100644
> > --- a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> > +++ b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> > @@ -43,6 +43,12 @@ properties:
> > itself as long as it allows the main board to make signals compatible
> > with what the touchscreen is expecting for its IO rails.
> >
> > + powered-in-suspend:
> > + description:
> > + This indicates that the touchscreen is powered in suspend, so the driver
> > + will not assert the reset GPIO in power-down to prevent power leakage.
> > + type: boolean
> > +
> > required:
> > - compatible
> > - reg
> > --
> > 2.40.0.634.g4ca3ef3211-goog
> >
>
> Kind regards,
> Jeff LaBundy