ARM: dts: stm32: add goodix touchscreen on stm32mp135f-dk
authorYannick Fertre <yannick.fertre@foss.st.com>
Mon, 6 May 2024 14:49:45 +0000 (16:49 +0200)
committerAlexandre Torgue <alexandre.torgue@foss.st.com>
Wed, 5 Jun 2024 08:35:00 +0000 (10:35 +0200)
Touchscreen reset needs to be configured
via the pinctrl not the driver (a pull-down resistor
has been soldered onto the reset line which forces
the touchscreen to reset state).
Interrupt line must have a pull-down resistor
in order to freeze the i2c address at 0x5D.

Signed-off-by: Yannick Fertre <yannick.fertre@foss.st.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
arch/arm/boot/dts/st/stm32mp13-pinctrl.dtsi
arch/arm/boot/dts/st/stm32mp135f-dk.dts

index b423d182aefd394060eb65c9f22bbd51e2de34de..66efef93251f613081e694849e3cf92782afcc62 100644 (file)
                };
        };
 
+       goodix_pins_a: goodix-0 {
+               /*
+                * touchscreen reset needs to be configured
+                * via the pinctrl not the driver (a pull-down resistor
+                * has been soldered onto the reset line which forces
+                * the touchscreen to reset state).
+                */
+               pins1 {
+                       pinmux = <STM32_PINMUX('H', 2, GPIO)>;
+                       output-high;
+                       bias-pull-up;
+               };
+               /*
+                * Interrupt line must have a pull-down resistor
+                * in order to freeze the i2c address at 0x5D
+                */
+               pins2 {
+                       pinmux = <STM32_PINMUX('F', 5, GPIO)>;
+                       bias-pull-down;
+               };
+       };
+
        i2c1_pins_a: i2c1-0 {
                pins {
                        pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
index e43bb9b74b87ca1dd14ef99d60fb3d9c8eb3c15c..970de441fbaadfb062d07a24eed58f0c903f7f8d 100644 (file)
                        };
                };
        };
+
+       goodix: goodix-ts@5d {
+               compatible = "goodix,gt911";
+               reg = <0x5d>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&goodix_pins_a>;
+               interrupt-parent = <&gpiof>;
+               interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
+               AVDD28-supply = <&scmi_v3v3_sw>;
+               VDDIO-supply = <&scmi_v3v3_sw>;
+               touchscreen-size-x = <480>;
+               touchscreen-size-y = <272>;
+               status = "okay" ;
+       };
 };
 
 &iwdg2 {