xref: /rk3399_rockchip-uboot/include/configs/tegra114-common.h (revision 07067145dee374e970ffc033cff76982e8cf2e19)
1*07067145STom Warren /*
2*07067145STom Warren  * Copyright (c) 2010-2013, NVIDIA CORPORATION.  All rights reserved.
3*07067145STom Warren  *
4*07067145STom Warren  * This program is free software; you can redistribute it and/or modify it
5*07067145STom Warren  * under the terms and conditions of the GNU General Public License,
6*07067145STom Warren  * version 2, as published by the Free Software Foundation.
7*07067145STom Warren  *
8*07067145STom Warren  * This program is distributed in the hope it will be useful, but WITHOUT
9*07067145STom Warren  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10*07067145STom Warren  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11*07067145STom Warren  * more details.
12*07067145STom Warren  *
13*07067145STom Warren  * You should have received a copy of the GNU General Public License
14*07067145STom Warren  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
15*07067145STom Warren  */
16*07067145STom Warren 
17*07067145STom Warren #ifndef _TEGRA114_COMMON_H_
18*07067145STom Warren #define _TEGRA114_COMMON_H_
19*07067145STom Warren #include "tegra-common.h"
20*07067145STom Warren 
21*07067145STom Warren /*
22*07067145STom Warren  * NS16550 Configuration
23*07067145STom Warren  */
24*07067145STom Warren #define V_NS16550_CLK		408000000	/* 408MHz (pllp_out0) */
25*07067145STom Warren 
26*07067145STom Warren /*
27*07067145STom Warren  * High Level Configuration Options
28*07067145STom Warren  */
29*07067145STom Warren #define CONFIG_TEGRA114			/* in a NVidia Tegra114 core */
30*07067145STom Warren 
31*07067145STom Warren /* Environment information, boards can override if required */
32*07067145STom Warren #define CONFIG_LOADADDR		0x80408000	/* def. location for kernel */
33*07067145STom Warren 
34*07067145STom Warren /*
35*07067145STom Warren  * Miscellaneous configurable options
36*07067145STom Warren  */
37*07067145STom Warren #define CONFIG_SYS_LOAD_ADDR	0x80A00800	/* default */
38*07067145STom Warren #define CONFIG_STACKBASE	0x82800000	/* 40MB */
39*07067145STom Warren 
40*07067145STom Warren /*-----------------------------------------------------------------------
41*07067145STom Warren  * Physical Memory Map
42*07067145STom Warren  */
43*07067145STom Warren #define CONFIG_SYS_TEXT_BASE	0x8010E000
44*07067145STom Warren 
45*07067145STom Warren /*
46*07067145STom Warren  * Memory layout for where various images get loaded by boot scripts:
47*07067145STom Warren  *
48*07067145STom Warren  * scriptaddr can be pretty much anywhere that doesn't conflict with something
49*07067145STom Warren  *   else. Put it above BOOTMAPSZ to eliminate conflicts.
50*07067145STom Warren  *
51*07067145STom Warren  * kernel_addr_r must be within the first 128M of RAM in order for the
52*07067145STom Warren  *   kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will
53*07067145STom Warren  *   decompress itself to 0x8000 after the start of RAM, kernel_addr_r
54*07067145STom Warren  *   should not overlap that area, or the kernel will have to copy itself
55*07067145STom Warren  *   somewhere else before decompression. Similarly, the address of any other
56*07067145STom Warren  *   data passed to the kernel shouldn't overlap the start of RAM. Pushing
57*07067145STom Warren  *   this up to 16M allows for a sizable kernel to be decompressed below the
58*07067145STom Warren  *   compressed load address.
59*07067145STom Warren  *
60*07067145STom Warren  * fdt_addr_r simply shouldn't overlap anything else. Choosing 32M allows for
61*07067145STom Warren  *   the compressed kernel to be up to 16M too.
62*07067145STom Warren  *
63*07067145STom Warren  * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 33M allows
64*07067145STom Warren  *   for the FDT/DTB to be up to 1M, which is hopefully plenty.
65*07067145STom Warren  */
66*07067145STom Warren #define MEM_LAYOUT_ENV_SETTINGS \
67*07067145STom Warren 	"scriptaddr=0x90000000\0" \
68*07067145STom Warren 	"kernel_addr_r=0x81000000\0" \
69*07067145STom Warren 	"fdt_addr_r=0x82000000\0" \
70*07067145STom Warren 	"ramdisk_addr_r=0x82100000\0"
71*07067145STom Warren 
72*07067145STom Warren /* Defines for SPL */
73*07067145STom Warren #define CONFIG_SPL_TEXT_BASE		0x80108000
74*07067145STom Warren #define CONFIG_SYS_SPL_MALLOC_START	0x80090000
75*07067145STom Warren #define CONFIG_SPL_STACK		0x800ffffc
76*07067145STom Warren 
77*07067145STom Warren #define CONFIG_SPL_LDSCRIPT		"$(CPUDIR)/tegra114/u-boot-spl.lds"
78*07067145STom Warren 
79*07067145STom Warren #endif /* _TEGRA114_COMMON_H_ */
80