omap3_overo.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Configuration settings for the Gumstix Overo board.
  4. */
  5. #ifndef __CONFIG_H
  6. #define __CONFIG_H
  7. #include <configs/ti_omap3_common.h>
  8. /*
  9. * We are only ever GP parts and will utilize all of the "downloaded image"
  10. * area in SRAM which starts at 0x40200000 and ends at 0x4020FFFF (64KB).
  11. */
  12. /* call misc_init_r */
  13. /* pass the revision tag */
  14. #define CONFIG_REVISION_TAG
  15. /* override size of malloc() pool */
  16. #undef CONFIG_SYS_MALLOC_LEN
  17. /* Shift 128 << 15 provides 4 MiB heap to support UBI commands.
  18. * Shift 128 << 10 provides 128 KiB heap for limited-memory devices. */
  19. #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (128 << 15))
  20. /* I2C Support */
  21. /* TWL4030 LED */
  22. /* USB EHCI */
  23. #define CONFIG_OMAP_EHCI_PHY1_RESET_GPIO 183
  24. /* commands to include */
  25. #ifdef CONFIG_MTD_RAW_NAND
  26. /* NAND block size is 128 KiB. Synchronize these values with
  27. * overo_nand_partitions in mach-omap2/board-overo.c in Linux:
  28. * xloader 4 * NAND_BLOCK_SIZE = 512 KiB
  29. * uboot 14 * NAND_BLOCK_SIZE = 1792 KiB
  30. * uboot environtment 2 * NAND_BLOCK_SIZE = 256 KiB
  31. * linux 64 * NAND_BLOCK_SIZE = 8 MiB
  32. * rootfs remainder
  33. */
  34. #endif /* CONFIG_MTD_RAW_NAND */
  35. /* Board NAND Info. */
  36. /* Environment information */
  37. #define CONFIG_EXTRA_ENV_SETTINGS \
  38. DEFAULT_LINUX_BOOT_ENV \
  39. "bootdir=/boot\0" \
  40. "bootfile=zImage\0" \
  41. "usbtty=cdc_acm\0" \
  42. "console=ttyO2,115200n8\0" \
  43. "mpurate=auto\0" \
  44. "optargs=\0" \
  45. "vram=12M\0" \
  46. "dvimode=1024x768MR-16@60\0" \
  47. "defaultdisplay=dvi\0" \
  48. "mmcdev=0\0" \
  49. "mmcroot=/dev/mmcblk0p2 rw\0" \
  50. "mmcrootfstype=ext4 rootwait\0" \
  51. "nandroot=ubi0:rootfs ubi.mtd=4\0" \
  52. "nandrootfstype=ubifs\0" \
  53. "mtdparts=" CONFIG_MTDPARTS_DEFAULT "\0" \
  54. "mmcargs=setenv bootargs console=${console} " \
  55. "${optargs} " \
  56. "mpurate=${mpurate} " \
  57. "vram=${vram} " \
  58. "omapfb.mode=dvi:${dvimode} " \
  59. "omapdss.def_disp=${defaultdisplay} " \
  60. "root=${mmcroot} " \
  61. "rootfstype=${mmcrootfstype}\0" \
  62. "nandargs=setenv bootargs console=${console} " \
  63. "${optargs} " \
  64. "mpurate=${mpurate} " \
  65. "vram=${vram} " \
  66. "omapfb.mode=dvi:${dvimode} " \
  67. "omapdss.def_disp=${defaultdisplay} " \
  68. "root=${nandroot} " \
  69. "rootfstype=${nandrootfstype}\0" \
  70. "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
  71. "bootscript=echo Running boot script from mmc ...; " \
  72. "source ${loadaddr}\0" \
  73. "loadbootenv=load mmc ${mmcdev} ${loadaddr} uEnv.txt\0" \
  74. "importbootenv=echo Importing environment from mmc ...; " \
  75. "env import -t ${loadaddr} ${filesize}\0" \
  76. "loaduimage=load mmc ${mmcdev} ${loadaddr} uImage\0" \
  77. "mmcboot=echo Booting from mmc...; " \
  78. "run mmcargs; " \
  79. "bootm ${loadaddr}\0" \
  80. "loadzimage=load mmc ${mmcdev}:2 ${loadaddr} ${bootdir}/${bootfile}\0" \
  81. "loadfdt=load mmc ${mmcdev}:2 ${fdtaddr} ${bootdir}/${fdtfile}\0" \
  82. "loadubizimage=ubifsload ${loadaddr} ${bootdir}/${bootfile}\0" \
  83. "loadubifdt=ubifsload ${fdtaddr} ${bootdir}/${fdtfile}\0" \
  84. "mmcbootfdt=echo Booting with DT from mmc ...; " \
  85. "run mmcargs; " \
  86. "bootz ${loadaddr} - ${fdtaddr}\0" \
  87. "nandboot=echo Booting from nand ...; " \
  88. "run nandargs; " \
  89. "if nand read ${loadaddr} linux; then " \
  90. "bootm ${loadaddr};" \
  91. "fi;\0" \
  92. "nanddtsboot=echo Booting from nand with DTS...; " \
  93. "run nandargs; " \
  94. "ubi part rootfs; "\
  95. "ubifsmount ubi0:rootfs; "\
  96. "run loadubifdt; "\
  97. "run loadubizimage; "\
  98. "bootz ${loadaddr} - ${fdtaddr}\0" \
  99. #define CONFIG_BOOTCOMMAND \
  100. "mmc dev ${mmcdev}; if mmc rescan; then " \
  101. "if run loadbootscript; then " \
  102. "run bootscript; " \
  103. "fi;" \
  104. "if run loadbootenv; then " \
  105. "echo Loaded environment from ${bootenv};" \
  106. "run importbootenv;" \
  107. "fi;" \
  108. "if test -n $uenvcmd; then " \
  109. "echo Running uenvcmd ...;" \
  110. "run uenvcmd;" \
  111. "fi;" \
  112. "if run loaduimage; then " \
  113. "run mmcboot;" \
  114. "fi;" \
  115. "if run loadzimage; then " \
  116. "if test -z \"${fdtfile}\"; then " \
  117. "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \
  118. "fi;" \
  119. "if run loadfdt; then " \
  120. "run mmcbootfdt;" \
  121. "fi;" \
  122. "fi;" \
  123. "fi;" \
  124. "run nandboot; " \
  125. "if test -z \"${fdtfile}\"; then "\
  126. "setenv fdtfile omap3-${boardname}-${expansionname}.dtb;" \
  127. "fi;" \
  128. "run nanddtsboot; " \
  129. /* memtest works on */
  130. #define CONFIG_SYS_MEMTEST_START (OMAP34XX_SDRC_CS0)
  131. #define CONFIG_SYS_MEMTEST_END (OMAP34XX_SDRC_CS0 + \
  132. 0x01F00000) /* 31MB */
  133. /* FLASH and environment organization */
  134. #if defined(CONFIG_MTD_RAW_NAND)
  135. #define CONFIG_SYS_FLASH_BASE NAND_BASE
  136. #endif
  137. /* Monitor at start of flash */
  138. #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
  139. #define CONFIG_SYS_ONENAND_BASE ONENAND_MAP
  140. #define ONENAND_ENV_OFFSET 0x240000 /* environment starts here */
  141. #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) /* 128 KiB */
  142. /* Initial RAM setup */
  143. #define CONFIG_SYS_INIT_RAM_ADDR 0x4020f800
  144. #define CONFIG_SYS_INIT_RAM_SIZE 0x800
  145. /* NAND boot config */
  146. #define CONFIG_SYS_NAND_MAX_ECCPOS 56
  147. #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  148. #define CONFIG_SYS_NAND_PAGE_COUNT 64
  149. #define CONFIG_SYS_NAND_PAGE_SIZE 2048
  150. #define CONFIG_SYS_NAND_OOBSIZE 64
  151. #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
  152. #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
  153. #define CONFIG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
  154. 13, 14, 16, 17, 18, 19, 20, 21, 22, \
  155. 23, 24, 25, 26, 27, 28, 30, 31, 32, \
  156. 33, 34, 35, 36, 37, 38, 39, 40, 41, \
  157. 42, 44, 45, 46, 47, 48, 49, 50, 51, \
  158. 52, 53, 54, 55, 56}
  159. #define CONFIG_SYS_NAND_ECCSIZE 512
  160. #define CONFIG_SYS_NAND_ECCBYTES 13
  161. #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW_DETECTION_SW
  162. #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
  163. #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x80000
  164. /* NAND: SPL falcon mode configs */
  165. #ifdef CONFIG_SPL_OS_BOOT
  166. #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x280000
  167. #endif
  168. #endif /* __CONFIG_H */