From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Douglas Anderson <dianders@chromium.org>
Cc: Bjorn Andersson <andersson@kernel.org>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Jiri Kosina <jikos@kernel.org>,
Benjamin Tissoires <benjamin.tissoires@redhat.com>,
linux-input@vger.kernel.org, linux-arm-msm@vger.kernel.org,
devicetree@vger.kernel.org, Stephen Kitt <steve@sk2.org>,
Konrad Dybcio <konrad.dybcio@linaro.org>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7] dt-bindings: HID: i2c-hid: goodix: Add mainboard-vddio-supply
Date: Mon, 6 Feb 2023 20:01:52 -0800 [thread overview]
Message-ID: <Y+HNMF2ZHCOAeEqO@google.com> (raw)
In-Reply-To: <20230206184744.5.Ia77a96c6c5564f9cc25e6220b5a9171d5c2639e8@changeid>
On Mon, Feb 06, 2023 at 06:48:14PM -0800, Douglas Anderson wrote:
> The goodix i2c-hid bindings currently support two models of
> touchscreen: GT7375P and GT7986U. The datasheets of both touchscreens
> show the following things:
> * The mainboard that the touchscreen is connected to is only expected
> to supply one voltage to the touchscreen: 3.3V.
> * The touchscreen, depending on stuffing options, can accept IO to the
> touchscreen as either 3.3V or 1.8V. Presumably this means that the
> touchscreen has its own way internally to make or deal with 1.8V
> signals when it's configured for 1.8V IO.
>
> NOTE: you've got to look very carefully at the datasheet for the
> touchscreen to see that the above bullets are true. Specifically, the
> datasheet shows a signal called VDDIO and one might think that this is
> where a mainboard would provide VDDIO to the touchscreen. Upon closer
> inspection, however, a footnote can be found that says "When VDDIO is
> left floating, the logic level is 1.8V [...]; when VDDIO is connected
> to AVDD, the logic level is AVDD.". Thus the VDDIO pin on the
> touchscreen IC is actually a selector and not a pin whre the mainboard
> would pass a reference voltage.
>
> The fact that the touchscreen isn't supplied 1.8V by the mainboard
> means that when I originally submitted bindings for these touchscreens
> I only listed the 3.3V rail in the bindings. It can be noted that the
> original bindings and driver were added for sc7180-trogdor boards and
> these boards all use 3.3V IO via a level shifter on the mainboard.
>
> It turns out that with sc7280-herobrine-evoker, we've got a bit of a
> strange monkey on our hands. Due to some very interesting but
> (unfortunately) set-in-stone hardware design, we are doing 1.8V IO to
> the touchscreen but we _also_ have some extra buffers on the mainboard
> that need to be powered up to make the IO lines work. After much
> pondering about this, it seems like the best way to handle this is to
> add an optional "mainboard-vddio" rail to the bindings that is used to
> power up the buffers. Specifically, the fact that the touchscreen
> datasheet documents that its IOs can be at a different voltage level
> than its main power rail means that there truly are two voltage rails
> associated with the touchscreen, even if we don't actually provide the
> IO rail to it. Thus it doesn't feel absurd for the DT node on the host
> to have a 1.8V rail to power up anything related to its 1.8V logic.
>
> Signed-off-by: Douglas Anderson <dianders@chromium.org>
We went over this with Doug offline, and after re-reading the spec sheet
this does make sense to me.
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
>
> .../devicetree/bindings/input/goodix,gt7375p.yaml | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> index 1c191bc5a178..ce18d7dadae2 100644
> --- a/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> +++ b/Documentation/devicetree/bindings/input/goodix,gt7375p.yaml
> @@ -36,6 +36,13 @@ properties:
> vdd-supply:
> description: The 3.3V supply to the touchscreen.
>
> + mainboard-vddio-supply:
> + description:
> + The supply on the main board needed to power up IO signals going
> + to the touchscreen. This supply need not go to the touchscreen
> + itself as long as it allows the main board to make signals compatible
> + with what the touchscreen is expecting for its IO rails.
> +
> required:
> - compatible
> - reg
> --
> 2.39.1.519.gcb327c4b5f-goog
>
--
Dmitry
next prev parent reply other threads:[~2023-02-07 4:02 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-07 2:48 [PATCH 0/7] arm: qcom: Fix touchscreen voltage for sc7280-herobrine boards Douglas Anderson
2023-02-07 2:48 ` [PATCH 1/7] arm64: dts: qcom: sc7280: On QCard, regulator L3C should be 1.8V Douglas Anderson
2023-02-07 18:12 ` Matthias Kaehlcke
2023-02-07 2:48 ` [PATCH 2/7] arm64: dts: qcom: sc7280: Add 3ms ramp to herobrine's pp3300_left_in_mlb Douglas Anderson
2023-02-07 18:15 ` Matthias Kaehlcke
2023-02-07 2:48 ` [PATCH 3/7] arm64: dts: qcom: sc7280: Hook up the touchscreen IO rail on villager Douglas Anderson
2023-02-07 18:18 ` Matthias Kaehlcke
2023-02-07 2:48 ` [PATCH 4/7] HID: i2c-hid: goodix: Stop tying the reset line to the regulator Douglas Anderson
2023-02-07 3:58 ` Dmitry Torokhov
2023-02-07 18:31 ` Matthias Kaehlcke
2023-02-07 2:48 ` [PATCH 5/7] dt-bindings: HID: i2c-hid: goodix: Add mainboard-vddio-supply Douglas Anderson
2023-02-07 4:01 ` Dmitry Torokhov [this message]
2023-02-07 21:19 ` Rob Herring
2023-02-07 2:48 ` [PATCH 6/7] " Douglas Anderson
2023-02-07 4:02 ` Dmitry Torokhov
2023-02-07 18:46 ` Matthias Kaehlcke
2023-02-07 2:48 ` [PATCH 7/7] arm64: dts: qcom: sc7280: Hook up the touchscreen IO rail on evoker Douglas Anderson
2023-02-07 18:47 ` Matthias Kaehlcke
2023-02-09 4:22 ` (subset) [PATCH 0/7] arm: qcom: Fix touchscreen voltage for sc7280-herobrine boards Bjorn Andersson
2023-02-09 13:50 ` Benjamin Tissoires
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=Y+HNMF2ZHCOAeEqO@google.com \
--to=dmitry.torokhov@gmail.com \
--cc=andersson@kernel.org \
--cc=benjamin.tissoires@redhat.com \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=jikos@kernel.org \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=steve@sk2.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.