boot.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. /*
  2. * Boot related environment variable definitions on TI boards.
  3. *
  4. * (C) Copyright 2017 Linaro Ltd.
  5. * Sam Protsenko <semen.protsenko@linaro.org>
  6. *
  7. * SPDX-License-Identifier: GPL-2.0+
  8. */
  9. #ifndef __TI_BOOT_H
  10. #define __TI_BOOT_H
  11. #ifndef CONSOLEDEV
  12. #define CONSOLEDEV "ttyO2"
  13. #endif
  14. #ifndef PARTS_DEFAULT
  15. #define PARTS_DEFAULT
  16. #endif
  17. #define DEFAULT_COMMON_BOOT_TI_ARGS \
  18. "console=" CONSOLEDEV ",115200n8\0" \
  19. "fdtfile=undefined\0" \
  20. "bootpart=0:2\0" \
  21. "bootdir=/boot\0" \
  22. "bootfile=zImage\0" \
  23. "usbtty=cdc_acm\0" \
  24. "vram=16M\0" \
  25. "partitions=" PARTS_DEFAULT "\0" \
  26. "optargs=\0" \
  27. "dofastboot=0\0" \
  28. "emmc_linux_boot=" \
  29. "echo Trying to boot Linux from eMMC ...; " \
  30. "setenv mmcdev 1; " \
  31. "setenv bootpart 1:2; " \
  32. "setenv mmcroot /dev/mmcblk0p2 rw; " \
  33. "run mmcboot;\0" \
  34. "emmc_android_boot=" \
  35. "echo Trying to boot Android from eMMC ...; " \
  36. "setenv eval_bootargs setenv bootargs $bootargs; " \
  37. "run eval_bootargs; " \
  38. "setenv mmcdev 1; " \
  39. "setenv fdt_part 3; " \
  40. "setenv boot_part 9; " \
  41. "setenv machid fe6; " \
  42. "mmc dev $mmcdev; " \
  43. "mmc rescan; " \
  44. "part start mmc ${mmcdev} ${fdt_part} fdt_start; " \
  45. "part size mmc ${mmcdev} ${fdt_part} fdt_size; " \
  46. "part start mmc ${mmcdev} ${boot_part} boot_start; " \
  47. "part size mmc ${mmcdev} ${boot_part} boot_size; " \
  48. "mmc read ${fdtaddr} ${fdt_start} ${fdt_size}; " \
  49. "mmc read ${loadaddr} ${boot_start} ${boot_size}; " \
  50. "bootm $loadaddr $loadaddr $fdtaddr;\0"
  51. #ifdef CONFIG_OMAP54XX
  52. #define DEFAULT_FDT_TI_ARGS \
  53. "findfdt="\
  54. "if test $board_name = omap5_uevm; then " \
  55. "setenv fdtfile omap5-uevm.dtb; fi; " \
  56. "if test $board_name = dra7xx; then " \
  57. "setenv fdtfile dra7-evm.dtb; fi;" \
  58. "if test $board_name = dra72x-revc; then " \
  59. "setenv fdtfile dra72-evm-revc.dtb; fi;" \
  60. "if test $board_name = dra72x; then " \
  61. "setenv fdtfile dra72-evm.dtb; fi;" \
  62. "if test $board_name = dra71x; then " \
  63. "setenv fdtfile dra71-evm.dtb; fi;" \
  64. "if test $board_name = dra76x_acd; then " \
  65. "setenv fdtfile dra76-evm.dtb; fi;" \
  66. "if test $board_name = beagle_x15; then " \
  67. "setenv fdtfile am57xx-beagle-x15.dtb; fi;" \
  68. "if test $board_name = beagle_x15_revb1; then " \
  69. "setenv fdtfile am57xx-beagle-x15-revb1.dtb; fi;" \
  70. "if test $board_name = beagle_x15_revc; then " \
  71. "setenv fdtfile am57xx-beagle-x15-revc.dtb; fi;" \
  72. "if test $board_name = am572x_idk && test $idk_lcd = no; then " \
  73. "setenv fdtfile am572x-idk.dtb; fi;" \
  74. "if test $board_name = am572x_idk && test $idk_lcd = osd101t2045; then " \
  75. "setenv fdtfile am572x-idk-lcd-osd101t2045.dtb; fi;" \
  76. "if test $board_name = am572x_idk && test $idk_lcd = osd101t2587; then " \
  77. "setenv fdtfile am572x-idk-lcd-osd101t2587.dtb; fi;" \
  78. "if test $board_name = am574x_idk && test $idk_lcd = no; then " \
  79. "setenv fdtfile am574x-idk.dtb; fi;" \
  80. "if test $board_name = am574x_idk && test $idk_lcd = osd101t2587; then " \
  81. "setenv fdtfile am574x-idk-lcd-osd101t2587.dtb; fi;" \
  82. "if test $board_name = am57xx_evm; then " \
  83. "setenv fdtfile am57xx-evm.dtb; fi;" \
  84. "if test $board_name = am57xx_evm_reva3; then " \
  85. "setenv fdtfile am57xx-evm-reva3.dtb; fi;" \
  86. "if test $board_name = am571x_idk && test $idk_lcd = no; then " \
  87. "setenv fdtfile am571x-idk.dtb; fi;" \
  88. "if test $board_name = am571x_idk && test $idk_lcd = osd101t2045; then " \
  89. "setenv fdtfile am571x-idk-lcd-osd101t2045.dtb; fi;" \
  90. "if test $board_name = am571x_idk && test $idk_lcd = osd101t2587; then " \
  91. "setenv fdtfile am571x-idk-lcd-osd101t2587.dtb; fi;" \
  92. "if test $fdtfile = undefined; then " \
  93. "echo WARNING: Could not determine device tree to use; fi; \0" \
  94. #define CONFIG_BOOTCOMMAND \
  95. "if test ${dofastboot} -eq 1; then " \
  96. "echo Boot fastboot requested, resetting dofastboot ...;" \
  97. "setenv dofastboot 0; saveenv;" \
  98. "echo Booting into fastboot ...; " \
  99. "fastboot " __stringify(CONFIG_FASTBOOT_USB_DEV) "; " \
  100. "fi;" \
  101. "if test ${boot_fit} -eq 1; then " \
  102. "run update_to_fit;" \
  103. "fi;" \
  104. "run findfdt; " \
  105. "run envboot; " \
  106. "run mmcboot;" \
  107. "run emmc_linux_boot; " \
  108. "run emmc_android_boot; " \
  109. ""
  110. #endif /* CONFIG_OMAP54XX */
  111. #endif /* __TI_BOOT_H */