Message ID | 20221209091234.v3.1.I39c387f1e3176fcf340039ec12d54047de9f8526@changeid (mailing list archive) |
---|---|
State | Accepted |
Commit | 9506a3661258d07a60b186f667b391708ddf63ac |
Headers | show |
Series | arm64: dts: qcom: sc7180: Make pazquel360's touchscreen work | expand |
On 9.12.2022 18:12, Douglas Anderson wrote: > On at least one board (pazquel360) the reset line for the touchscreen > was scoped and found to take almost 2 ms to fall when we drove it > low. This wasn't great because the Linux driver for the touchscreen > (the elants_i2c driver) thinks it can do a 500 us reset pulse. If we > bump the drive strength to 8 mA then the reset line went down in ~421 > us. > > NOTE: we could apply this fix just for pazquel360, but: > * Probably other trogdor devices have similar timings and it's just > that nobody has noticed it before. > * There are other trogdor boards using the same elan driver that tries > to do 500 us reset pulses. > * Bumping the drive strength to 8mA across the board won't hurt. This > isn't a high speed signal or anything. > > Signed-off-by: Douglas Anderson <dianders@chromium.org> > Reviewed-by: Matthias Kaehlcke <mka@chromium.org> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > > (no changes since v1) > > arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > index f1defb94d670..ff1c7aa6a722 100644 > --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi > @@ -1376,7 +1376,15 @@ ts_reset_l: ts-reset-l-state { > pins = "gpio8"; > function = "gpio"; > bias-disable; > - drive-strength = <2>; > + > + /* > + * The reset GPIO to the touchscreen takes almost 2ms to drop > + * at the default drive strength. When we bump it up to 8mA it > + * falls in under 500us. We want this to be fast since the Elan > + * datasheet (and any drivers written based on it) talk about using > + * a 500 us reset pulse. > + */ > + drive-strength = <8>; > }; > > sdc1_on: sdc1-on-state {
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi index f1defb94d670..ff1c7aa6a722 100644 --- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi @@ -1376,7 +1376,15 @@ ts_reset_l: ts-reset-l-state { pins = "gpio8"; function = "gpio"; bias-disable; - drive-strength = <2>; + + /* + * The reset GPIO to the touchscreen takes almost 2ms to drop + * at the default drive strength. When we bump it up to 8mA it + * falls in under 500us. We want this to be fast since the Elan + * datasheet (and any drivers written based on it) talk about using + * a 500 us reset pulse. + */ + drive-strength = <8>; }; sdc1_on: sdc1-on-state {