]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: tegra: Support EMC frequency tables on Tegra210
authorThierry Reding <treding@nvidia.com>
Wed, 13 Oct 2021 20:06:02 +0000 (13:06 -0700)
committerTom Warren <twarren@nvidia.com>
Wed, 13 Oct 2021 21:18:30 +0000 (14:18 -0700)
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>
board/nvidia/p2371-2180/p2371-2180.c
board/nvidia/p3450-0000/p3450-0000.c
include/configs/tegra210-common.h

index f5126c552b00dd5223edb99c93229a3392e929ca..cd5dc2de629ec0b934ddc7582fdee60ebd1817f6 100644 (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;
index 97b99001a93d15ec11f74092bfd6d984ab92f03f..ba5752826582a00d301908ca53eaff30a36d934c 100644 (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;
index b9e04147be3048cee9545e1151713db784b0771f..e1b91f62505057cdfdc26820d199a0881029428b 100644 (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