mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	KS2 ddr3 initialization uses ddr3_size global variable before u-boot relocation. Even if the variable is not being used after relocation, writing to it corrupts relocation table. This patch removes the global ddr3_size variable and uses local one instead. Signed-off-by: Vitaly Andrianov <vitalya@ti.com> Tested-by: Nishanth Menon <nm@ti.com>
		
			
				
	
	
		
			31 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			589 B
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Keystone2: DDR3 initialization
 | 
						|
 *
 | 
						|
 * (C) Copyright 2014
 | 
						|
 *     Texas Instruments Incorporated, <www.ti.com>
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier:     GPL-2.0+
 | 
						|
 */
 | 
						|
 | 
						|
#include <common.h>
 | 
						|
#include "ddr3_cfg.h"
 | 
						|
#include <asm/arch/ddr3.h>
 | 
						|
 | 
						|
static struct pll_init_data ddr3_400 = DDR3_PLL_400;
 | 
						|
 | 
						|
u32 ddr3_init(void)
 | 
						|
{
 | 
						|
	init_pll(&ddr3_400);
 | 
						|
 | 
						|
	/* No SO-DIMM, 2GB discreet DDR */
 | 
						|
	printf("DRAM: 2 GiB\n");
 | 
						|
 | 
						|
	/* Reset DDR3 PHY after PLL enabled */
 | 
						|
	ddr3_reset_ddrphy();
 | 
						|
 | 
						|
	ddr3_init_ddrphy(KS2_DDR3A_DDRPHYC, &ddr3phy_1600_2g);
 | 
						|
	ddr3_init_ddremif(KS2_DDR3A_EMIF_CTRL_BASE, &ddr3_1600_2g);
 | 
						|
 | 
						|
	return 2;
 | 
						|
}
 |