// SPDX-License-Identifier: GPL-2.0+ /* * Copyright (c) 2011 The Chromium OS Authors. */ #include <common.h> #include <asm/global_data.h> #include "emc.h" #include <asm/io.h> #include <asm/arch/clock.h> #include <asm/arch/emc.h> #include <asm/arch/tegra.h> #include <asm/arch-tegra/ap.h> #include <asm/arch-tegra/clk_rst.h> #include <asm/arch-tegra/pmu.h> #include <asm/arch-tegra/sys_proto.h> DECLARE_GLOBAL_DATA_PTR; /* These rates are hard-coded for now, until fdt provides them */ #define EMC_SDRAM_RATE_T20 (333000 * 2 * 1000) #define EMC_SDRAM_RATE_T25 (380000 * 2 * 1000) int board_emc_init(void) { unsigned rate; switch (tegra_get_chip_sku()) { default: case TEGRA_SOC_T20: rate = EMC_SDRAM_RATE_T20; break; case TEGRA_SOC_T25: rate = EMC_SDRAM_RATE_T25; break; } return tegra_set_emc(gd->fdt_blob, rate); }