1- From: crackerjacques <jack@supremeoverlordjabs.co>
2- Subject: [PATCH] input: touchscreen: goodix: add goodix,no-cfg-from-disk DT opt-out (RG DS dual gt911)
1+ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2+ From: "J.H." <129548912+crackerjacques@users.noreply.github.com>
3+ Date: Thu, 11 Jun 2026 11:45:33 +0200
4+ Subject: [ARCHEOLOGY] board: add Anbernic RG DS (RK3568 dual 4" 640x480
5+ handheld) as CSC (#9934)
36
4- The Anbernic RG DS has two gt911 touchscreens (same ID 911, same i2c addr on
5- separate buses). With load_cfg_from_disk=true the driver requests
6- goodix_911_cfg.bin asynchronously and sets up the IRQ in the firmware callback;
7- with two identical chips requesting the same (missing) firmware this leaves one
8- panel without a working touch IRQ (and incurs a ~60s firmware timeout).
9-
10- Rather than changing the default for every goodix device, add a
11- "goodix,no-cfg-from-disk" device-tree property. When present the driver keeps
12- load_cfg_from_disk off and sets the IRQ up synchronously in probe using the
13- chip's built-in config. Only the RG DS opts in (both gt911 nodes); all other
14- boards keep the upstream default. Mirrors ROCKNIX's goodix usability fix.
15-
16- Signed-off-by: crackerjacques <jack@supremeoverlordjabs.co>
7+ > X-Git-Archeology: > recovered message: > * board: add Anbernic RG DS (RK3568 dual 4" handheld) as CSC
8+ > X-Git-Archeology: > recovered message: > RK3568 clamshell handheld, dual 4" 640x480 MIPI-DSI. Supported by mainline
9+ > X-Git-Archeology: > recovered message: > drivers on edge (7.0) and bleedingedge (7.1): jadard panels, adc-joystick,
10+ > X-Git-Archeology: > recovered message: > goodix touch, rk817 audio, rtw88 wifi, usb. The kernel options for these are
11+ > X-Git-Archeology: > recovered message: > set in the shared rockchip64 edge/bleedingedge configs (not the board file).
12+ > X-Git-Archeology: > recovered message: > Carries the out-of-tree aw87391 speaker-amp driver (plus its DTS wiring on 7.0;
13+ > X-Git-Archeology: > recovered message: > 7.1 already has the amp nodes in the mainline DTS) and a goodix dual-gt911
14+ > X-Git-Archeology: > recovered message: > cfg-from-disk fix. Builds mainline U-Boot v2026.01 (vendor 2017.09 does not
15+ > X-Git-Archeology: > recovered message: > boot this board).
16+ > X-Git-Archeology: > recovered message: > Needs rk3568 DDR v1.23 / BL31 v1.45 from armbian/rkbin (separate PR).
17+ > X-Git-Archeology: > recovered message: > Signed-off-by: crackerjacques <jack@supremeoverlordjabs.co>
18+ > X-Git-Archeology: > recovered message: > * anbernic-rg-ds: drop redundant board name from header comment
19+ > X-Git-Archeology: > recovered message: > BOARD_NAME already carries 'Anbernic RG DS'; keep only the hardware
20+ > X-Git-Archeology: > recovered message: > description on the first-line interactive comment (review: @EvilOlaf).
21+ > X-Git-Archeology: > recovered message: > Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22+ > X-Git-Archeology: > recovered message: > ---------
23+ > X-Git-Archeology: > recovered message: > Signed-off-by: crackerjacques <jack@supremeoverlordjabs.co>
24+ > X-Git-Archeology: > recovered message: > Co-authored-by: crackerjacques <jack@supremeoverlordjabs.co>
25+ > X-Git-Archeology: > recovered message: > Co-authored-by: jackheinlein <crackerjaxx@yandex.com>
26+ > X-Git-Archeology: - Revision fbfc3ea659f651281d97cfdbf001ca4aa88abeeb: https://github.com/armbian/build/commit/fbfc3ea659f651281d97cfdbf001ca4aa88abeeb
27+ > X-Git-Archeology: Date: Thu, 11 Jun 2026 11:45:33 +0200
28+ > X-Git-Archeology: From: J.H. <129548912+crackerjacques@users.noreply.github.com>
29+ > X-Git-Archeology: Subject: board: add Anbernic RG DS (RK3568 dual 4" 640x480 handheld) as CSC (#9934)
30+ > X-Git-Archeology:
31+ ---
32+ arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts | 2 ++
33+ drivers/input/touchscreen/goodix.c | 9 +++++++++
34+ 2 files changed, 11 insertions(+)
1735
36+ diff --git a/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts b/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts
37+ index 111111111111..222222222222 100644
38+ --- a/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts
39+ +++ b/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts
40+ @@ -883,6 +883,7 @@ &i2c3 {
41+ touch1: touchscreen@14 {
42+ compatible = "goodix,gt911";
43+ reg = <0x14>;
44+ + goodix,no-cfg-from-disk;
45+ AVDD28-supply = <&vcc2v8_dvp>;
46+ interrupt-parent = <&gpio0>;
47+ interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>;
48+ @@ -908,6 +909,7 @@ &i2c5 {
49+ touch0: touchscreen@14 {
50+ compatible = "goodix,gt911";
51+ reg = <0x14>;
52+ + goodix,no-cfg-from-disk;
53+ AVDD28-supply = <&vcc2v8_dvp>;
54+ interrupt-parent = <&gpio0>;
55+ interrupts = <RK_PB6 IRQ_TYPE_LEVEL_LOW>;
56+ diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
57+ index 111111111111..222222222222 100644
1858--- a/drivers/input/touchscreen/goodix.c
1959+++ b/drivers/input/touchscreen/goodix.c
20- @@ -1021,7 +1021,16 @@
21- default:
60+ @@ -1022,6 +1022,15 @@ static int goodix_get_gpio_config(struct goodix_ts_data *ts)
2261 if (ts->gpiod_int && ts->gpiod_rst) {
2362 ts->reset_controller_at_probe = true;
2463 ts->load_cfg_from_disk = true;
@@ -34,21 +73,6 @@ Signed-off-by: crackerjacques <jack@supremeoverlordjabs.co>
3473 ts->irq_pin_access_method = IRQ_PIN_ACCESS_GPIO;
3574 }
3675 }
37- --- a/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts
38- +++ b/arch/arm64/boot/dts/rockchip/rk3568-anbernic-rg-ds.dts
39- @@ -920,6 +920,7 @@
40- touch1: touchscreen@14 {
41- compatible = "goodix,gt911";
42- reg = <0x14>;
43- + goodix,no-cfg-from-disk;
44- AVDD28-supply = <&vcc2v8_dvp>;
45- interrupt-parent = <&gpio0>;
46- interrupts = <RK_PC0 IRQ_TYPE_LEVEL_LOW>;
47- @@ -944,6 +945,7 @@
48- touch0: touchscreen@14 {
49- compatible = "goodix,gt911";
50- reg = <0x14>;
51- + goodix,no-cfg-from-disk;
52- AVDD28-supply = <&vcc2v8_dvp>;
53- interrupt-parent = <&gpio0>;
54- interrupts = <RK_PB6 IRQ_TYPE_LEVEL_LOW>;
76+ - -
77+ Armbian
78+
0 commit comments