tegra-common-post.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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_PREBOOT "usb start"
  39. #else
  40. #define STDIN_KBD_USB ""
  41. #endif
  42. #ifdef CONFIG_LCD
  43. #define STDOUT_LCD ",lcd"
  44. #else
  45. #define STDOUT_LCD ""
  46. #endif
  47. #ifdef CONFIG_DM_VIDEO
  48. #define STDOUT_VIDEO ",vidconsole"
  49. #else
  50. #define STDOUT_VIDEO ""
  51. #endif
  52. #ifdef CONFIG_CROS_EC_KEYB
  53. #define STDOUT_CROS_EC ",cros-ec-keyb"
  54. #else
  55. #define STDOUT_CROS_EC ""
  56. #endif
  57. #define TEGRA_DEVICE_SETTINGS \
  58. "stdin=serial" STDIN_KBD_KBC STDIN_KBD_USB STDOUT_CROS_EC "\0" \
  59. "stdout=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
  60. "stderr=serial" STDOUT_LCD STDOUT_VIDEO "\0" \
  61. ""
  62. #ifndef BOARD_EXTRA_ENV_SETTINGS
  63. #define BOARD_EXTRA_ENV_SETTINGS
  64. #endif
  65. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  66. #ifndef CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  67. #define CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  68. #endif
  69. #ifdef CONFIG_ARM64
  70. #define FDT_HIGH "ffffffffffffffff"
  71. #define INITRD_HIGH "ffffffffffffffff"
  72. #else
  73. #define FDT_HIGH "ffffffff"
  74. #define INITRD_HIGH "ffffffff"
  75. #endif
  76. #define CONFIG_EXTRA_ENV_SETTINGS \
  77. TEGRA_DEVICE_SETTINGS \
  78. MEM_LAYOUT_ENV_SETTINGS \
  79. "fdt_high=" FDT_HIGH "\0" \
  80. "initrd_high=" INITRD_HIGH "\0" \
  81. BOOTENV \
  82. BOARD_EXTRA_ENV_SETTINGS \
  83. CONFIG_CHROMEOS_EXTRA_ENV_SETTINGS
  84. #if defined(CONFIG_TEGRA20_SFLASH) || defined(CONFIG_TEGRA20_SLINK) || defined(CONFIG_TEGRA114_SPI)
  85. #define CONFIG_TEGRA_SPI
  86. #endif
  87. /* overrides for SPL build here */
  88. #ifdef CONFIG_SPL_BUILD
  89. #define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
  90. /* remove I2C support */
  91. #ifdef CONFIG_SYS_I2C_TEGRA
  92. #undef CONFIG_SYS_I2C_TEGRA
  93. #endif
  94. #ifdef CONFIG_CMD_I2C
  95. #endif
  96. /* remove USB */
  97. #ifdef CONFIG_USB_EHCI_TEGRA
  98. #undef CONFIG_USB_EHCI_TEGRA
  99. #endif
  100. #ifdef CONFIG_CMD_USB
  101. #endif
  102. #endif /* CONFIG_SPL_BUILD */
  103. #endif /* __TEGRA_COMMON_POST_H */