Have upgraded our iMX6 based product from Quad to QuadPlus:
- Everything works, BUT video output is unstable (i.e. flicks to all black randomly) at high resolutions, e.g. 1920x1080
- At 1024x768, output is 100% stable.
- Both Parallel RGB and HDMI outputs are affected identically
- Reducing pixclk down to 120MHz (from stock 138MHz) improves the situation a bit, but does not fix it.
- memtester is rock solid, as is every other type of software I have tried, including heavy multithreaded OpenCV ML stuff.
- Tried upping and lowering ARM/SOC & 2.5V supplies (via the standard PF0100 PMIC), without any change.
- Changing to LDO bypass mode doesn't make it better or worse
- Adding extra bypassing to SOC_CAP didn't help at all.
- Scoping all power rails shows clean and in-spec voltages.
- Adding extra bypassing to SOC_CAP didn't help at all.
- Loading up the system up, with either a memory tester or an OpenGL app, makes it
worse, leading me to suspect memory bandwidth issue. Raw CPU load that uses no memory doesn't affect the output.
- memtester seems to run at a slightly greater speed than the Quad boards, indicating greater memory bandwidth is available on the QuadPlus boards.
- AXI priorities in NoC and the GPR regs seem to be set up sensibly.
- Linux 4.9.128 Uboot 2018.07-32726, both derived from Boundaries Devices's Git.
- 64bit 1G DDR3 memory
- No kernel message during flicker events, though these messages are in the log:
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_10 = 0x00080000
imx-ipuv3 2400000.ipu: IPU Warning - IPU_INT_STAT_5 = 0x08800000
Have I missed something important?
I'm not sure if it's HW, or an IPU datapath setup issue, or something else? I'm fishing for ideas for avenues to pursue at this point...