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