Skip to content

Commit 1d18c1f

Browse files
diandersbentiss
authored andcommitted
dt-bindings: HID: i2c-hid: goodix: Add mainboard-vddio-supply
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 <[email protected]> Reviewed-by: Dmitry Torokhov <[email protected]> Acked-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/20230206184744.5.Ia77a96c6c5564f9cc25e6220b5a9171d5c2639e8@changeid Signed-off-by: Benjamin Tissoires <[email protected]>
1 parent 557e05f commit 1d18c1f

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

Documentation/devicetree/bindings/input/goodix,gt7375p.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ properties:
3636
vdd-supply:
3737
description: The 3.3V supply to the touchscreen.
3838

39+
mainboard-vddio-supply:
40+
description:
41+
The supply on the main board needed to power up IO signals going
42+
to the touchscreen. This supply need not go to the touchscreen
43+
itself as long as it allows the main board to make signals compatible
44+
with what the touchscreen is expecting for its IO rails.
45+
3946
required:
4047
- compatible
4148
- reg

0 commit comments

Comments
 (0)