TS-4700 errata screen shaking

From Technologic Systems Manuals
Synopsis LCD Shakes
Affected TS-4700 REV C
Status Workarounds available


TS-4700 images originating from images older than 02-02-2016 show horizontal shaking on the 10" TPC, or typically any displays 800x600 or larger.


The shaking is caused by the LCD having insufficient bandwidth to the memory. Failing to draw on time causes the screen to appear to shake. The fix is to adjust the DMA priority to allow the LCD controller higher priority to the memory to always draw on time.

In startup add the command:

 devmem 0xB0000280 32 0x10102

This can be added directly into your Linuxrc to happen on startup. For example, adding before getdio:

 ifconfig lo up
 route add -net netmask lo
 xuartctl --server 
 eval `ts4700ctl --info`
 export bootdev model baseboard_model pclk dclk
 devmem 0xB0000280 32 0x10102
 eval `ts4700ctl --getdio`
 let dio9="(dio >> 9) & 0x1"

You can also apply the fix just in Debian if you run this before any graphics:

 /initrd/bin/busybox devmem 0xB0000280 32 0x10102