tegra114-common.h 2.8 KB

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