Other Parts Discussed in Thread: SYSCONFIG
Dear TI team,
we've been working on the AM64x for quite some time now, and in the process have seen the DDR config tools versions 0.03.00, 0.08.00 and 0.08.10 so far.
With every new tool version, the generated output is slightly different. Combined with the lack of proper documentation for the AM64x DDR controller registers (they're missing from the AM64x TRM, but something similar is documented in the J7200 TRM) it is a very tedious task figuring out what changes, and if these changes are desirable.
Would it be possible to document changes between DDR config tool versions, so that we know whether there's anything useful changed for us?
One issue seems to be that the tool only stores settings that differ from the "default", but these defaults appear to have changed between versions, e.g. for our LPDDR4 ODT_ca used to be RZQ/6. That was the default for version 0.03.00, but since 0.08.10 the default is RZQ/4. If I open our old .syscfg with the newer version, the new default is used, because the value isn't stored in the .syscfg file.
What are TI's recommendations for handling DDR config tool version updates?
I've downloaded all versions of the tool via dev.ti.com/tirex for offline use, because in my opinion relying on a cloud-based tool for product development is just asking for problems a few years down the road. I'm pretty sure that in the past I've been able to select older versions of the DDR config tool, but now there's only 0.08.10 available.
Is there an archive of previous DDR config tool versions available somewhere?
I'm able to open my older .syscfg file with the current version, but there seems to be an issue with the downloaded versions. It shows me all my settings, but the new "DBI" configuration option is missing, and the "Generated Files" section only lists the .syscfg file. After opening the .syscfg file via the cloud based version and exporting it from there I'm able to fully use it in the downloaded version, too.
Are there any known limitations when using downloaded versions of the DDR config tool?
The reason why I'm looking into this at all is an issue that we're seeing with U-Boot and our custom board (I'll create a different thread for this).
I'm basically wondering why U-Boot works at all for the SK-AM64 (which has LPDDR4, like our custom board) and wanted to see if maybe there have been any changes in the DDR config tool that could explain why my configuration (based on an older version) has problems.
After managing to open our existing config and exporting the .dtsi file I found 13 changed registers when diffing our old .dtsi with the newly generated.
I managed to look up the affected registers in the header files in the source code (the old PDK had a DDR4 driver that we based our MCU+ SDK LPDDR4 driver on), and with the J7200 TRM that uses a similar DDR controller (but different register numbers) I was able to understand most of the changes, but that's a huge amount of manual work.
The changes that I can't make any sense of are these:
#define DDRSS_PHY_91_DATA 0x0100C0C0 -> 0x0000C0C0 #define DDRSS_PHY_347_DATA 0x0100C0C0 -> 0x0000C0C0 #define DDRSS_PHY_1375_DATA 0x030207AA -> 0x03020000
The first two appear to be internal to the DDR4 controller and phy connection.
The last change appears to be related to some Vref pad settings, but even the J7200 manual only says "Pad VREF control settings for the address/control".
It's worrying me if some settings change that we've been using for 6+ months. There could be good reasons for these changes, maybe explaining some odd behavior that we haven't been able to pinpoint yet, but then I believe it's equally likely that changes like these introduce new problems that we haven't seen before.
What effect should these changes have? In which case are they necessary?
Best Regards,
Dominic