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

H. Nikolaus Schaller hns at goldelico.com
Sun Feb 25 18:57:57 CET 2024


> Am 24.02.2024 um 23:47 schrieb Paul Boddie <paul at boddie.org.uk>:
> Hello,
> 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!

Great again! Works for me (except that booting is slow because user-space
is waiting for some networking setup and runs out of memory).

Since your code makes our hackfixes even a little simpler, I have added them
to the letux/x1600 branch (which is being rebased tonight). A new work-x1600-v7
will then come.


More information about the Letux-kernel mailing list