From: Thierry Reding Date: Wed, 13 Oct 2021 20:06:02 +0000 (-0700) Subject: ARM: tegra: Support EMC frequency tables on Tegra210 X-Git-Tag: v2022.01-rc1~24^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f814ff5e0b10a0b6a1b303a849e68f302f0d8627;p=thirdparty%2Fu-boot.git 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 Signed-off-by: Tom Warren --- diff --git a/board/nvidia/p2371-2180/p2371-2180.c b/board/nvidia/p2371-2180/p2371-2180.c index f5126c552b0..cd5dc2de629 100644 --- a/board/nvidia/p2371-2180/p2371-2180.c +++ b/board/nvidia/p2371-2180/p2371-2180.c @@ -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; diff --git a/board/nvidia/p3450-0000/p3450-0000.c b/board/nvidia/p3450-0000/p3450-0000.c index 97b99001a93..ba575282658 100644 --- a/board/nvidia/p3450-0000/p3450-0000.c +++ b/board/nvidia/p3450-0000/p3450-0000.c @@ -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; diff --git a/include/configs/tegra210-common.h b/include/configs/tegra210-common.h index b9e04147be3..e1b91f62505 100644 --- a/include/configs/tegra210-common.h +++ b/include/configs/tegra210-common.h @@ -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