183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0 */ 207067145STom Warren /* 307067145STom Warren * Copyright (c) 2010-2013, NVIDIA CORPORATION. All rights reserved. 407067145STom Warren */ 507067145STom Warren 607067145STom Warren #ifndef _TEGRA114_COMMON_H_ 707067145STom Warren #define _TEGRA114_COMMON_H_ 807067145STom Warren #include "tegra-common.h" 907067145STom Warren 1007067145STom Warren /* 1107067145STom Warren * NS16550 Configuration 1207067145STom Warren */ 1307067145STom Warren #define V_NS16550_CLK 408000000 /* 408MHz (pllp_out0) */ 1407067145STom Warren 1507067145STom Warren /* 1607067145STom Warren * Miscellaneous configurable options 1707067145STom Warren */ 18*f16e3115SJonathan Hunter #define CONFIG_STACKBASE 0x83800000 /* 56MB */ 1907067145STom Warren 2007067145STom Warren /*----------------------------------------------------------------------- 2107067145STom Warren * Physical Memory Map 2207067145STom Warren */ 2307067145STom Warren 2407067145STom Warren /* 2507067145STom Warren * Memory layout for where various images get loaded by boot scripts: 2607067145STom Warren * 2707067145STom Warren * scriptaddr can be pretty much anywhere that doesn't conflict with something 2807067145STom Warren * else. Put it above BOOTMAPSZ to eliminate conflicts. 2907067145STom Warren * 30f940c72eSStephen Warren * pxefile_addr_r can be pretty much anywhere that doesn't conflict with 31f940c72eSStephen Warren * something else. Put it above BOOTMAPSZ to eliminate conflicts. 32f940c72eSStephen Warren * 3307067145STom Warren * kernel_addr_r must be within the first 128M of RAM in order for the 3407067145STom Warren * kernel's CONFIG_AUTO_ZRELADDR option to work. Since the kernel will 3507067145STom Warren * decompress itself to 0x8000 after the start of RAM, kernel_addr_r 3607067145STom Warren * should not overlap that area, or the kernel will have to copy itself 3707067145STom Warren * somewhere else before decompression. Similarly, the address of any other 3807067145STom Warren * data passed to the kernel shouldn't overlap the start of RAM. Pushing 39*f16e3115SJonathan Hunter * this up to 32M allows for a sizable kernel to be decompressed below the 4007067145STom Warren * compressed load address. 4107067145STom Warren * 42*f16e3115SJonathan Hunter * fdt_addr_r simply shouldn't overlap anything else. Choosing 48M allows for 43*f16e3115SJonathan Hunter * the compressed kernel to be up to 32M too. 4407067145STom Warren * 45*f16e3115SJonathan Hunter * ramdisk_addr_r simply shouldn't overlap anything else. Choosing 49M allows 4607067145STom Warren * for the FDT/DTB to be up to 1M, which is hopefully plenty. 4707067145STom Warren */ 4848cfca24SStephen Warren #define CONFIG_LOADADDR 0x81000000 4907067145STom Warren #define MEM_LAYOUT_ENV_SETTINGS \ 5007067145STom Warren "scriptaddr=0x90000000\0" \ 51f940c72eSStephen Warren "pxefile_addr_r=0x90100000\0" \ 5248cfca24SStephen Warren "kernel_addr_r=" __stringify(CONFIG_LOADADDR) "\0" \ 53*f16e3115SJonathan Hunter "fdt_addr_r=0x83000000\0" \ 54*f16e3115SJonathan Hunter "ramdisk_addr_r=0x83100000\0" 5507067145STom Warren 5607067145STom Warren /* Defines for SPL */ 5707067145STom Warren #define CONFIG_SPL_TEXT_BASE 0x80108000 5807067145STom Warren #define CONFIG_SYS_SPL_MALLOC_START 0x80090000 5907067145STom Warren #define CONFIG_SPL_STACK 0x800ffffc 6007067145STom Warren 61d6cf707eSJim Lin /* For USB EHCI controller */ 62d6cf707eSJim Lin #define CONFIG_EHCI_IS_TDI 6381d21e98SJim Lin #define CONFIG_USB_EHCI_TXFIFO_THRESH 0x10 64d6cf707eSJim Lin 6507067145STom Warren #endif /* _TEGRA114_COMMON_H_ */ 66