ti_omap5_common.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. /*
  2. * (C) Copyright 2013
  3. * Texas Instruments Incorporated.
  4. * Sricharan R <r.sricharan@ti.com>
  5. *
  6. * Derived from OMAP4 done by:
  7. * Aneesh V <aneesh@ti.com>
  8. *
  9. * TI OMAP5 AND DRA7XX common configuration settings
  10. *
  11. * SPDX-License-Identifier: GPL-2.0+
  12. *
  13. * For more details, please see the technical documents listed at
  14. * http://www.ti.com/product/omap5432
  15. */
  16. #ifndef __CONFIG_TI_OMAP5_COMMON_H
  17. #define __CONFIG_TI_OMAP5_COMMON_H
  18. /* Common ARM Erratas */
  19. #define CONFIG_ARM_ERRATA_798870
  20. /* Use General purpose timer 1 */
  21. #define CONFIG_SYS_TIMERBASE GPT2_BASE
  22. /*
  23. * For the DDR timing information we can either dynamically determine
  24. * the timings to use or use pre-determined timings (based on using the
  25. * dynamic method. Default to the static timing infomation.
  26. */
  27. #define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
  28. #ifndef CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS
  29. #define CONFIG_SYS_AUTOMATIC_SDRAM_DETECTION
  30. #define CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS
  31. #endif
  32. #define CONFIG_PALMAS_POWER
  33. #include <asm/arch/cpu.h>
  34. #include <asm/arch/omap.h>
  35. #include <configs/ti_armv7_omap.h>
  36. /*
  37. * Hardware drivers
  38. */
  39. #define CONFIG_SYS_NS16550_CLK 48000000
  40. #if !defined(CONFIG_DM_SERIAL)
  41. #define CONFIG_SYS_NS16550_SERIAL
  42. #define CONFIG_SYS_NS16550_REG_SIZE (-4)
  43. #endif
  44. /*
  45. * Environment setup
  46. */
  47. #ifndef DFUARGS
  48. #define DFUARGS
  49. #endif
  50. #include <environment/ti/boot.h>
  51. #include <environment/ti/mmc.h>
  52. #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
  53. #define CONFIG_EXTRA_ENV_SETTINGS \
  54. DEFAULT_LINUX_BOOT_ENV \
  55. DEFAULT_MMC_TI_ARGS \
  56. DEFAULT_FIT_TI_ARGS \
  57. DEFAULT_COMMON_BOOT_TI_ARGS \
  58. DEFAULT_FDT_TI_ARGS \
  59. DFUARGS \
  60. NETARGS \
  61. NANDARGS \
  62. /*
  63. * SPL related defines. The Public RAM memory map the ROM defines the
  64. * area between 0x40300000 and 0x4031E000 as a download area for OMAP5.
  65. * On DRA7xx/AM57XX the download area is between 0x40300000 and 0x4037E000.
  66. * We set CONFIG_SPL_DISPLAY_PRINT to have omap_rev_string() called and
  67. * print some information.
  68. */
  69. #ifdef CONFIG_TI_SECURE_DEVICE
  70. /*
  71. * For memory booting on HS parts, the first 4KB of the internal RAM is
  72. * reserved for secure world use and the flash loader image is
  73. * preceded by a secure certificate. The SPL will therefore run in internal
  74. * RAM from address 0x40301350 (0x40300000+0x1000(reserved)+0x350(cert)).
  75. */
  76. #define TI_OMAP5_SECURE_BOOT_RESV_SRAM_SZ 0x1000
  77. #define CONFIG_SPL_TEXT_BASE 0x40301350
  78. /* If no specific start address is specified then the secure EMIF
  79. * region will be placed at the end of the DDR space. In order to prevent
  80. * the main u-boot relocation from clobbering that memory and causing a
  81. * firewall violation, we tell u-boot that memory is protected RAM (PRAM)
  82. */
  83. #if (CONFIG_TI_SECURE_EMIF_REGION_START == 0)
  84. #define CONFIG_PRAM (CONFIG_TI_SECURE_EMIF_TOTAL_REGION_SIZE) >> 10
  85. #endif
  86. #else
  87. /*
  88. * For all booting on GP parts, the flash loader image is
  89. * downloaded into internal RAM at address 0x40300000.
  90. */
  91. #define CONFIG_SPL_TEXT_BASE 0x40300000
  92. #endif
  93. #define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/u-boot-spl.lds"
  94. #define CONFIG_SYS_SPL_ARGS_ADDR (CONFIG_SYS_SDRAM_BASE + \
  95. (128 << 20))
  96. #ifdef CONFIG_NAND
  97. #define CONFIG_SPL_NAND_AM33XX_BCH /* ELM support */
  98. #define NANDARGS \
  99. "mtdids=" MTDIDS_DEFAULT "\0" \
  100. "mtdparts=" MTDPARTS_DEFAULT "\0" \
  101. "nandargs=setenv bootargs console=${console} " \
  102. "${optargs} " \
  103. "root=${nandroot} " \
  104. "rootfstype=${nandrootfstype}\0" \
  105. "nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048\0" \
  106. "nandrootfstype=ubifs rootwait=1\0" \
  107. "nandboot=echo Booting from nand ...; " \
  108. "run nandargs; " \
  109. "nand read ${fdtaddr} NAND.u-boot-spl-os; " \
  110. "nand read ${loadaddr} NAND.kernel; " \
  111. "bootz ${loadaddr} - ${fdtaddr}\0"
  112. #else
  113. #define NANDARGS ""
  114. #endif
  115. #ifdef CONFIG_SPL_BUILD
  116. #undef CONFIG_TIMER
  117. #endif
  118. #endif /* __CONFIG_TI_OMAP5_COMMON_H */