Skip to contentSkip to conversation

gpiolib: of: add polarity quirk for TSC2005

PATCH Applied Dmitry Torokhov 3 participants 3 messages Jul 3, 2024 – Jul 5, 2024 GPIO

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 gpiolib: of: add polarity quirk for TSC2005

DTS for Nokia N900 incorrectly specifies "active high" polarity for the reset line, while the chip documentation actually specifies it as "active low". In the past the driver fudged gpiod API and inverted the logic internally, but it was changed in d0d89493bff8.

Fixes d0d89493bff8 ("Input: tsc2004/5 - switch to using generic device properties")

---

This was located purely by inspecting code and DTS, I have not tested this on hardware, so copying folks who have been involved in n900 as far as I know.

OTOH if this was indeed broken, then it was broken for ~7 years (d0d89493bff8 went in 4.11-rc1), so maybe the best way is not to worry about compatibility with old DTS, update arch/arm/boot/dts/ti/omap/omap3-n900.dts in the tree and call it a day.

 drivers/gpio/gpiolib-of.c | 8 ++++++++
 1 file changed, 8 insertions(+)
drivers/gpio/gpiolib-of.c +8 -0
index 38679cf1969f..89d5e64cf68b 100644
@@ -212,6 +212,14 @@ static void of_gpio_try_fixup_polarity(const struct device_node *np,
 		 * for the property.
 		 */
 		{ "lantiq,pci-xway",	"gpio-reset",	false },
+#endif
+#if IS_ENABLED(CONFIG_TOUCHSCREEN_TSC2005)
+		/*
+		 * DTS for Nokia N900 incorrectly specified "active high"
+		 * polarity for the reset line, while the chip actually
+		 * treats it as "active low".
+		 */
+		{ "ti,tsc2005",		"reset-gpios",	false },
 #endif
 	};
 	unsigned int i;
Signature · 5 lines
2.45.2.803.g4e1b14247a-goog


-- 
Dmitry
Acked-by on v1 1/1
#1 lore raw
Quoted 7 lines · Dmitry Torokhov

DTS for Nokia N900 incorrectly specifies "active high" polarity for the reset line, while the chip documentation actually specifies it as "active low". In the past the driver fudged gpiod API and inverted the logic internally, but it was changed in d0d89493bff8.

Fixes d0d89493bff8 ("Input: tsc2004/5 - switch to using generic device properties")
Quoted 4 lines

OTOH if this was indeed broken, then it was broken for ~7 years (d0d89493bff8 went in 4.11-rc1), so maybe the best way is not to worry about compatibility with old DTS, update arch/arm/boot/dts/ti/omap/omap3-n900.dts in the tree and call it a day.

I think anybody using the n900 wll be updating DTS and kernel in tandem so yeah. But I think it's nice that we do both since you anyway made the patch, it doesn't hurt.

Yours,
Linus Walleij

#2 lore raw
In reply to Dmitry Torokhov

From: Bartosz Golaszewski <[email protected]>

Quoted 6 lines · Dmitry Torokhov

DTS for Nokia N900 incorrectly specifies "active high" polarity for the reset line, while the chip documentation actually specifies it as "active low". In the past the driver fudged gpiod API and inverted the logic internally, but it was changed in d0d89493bff8.

Applied, thanks!

[1/1] gpiolib: of: add polarity quirk for TSC2005

      commit: f8d76c2c313c56d5cb894a243dff4550f048278d

Best regards,

Signature · 1 line
Bartosz Golaszewski <[email protected]>