ARM: tegra: Support EMC frequency tables on Tegra210

The EMC frequency tables are created from a training sequence performed
during early boot and passed in via a reserved memory region by nvtboot.
Copy this table to the kernel DTB so that the kernel can use it to scale
the EMC frequency at runtime.

Note that early bootloaders store the EMC table at an address that
currently intersects with the load address of the initial ramdisk. In
order to avoid copying the table to a different address, simply change
the load address for the initial ramdisk in U-Boot.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
Thierry Reding 2021-10-13 13:06:02 -07:00 committed by Tom Warren
parent db8a0306c9
commit f814ff5e0b
3 changed files with 3 additions and 1 deletions

View File

@ -183,6 +183,7 @@ static void ft_carveout_setup(void *fdt)
static const char * const nodes[] = {
"/host1x@50000000/dc@54200000",
"/host1x@50000000/dc@54240000",
"/external-memory-controller@7001b000",
};
unsigned int i;
int err;

View File

@ -182,6 +182,7 @@ static void ft_carveout_setup(void *fdt)
static const char * const nodes[] = {
"/host1x@50000000/dc@54200000",
"/host1x@50000000/dc@54240000",
"/external-memory-controller@7001b000",
};
unsigned int i;
int err;

View File

@ -44,7 +44,7 @@
"kernel_addr_r=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
"fdtfile=" FDTFILE "\0" \
"fdt_addr_r=0x83000000\0" \
"ramdisk_addr_r=0x83200000\0"
"ramdisk_addr_r=0x83420000\0"
/* For USB EHCI controller */
#define CONFIG_EHCI_IS_TDI