[Letux-kernel] X1600: GPIO shadow registers; TCU and log timestamps

Paul Boddie paul at boddie.org.uk
Sat Feb 24 23:47:16 CET 2024


I have pushed a changeset to work-x1600-v6 that enable GPIO shadow registers 
(PORTZ) on the X1600. Having demonstrated the functionality in my own low-
level environment, I suspected that the memory accesses were not being 
performed correctly. Sure enough, in the pinctrl-ingenic.c file, the other X-
series SoCs employ a special access_table member in the ingenic_chip_info 
structure. This allows them to bypass the definition of max_register that 
limits the memory accesses to the conventional GPIO ports.

As for the TCU, I first noticed that the interrupts were being specified as a 
single value with three subvalues, which I suspect was not correct. So, I 
split these interrupt values up. Then, I just copied various properties from 
the documentation for "ingenic,tcu" that I suspected had a role if the 
"simple-mfd" compatibility was being observed, also adding that value to the 
compatible property. Whether "simple-mfd" is involved or not, I now get a 
working TCU in /proc/interrupts and the system log seems to be more realistic.

Hope this helps to move the effort along!


More information about the Letux-kernel mailing list