Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / u-boot / board / nvidia / common / emc.c
diff --git a/qemu/roms/u-boot/board/nvidia/common/emc.c b/qemu/roms/u-boot/board/nvidia/common/emc.c
new file mode 100644 (file)
index 0000000..8124f8a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2011 The Chromium OS Authors.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <asm/io.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/emc.h>
+#include <asm/arch/pmu.h>
+#include <asm/arch/tegra.h>
+#include <asm/arch-tegra/ap.h>
+#include <asm/arch-tegra/clk_rst.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);
+}