On Mon, 06 Feb 2023 18:48:14 -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@xxxxxxxxxxxx> > --- > > .../devicetree/bindings/input/goodix,gt7375p.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > Acked-by: Rob Herring <robh@xxxxxxxxxx>