tegra-common-post.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * (C) Copyright 2010-2012
  4. * NVIDIA Corporation <www.nvidia.com>
  5. */
  6. #ifndef __TEGRA_COMMON_POST_H
  7. #define __TEGRA_COMMON_POST_H
  8. /*
  9. * Size of malloc() pool
  10. */
  11. #ifdef CONFIG_DFU_OVER_USB
  12. #define CONFIG_SYS_MALLOC_LEN (SZ_4M + \
  13. CONFIG_SYS_DFU_DATA_BUF_SIZE + \
  14. CONFIG_SYS_DFU_MAX_FILE_SIZE)
  15. #else
  16. #define CONFIG_SYS_MALLOC_LEN (4 << 20) /* 4MB */
  17. #endif
  18. #define CONFIG_SYS_NONCACHED_MEMORY (1 << 20) /* 1 MiB */
  19. #ifndef CONFIG_SPL_BUILD
  20. #ifndef BOOT_TARGET_DEVICES
  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. #endif
  28. #include <config_distro_bootcmd.h>
  29. #else
  30. #define BOOTENV
  31. #endif
  32. #ifdef CONFIG_TEGRA_KEYBOARD
  33. #define STDIN_KBD_KBC ",tegra-kbc"
  34. #else
  35. #define STDIN_KBD_KBC ""
  36. #endif
  37. #ifdef CONFIG_USB_KEYBOARD
  38. #define STDIN_KBD_USB ",usbkbd"
  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. /* remove USB */
  95. #ifdef CONFIG_USB_EHCI_TEGRA
  96. #undef CONFIG_USB_EHCI_TEGRA
  97. #endif
  98. #endif /* CONFIG_SPL_BUILD */
  99. #endif /* __TEGRA_COMMON_POST_H */