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...
Update: I have obtained a QuadPlus Wandboard, which has a very similar design, but it does not exhibit any fault using the same kernel, software, and a nearly identical device tree. However running my u-boot on the Wandboard show up the same fault, so it's probably a DDR setup issue with the version of u-boot I have. Will track down the working version that came with the wandboard and re-compile it for my board.
Thanks.
Hi Tony
one can check EB828 MMDC & NoC Configuration for Optimal DDR3 Performance
https://www.nxp.com/docs/en/engineering-bulletin/EB828.pdf
and memory profile tool About MMDC Profiling Tool for i.MX6
mmdc\test - imx-test - i.MX Driver Test Application Software
Also try with nxp linux from linux-imx - i.MX Linux kernel
Linux documentation
i.MX Software | NXP
Note, boundaries devices's software is supported by boundary devices directly
https://boundarydevices.com/software/
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------