Home | History | Annotate | Download | only in mach-tegra
      1 // SPDX-License-Identifier: GPL-2.0+
      2 /*
      3  * Copyright (c) 2011 The Chromium OS Authors.
      4  */
      5 
      6 #include <common.h>
      7 #include "emc.h"
      8 #include <asm/io.h>
      9 #include <asm/arch/clock.h>
     10 #include <asm/arch/emc.h>
     11 #include <asm/arch/pmu.h>
     12 #include <asm/arch/tegra.h>
     13 #include <asm/arch-tegra/ap.h>
     14 #include <asm/arch-tegra/clk_rst.h>
     15 #include <asm/arch-tegra/sys_proto.h>
     16 
     17 DECLARE_GLOBAL_DATA_PTR;
     18 
     19 /* These rates are hard-coded for now, until fdt provides them */
     20 #define EMC_SDRAM_RATE_T20	(333000 * 2 * 1000)
     21 #define EMC_SDRAM_RATE_T25	(380000 * 2 * 1000)
     22 
     23 int board_emc_init(void)
     24 {
     25 	unsigned rate;
     26 
     27 	switch (tegra_get_chip_sku()) {
     28 	default:
     29 	case TEGRA_SOC_T20:
     30 		rate  = EMC_SDRAM_RATE_T20;
     31 		break;
     32 	case TEGRA_SOC_T25:
     33 		rate  = EMC_SDRAM_RATE_T25;
     34 		break;
     35 	}
     36 	return tegra_set_emc(gd->fdt_blob, rate);
     37 }
     38