tegra-common-post.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /*
  2. * (C) Copyright 2010-2012
  3. * NVIDIA Corporation <www.nvidia.com>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef __TEGRA_COMMON_POST_H
  8. #define __TEGRA_COMMON_POST_H
  9. /*
  10. * Size of malloc() pool
  11. */
  12. #ifdef CONFIG_USB_FUNCTION_DFU
  13. #define CONFIG_SYS_MALLOC_LEN (SZ_4M + \
  14. CONFIG_SYS_DFU_DATA_BUF_SIZE + \
  15. CONFIG_SYS_DFU_MAX_FILE_SIZE)
  16. #else
  17. #define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */
  18. #endif
  19. #define CONFIG_SYS_NONCACHED_MEMORY (1 << 20) /* 1 MiB */
  20. #ifndef CONFIG_SPL_BUILD
  21. #define BOOT_TARGET_DEVICES(func) \
  22. func(MMC, mmc, 1) \
  23. func(MMC, mmc, 0) \
  24. func(USB, usb, 0) \
  25. func(PXE, pxe, na) \
  26. func(DHCP, dhcp, na)
  27. #include <config_distro_bootcmd.h>
  28. #else
  29. #define BOOTENV
  30. #endif
  31. #ifdef CONFIG_TEGRA_KEYBOARD
  32. #define STDIN_KBD_KBC ",tegra-kbc"
  33. #else
  34. #define STDIN_KBD_KBC ""
  35. #endif
  36. #ifdef CONFIG_USB_KEYBOARD
  37. #define STDIN_KBD_USB ",usbkbd"
  38. #define CONFIG_SYS_USB_EVENT_POLL
  39. #define CONFIG_PREBOOT "usb start"
  40. #else
  41. #define STDIN_KBD_USB ""
  42. #endif
  43. #ifdef CONFIG_LCD
  44. #define STDOUT_LCD ",lcd"
  45. #else
  46. #define STDOUT_LCD ""
  47. #endif
  48. #ifdef CONFIG_DM_VIDEO
  49. #define STDOUT_VIDEO ",vidconsole"
  50. #else
  51. #define STDOUT_VIDEO ""
  52. #endif
  53. #ifdef CONFIG_CROS_EC_KEYB
  54. #define STDOUT_CROS_EC ",cros-ec-keyb"
  55. #else
  56. #define STDOUT_CROS_EC ""
  57. #endif
  58. #define TEGRA_DEVICE_SETTINGS \
  59. "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
  60. "stdout=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
  61. "stderr=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
  62. ""
  63. #ifndef BOARD_EXTRA_ENV_SETTINGS
  64. #define BOARD_EXTRA_ENV_SETTINGS
  65. #endif
  66. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  67. #ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  68. #define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  69. #endif
  70. #ifdef CONFIG_ARM64
  71. #define FDT_HIGH "ffffffffffffffff"
  72. #define INITRD_HIGH "ffffffffffffffff"
  73. #else
  74. #define FDT_HIGH "ffffffff"
  75. #define INITRD_HIGH "ffffffff"
  76. #endif
  77. #define CONFIG_EXTRA_ENV_SETTINGS \
  78. TEGRA_DEVICE_SETTINGS \
  79. MEM_LAYOUT_ENV_SETTINGS \
  80. "fdt_high=" FDT_HIGH "\0" \
  81. "initrd_high=" INITRD_HIGH "\0" \
  82. BOOTENV \
  83. BOARD_EXTRA_ENV_SETTINGS \
  84. CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  85. #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)
  86. #define CONFIG_TEGRA_SPI
  87. #endif
  88. /* overrides for SPL build here */
  89. #ifdef CONFIG_SPL_BUILD
  90. #define CONFIG_SKIP_LOWLEVEL_INIT
  91. /* remove I2C support */
  92. #ifdef CONFIG_SYS_I2C_TEGRA
  93. #undef CONFIG_SYS_I2C_TEGRA
  94. #endif
  95. #ifdef CONFIG_CMD_I2C
  96. #endif
  97. /* remove MMC support */
  98. #ifdef CONFIG_GENERIC_MMC
  99. #undef CONFIG_GENERIC_MMC
  100. #endif
  101. #ifdef CONFIG_TEGRA_MMC
  102. #undef CONFIG_TEGRA_MMC
  103. #endif
  104. #ifdef CONFIG_CMD_MMC
  105. #endif
  106. /* remove partitions/filesystems */
  107. #ifdef CONFIG_DOS_PARTITION
  108. #undef CONFIG_DOS_PARTITION
  109. #endif
  110. #ifdef CONFIG_EFI_PARTITION
  111. #undef CONFIG_EFI_PARTITION
  112. #endif
  113. #ifdef CONFIG_FS_EXT4
  114. #undef CONFIG_FS_EXT4
  115. #endif
  116. #ifdef CONFIG_FS_FAT
  117. #undef CONFIG_FS_FAT
  118. #endif
  119. /* remove USB */
  120. #ifdef CONFIG_USB_EHCI
  121. #undef CONFIG_USB_EHCI
  122. #endif
  123. #ifdef CONFIG_USB_EHCI_TEGRA
  124. #undef CONFIG_USB_EHCI_TEGRA
  125. #endif
  126. #ifdef CONFIG_CMD_USB
  127. #endif
  128. /* remove part command support */
  129. #ifdef CONFIG_PARTITION_UUIDS
  130. #undef CONFIG_PARTITION_UUIDS
  131. #endif
  132. #ifdef CONFIG_CMD_PART
  133. #undef CONFIG_CMD_PART
  134. #endif
  135. #endif /* CONFIG_SPL_BUILD */
  136. #endif /* __TEGRA_COMMON_POST_H */