diff options
| author | Tom Warren <twarren.nvidia@gmail.com> | 2012-12-11 13:34:15 +0000 | 
|---|---|---|
| committer | Tom Warren <twarren@nvidia.com> | 2013-01-16 13:40:07 -0700 | 
| commit | b2871037d2c4c5f55b8de8ac593babbdab6624cb (patch) | |
| tree | 6a2d7ea87099d3fd4380a30999d53fc3f79936dd /arch/arm/cpu/tegra-common/board.c | |
| parent | 5576aab5173e81462b852c35fe8d1c03c310afc2 (diff) | |
| download | olio-uboot-2014.01-b2871037d2c4c5f55b8de8ac593babbdab6624cb.tar.xz olio-uboot-2014.01-b2871037d2c4c5f55b8de8ac593babbdab6624cb.zip | |
Tegra30: Add common CPU (shared) files
These files are used by both SPL and main U-Boot.
Also made minor changes to shared Tegra code to support
T30 differences.
Signed-off-by: Tom Warren <twarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch/arm/cpu/tegra-common/board.c')
| -rw-r--r-- | arch/arm/cpu/tegra-common/board.c | 41 | 
1 files changed, 35 insertions, 6 deletions
| diff --git a/arch/arm/cpu/tegra-common/board.c b/arch/arm/cpu/tegra-common/board.c index b2e10c6db..af1879c50 100644 --- a/arch/arm/cpu/tegra-common/board.c +++ b/arch/arm/cpu/tegra-common/board.c @@ -54,16 +54,37 @@ unsigned int query_sdram_size(void)  	reg = readl(&pmc->pmc_scratch20);  	debug("pmc->pmc_scratch20 (ODMData) = 0x%08x\n", reg); -	/* bits 31:28 in OdmData are used for RAM size  */ +#if defined(CONFIG_TEGRA20) +	/* bits 30:28 in OdmData are used for RAM size on T20  */ +	reg &= 0x70000000; +  	switch ((reg) >> 28) {  	case 1:  		return 0x10000000;	/* 256 MB */ +	case 0:  	case 2:  	default:  		return 0x20000000;	/* 512 MB */  	case 3:  		return 0x40000000;	/* 1GB */  	} +#else	/* Tegra30 */ +	/* bits 31:28 in OdmData are used for RAM size on T30  */ +	switch ((reg) >> 28) { +	case 0: +	case 1: +	default: +		return 0x10000000;	/* 256 MB */ +	case 2: +		return 0x20000000;	/* 512 MB */ +	case 3: +		return 0x30000000;	/* 768 MB */ +	case 4: +		return 0x40000000;	/* 1GB */ +	case 8: +		return 0x7ff00000;	/* 2GB - 1MB */ +	} +#endif  }  int dram_init(void) @@ -82,19 +103,27 @@ int checkboard(void)  #endif	/* CONFIG_DISPLAY_BOARDINFO */  static int uart_configs[] = { -#if defined(CONFIG_TEGRA_UARTA_UAA_UAB) +#if defined(CONFIG_TEGRA20) + #if defined(CONFIG_TEGRA_UARTA_UAA_UAB)  	FUNCMUX_UART1_UAA_UAB, -#elif defined(CONFIG_TEGRA_UARTA_GPU) + #elif defined(CONFIG_TEGRA_UARTA_GPU)  	FUNCMUX_UART1_GPU, -#elif defined(CONFIG_TEGRA_UARTA_SDIO1) + #elif defined(CONFIG_TEGRA_UARTA_SDIO1)  	FUNCMUX_UART1_SDIO1, -#else + #else  	FUNCMUX_UART1_IRRX_IRTX, -#endif + #endif  	FUNCMUX_UART2_IRDA,  	-1,  	FUNCMUX_UART4_GMC,  	-1, +#else	/* Tegra30 */ +	FUNCMUX_UART1_ULPI,	/* UARTA */ +	-1, +	-1, +	-1, +	-1, +#endif  };  /** |