[PATCH] tqma6: Fix DDR configuration
Markus Niebel
Markus.Niebel at ew.tq-group.com
Thu Nov 23 14:04:43 CET 2023
Hello Miquel,
> Initially investigating a Linux network issue causing a lot of drop and
> poor network performances on a custom system based on a TQMA6A module
> (based on an iMX6Q), [1st link below].
>
> I eventually correlated my observations with a contention at the NIC
> level when in concurrency with the graphics pipeline. Troubleshooting
> this in the kernel lead to disabling DMA bursts accesses made by the IPU
> in order to avoid triggering the QoS at the interconnect level, reducing
> from 50 to 10% the drop rate on eth0, [2nd link below]. The solution
> worked on my setup but not on others, which still suffered from
> abnormally high drop rates even with this "fix".
>
> After looking a while into TQ Systems BSP I figured out a number of
> differences in recent U-Boot out-of-tree patches they had in their
> repository [3rd link]. Parsing the differences one after the other lead
> me to this final solution.
>
> The reset pad of the DDR controller was apparently misconfigured, Bit
> 18-19 picturing the "DDR select field". The current value b11 is
> reserved. The only defined value as of version 6 of the iMX6Q manual was
> b00 "DDR3 and LPDDR2 mode". In practice no register difference has been
> spotted after changing this configuration but all issues tracked thus
> far just vanished. All previous fixes have been proven irrelevant. Just
> clearing this field solved all our network issues and the drop rate as
> measured by iperf3 felt back to 0%.
>
> Link:
> https://lore.kernel.org/netdev/20231012193410.3d1812cf@xps-13/
>
> Link:
> https://lists.freedesktop.org/archives/dri-devel/2023-October/428251.html
>
> Link:
> https://github.com/tq-systems/u-boot-tqmaxx/commit/15eb6abbefbf6916c28467b85485911dad3da6bc
>
> Signed-off-by: Miquel Raynal <
> miquel.raynal at bootlin.com
> >
> ---
> board/tq/tqma6/tqma6q.cfg | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/board/tq/tqma6/tqma6q.cfg b/board/tq/tqma6/tqma6q.cfg
> index a49489aed3f..a345c4de93d 100644
> --- a/board/tq/tqma6/tqma6q.cfg
> +++ b/board/tq/tqma6/tqma6q.cfg
> @@ -36,7 +36,7 @@ DATA 4, MX6_IOM_DRAM_SDCLK_1, 0x00008030
> DATA 4, MX6_IOM_DRAM_CAS, 0x00008030
> DATA 4, MX6_IOM_DRAM_RAS, 0x00008030
> DATA 4, MX6_IOM_GRP_ADDDS, 0x00000030
> -DATA 4, MX6_IOM_DRAM_RESET, 0x000C3030
> +DATA 4, MX6_IOM_DRAM_RESET, 0x00003030
Thank you for pointing this out. Originally this error came from an
older/ancient reference manual. Sorry that we missed to bring this
upstream. We will send the changes for DCD data in the next days.
> DATA 4, MX6_IOM_DRAM_SDCKE0, 0x00003000
> DATA 4, MX6_IOM_DRAM_SDCKE1, 0x00000000
> DATA 4, MX6_IOM_DRAM_SDBA2, 0x00000000
> --
> 2.34.1
Markus
--
TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany
Amtsgericht München, HRB 105018
Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider
http://www.tq-group.com/
More information about the U-Boot
mailing list