@@ -9,6 +9,7 @@ menu "LVGL Touch controller"
99 default 4 if LV_TOUCH_CONTROLLER_ADCRAW
1010 default 5 if LV_TOUCH_CONTROLLER_FT81X
1111 default 6 if LV_TOUCH_CONTROLLER_RA8875
12+ default 7 if LV_TOUCH_CONTROLLER_GT911
1213
1314 choice
1415 prompt "Select a touch panel controller model."
@@ -36,6 +37,9 @@ menu "LVGL Touch controller"
3637 config LV_TOUCH_CONTROLLER_RA8875
3738 select LV_TOUCH_DRIVER_DISPLAY
3839 bool "RA8875"
40+ config LV_TOUCH_CONTROLLER_GT911
41+ select LV_TOUCH_DRIVER_PROTOCOL_I2C
42+ bool "GT911"
3943 endchoice
4044
4145 config LV_TOUCH_DRIVER_PROTOCOL_SPI
@@ -98,6 +102,7 @@ menu "LVGL Touch controller"
98102 prompt "GPIO for MISO (Master In Slave Out)"
99103 range 0 39 if IDF_TARGET_ESP32
100104 range 0 43 if IDF_TARGET_ESP32S2
105+ range 0 21 if IDF_TARGET_ESP32C3
101106
102107 default 35 if LV_PREDEFINED_PINS_38V1
103108 default 19
@@ -109,6 +114,7 @@ menu "LVGL Touch controller"
109114 prompt "GPIO for MOSI (Master Out Slave In)"
110115 range 0 39 if IDF_TARGET_ESP32
111116 range 0 43 if IDF_TARGET_ESP32S2
117+ range 0 21 if IDF_TARGET_ESP32C3
112118
113119 default 32 if LV_PREDEFINED_PINS_38V1
114120 default 23
@@ -119,6 +125,7 @@ menu "LVGL Touch controller"
119125 int "GPIO for CLK (SCK / Serial Clock)"
120126 range 0 39 if IDF_TARGET_ESP32
121127 range 0 43 if IDF_TARGET_ESP32S2
128+ range 0 21 if IDF_TARGET_ESP32C3
122129
123130 default 26 if LV_PREDEFINED_PINS_38V1
124131 default 18
@@ -139,6 +146,7 @@ menu "LVGL Touch controller"
139146 int "GPIO for IRQ (Interrupt Request)"
140147 range 0 39 if IDF_TARGET_ESP32
141148 range 0 43 if IDF_TARGET_ESP32S2
149+ range 0 21 if IDF_TARGET_ESP32C3
142150
143151 default 27 if LV_PREDEFINED_PINS_38V4
144152 default 25
@@ -211,6 +219,7 @@ menu "LVGL Touch controller"
211219 prompt "GPIO for SDA (I2C)"
212220 range 0 39 if IDF_TARGET_ESP32
213221 range 0 43 if IDF_TARGET_ESP32S2
222+ range 0 21 if IDF_TARGET_ESP32C3
214223
215224 default 21
216225 help
@@ -220,6 +229,7 @@ menu "LVGL Touch controller"
220229 int "GPIO for clock signal SCL (I2C)"
221230 range 0 39 if IDF_TARGET_ESP32
222231 range 0 43 if IDF_TARGET_ESP32S2
232+ range 0 21 if IDF_TARGET_ESP32C3
223233
224234 default 22
225235 help
@@ -254,6 +264,7 @@ menu "LVGL Touch controller"
254264 prompt "GPIO for MISO (Master In Slave Out)"
255265 range 0 39 if IDF_TARGET_ESP32
256266 range 0 43 if IDF_TARGET_ESP32S2
267+ range 0 21 if IDF_TARGET_ESP32C3
257268
258269 default 35 if LV_PREDEFINED_PINS_38V1
259270 default 19 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
@@ -263,10 +274,12 @@ menu "LVGL Touch controller"
263274 Configure the touchpanel MISO pin here.
264275
265276 config LV_TOUCH_SPI_MOSI
277+ # TODO Fix default for ESP32C3
266278 int
267279 prompt "GPIO for MOSI (Master Out Slave In)"
268280 range 0 39 if IDF_TARGET_ESP32
269281 range 0 43 if IDF_TARGET_ESP32S2
282+ range 0 21 if IDF_TARGET_ESP32C3
270283
271284 default 32 if LV_PREDEFINED_PINS_38V1
272285 default 18 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
@@ -279,6 +292,7 @@ menu "LVGL Touch controller"
279292 int "GPIO for CLK (SCK / Serial Clock)"
280293 range 0 39 if IDF_TARGET_ESP32
281294 range 0 43 if IDF_TARGET_ESP32S2
295+ range 0 21 if IDF_TARGET_ESP32C3
282296
283297 default 26 if LV_PREDEFINED_PINS_38V1
284298 default 5 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
@@ -290,6 +304,7 @@ menu "LVGL Touch controller"
290304 int "GPIO for CS (Slave Select)"
291305 range 0 39 if IDF_TARGET_ESP32
292306 range 0 43 if IDF_TARGET_ESP32S2
307+ range 0 21 if IDF_TARGET_ESP32C3
293308
294309 default 33 if LV_PREDEFINED_PINS_38V1
295310 default 32 if LV_PREDEFINED_DISPLAY_ADA_FEATHERWING
@@ -487,5 +502,50 @@ menu "LVGL Touch controller"
487502 default y
488503
489504 endmenu
505+
506+ menu "Touchpanel (GT911) Pin Assignments"
507+ depends on LV_TOUCH_CONTROLLER_GT911
508+
509+ config LV_TOUCH_I2C_SDA
510+ int
511+ prompt "GPIO for SDA (I2C)"
512+ range 0 39 if IDF_TARGET_ESP32
513+ range 0 43 if IDF_TARGET_ESP32S2
514+ range 0 21 if IDF_TARGET_ESP32C3
515+
516+ default 2
517+ help
518+ Configure the I2C touchpanel SDA pin here.
519+
520+ config LV_TOUCH_I2C_SCL
521+ int "GPIO for clock signal SCL (I2C)"
522+ range 0 39 if IDF_TARGET_ESP32
523+ range 0 43 if IDF_TARGET_ESP32S2
524+ range 0 21 if IDF_TARGET_ESP32C3
525+
526+ default 3
527+ help
528+ Configure the I2C touchpanel SCL pin here.
529+ endmenu
530+
531+ menu "Touchpanel Configuration (GT911)"
532+ depends on LV_TOUCH_CONTROLLER_GT911
533+
534+ config LV_GT911_SWAPXY
535+ bool
536+ prompt "Swap X with Y coordinate."
537+ default y
538+
539+ config LV_GT911_INVERT_X
540+ bool
541+ prompt "Invert X coordinate value."
542+ default n
543+
544+ config LV_GT911_INVERT_Y
545+ bool
546+ prompt "Invert Y coordinate value."
547+ default y
548+
549+ endmenu
490550
491551endmenu
0 commit comments