dra7xx_evm.h 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /*
  2. * (C) Copyright 2013
  3. * Texas Instruments Incorporated.
  4. * Lokesh Vutla <lokeshvutla@ti.com>
  5. *
  6. * Configuration settings for the TI DRA7XX board.
  7. * See ti_omap5_common.h for omap5 common settings.
  8. *
  9. * SPDX-License-Identifier: GPL-2.0+
  10. */
  11. #ifndef __CONFIG_DRA7XX_EVM_H
  12. #define __CONFIG_DRA7XX_EVM_H
  13. #include <environment/ti/dfu.h>
  14. #define CONFIG_DRA7XX
  15. #define CONFIG_BOARD_EARLY_INIT_F
  16. #define CONFIG_IODELAY_RECALIBRATION
  17. #define CONFIG_VERY_BIG_RAM
  18. #define CONFIG_NR_DRAM_BANKS 2
  19. #define CONFIG_MAX_MEM_MAPPED 0x80000000
  20. #ifndef CONFIG_QSPI_BOOT
  21. /* MMC ENV related defines */
  22. #define CONFIG_ENV_IS_IN_MMC
  23. #define CONFIG_SYS_MMC_ENV_DEV 1 /* SLOT2: eMMC(1) */
  24. #define CONFIG_ENV_SIZE (128 << 10)
  25. #define CONFIG_ENV_OFFSET 0x260000
  26. #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
  27. #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
  28. #endif
  29. #if (CONFIG_CONS_INDEX == 1)
  30. #define CONSOLEDEV "ttyO0"
  31. #elif (CONFIG_CONS_INDEX == 3)
  32. #define CONSOLEDEV "ttyO2"
  33. #endif
  34. #define CONFIG_SYS_NS16550_COM1 UART1_BASE /* Base EVM has UART0 */
  35. #define CONFIG_SYS_NS16550_COM2 UART2_BASE /* UART2 */
  36. #define CONFIG_SYS_NS16550_COM3 UART3_BASE /* UART3 */
  37. #define CONFIG_BAUDRATE 115200
  38. #define CONFIG_SYS_OMAP_ABE_SYSCK
  39. #ifndef CONFIG_SPL_BUILD
  40. /* Define the default GPT table for eMMC */
  41. #define PARTS_DEFAULT \
  42. /* Linux partitions */ \
  43. "uuid_disk=${uuid_gpt_disk};" \
  44. "name=bootloader,start=384K,size=1792K,uuid=${uuid_gpt_bootloader};" \
  45. "name=rootfs,start=2688K,size=-,uuid=${uuid_gpt_rootfs}\0" \
  46. /* Android partitions */ \
  47. "partitions_android=" \
  48. "uuid_disk=${uuid_gpt_disk};" \
  49. "name=xloader,start=128K,size=256K,uuid=${uuid_gpt_xloader};" \
  50. "name=bootloader,size=2304K,uuid=${uuid_gpt_bootloader};" \
  51. "name=environment,size=256K,uuid=${uuid_gpt_environment};" \
  52. "name=misc,size=128K,uuid=${uuid_gpt_misc};" \
  53. "name=reserved,size=256K,uuid=${uuid_gpt_reserved};" \
  54. "name=efs,size=16M,uuid=${uuid_gpt_efs};" \
  55. "name=crypto,size=16K,uuid=${uuid_gpt_crypto};" \
  56. "name=recovery,size=10M,uuid=${uuid_gpt_recovery};" \
  57. "name=boot,size=10M,uuid=${uuid_gpt_boot};" \
  58. "name=system,size=768M,uuid=${uuid_gpt_system};" \
  59. "name=vendor,size=256M,uuid=${uuid_gpt_vendor};" \
  60. "name=cache,size=256M,uuid=${uuid_gpt_cache};" \
  61. "name=ipu1,size=1M,uuid=${uuid_gpt_ipu1};" \
  62. "name=ipu2,size=1M,uuid=${uuid_gpt_ipu2};" \
  63. "name=userdata,size=-,uuid=${uuid_gpt_userdata}"
  64. #define DFUARGS \
  65. "dfu_bufsiz=0x10000\0" \
  66. DFU_ALT_INFO_MMC \
  67. DFU_ALT_INFO_EMMC \
  68. DFU_ALT_INFO_RAM \
  69. DFU_ALT_INFO_QSPI
  70. #else
  71. /* Discard fastboot in SPL build, to spare some space */
  72. #undef CONFIG_FASTBOOT
  73. #undef CONFIG_USB_FUNCTION_FASTBOOT
  74. #undef CONFIG_CMD_FASTBOOT
  75. #undef CONFIG_ANDROID_BOOT_IMAGE
  76. #undef CONFIG_FASTBOOT_BUF_ADDR
  77. #undef CONFIG_FASTBOOT_BUF_SIZE
  78. #undef CONFIG_FASTBOOT_FLASH
  79. #endif
  80. #define CONFIG_NAND
  81. #ifdef CONFIG_SPL_BUILD
  82. #undef CONFIG_CMD_BOOTD
  83. #ifdef CONFIG_SPL_DFU_SUPPORT
  84. #define CONFIG_SPL_LOAD_FIT_ADDRESS 0x80200000
  85. #define DFUARGS \
  86. "dfu_bufsiz=0x10000\0" \
  87. DFU_ALT_INFO_RAM
  88. #endif
  89. #endif
  90. #include <configs/ti_omap5_common.h>
  91. /* Enhance our eMMC support / experience. */
  92. #define CONFIG_CMD_GPT
  93. #define CONFIG_EFI_PARTITION
  94. #define CONFIG_RANDOM_UUID
  95. #define CONFIG_HSMMC2_8BIT
  96. /* CPSW Ethernet */
  97. #define CONFIG_BOOTP_DNS /* Configurable parts of CMD_DHCP */
  98. #define CONFIG_BOOTP_DNS2
  99. #define CONFIG_BOOTP_SEND_HOSTNAME
  100. #define CONFIG_BOOTP_GATEWAY
  101. #define CONFIG_BOOTP_SUBNETMASK
  102. #define CONFIG_NET_RETRY_COUNT 10
  103. #define CONFIG_DRIVER_TI_CPSW /* Driver for IP block */
  104. #define CONFIG_MII /* Required in net/eth.c */
  105. #define CONFIG_PHY_GIGE /* per-board part of CPSW */
  106. #define CONFIG_PHYLIB
  107. #define CONFIG_PHY_TI
  108. /* SPI */
  109. #undef CONFIG_OMAP3_SPI
  110. #define CONFIG_TI_SPI_MMAP
  111. #define CONFIG_SF_DEFAULT_SPEED 76800000
  112. #define CONFIG_SF_DEFAULT_MODE SPI_MODE_0
  113. #define CONFIG_QSPI_QUAD_SUPPORT
  114. /*
  115. * Default to using SPI for environment, etc.
  116. * 0x000000 - 0x040000 : QSPI.SPL (256KiB)
  117. * 0x040000 - 0x140000 : QSPI.u-boot (1MiB)
  118. * 0x140000 - 0x1C0000 : QSPI.u-boot-spl-os (512KiB)
  119. * 0x1C0000 - 0x1D0000 : QSPI.u-boot-env (64KiB)
  120. * 0x1D0000 - 0x1E0000 : QSPI.u-boot-env.backup1 (64KiB)
  121. * 0x1E0000 - 0x9E0000 : QSPI.kernel (8MiB)
  122. * 0x9E0000 - 0x2000000 : USERLAND
  123. */
  124. #define CONFIG_SYS_SPI_KERNEL_OFFS 0x1E0000
  125. #define CONFIG_SYS_SPI_ARGS_OFFS 0x140000
  126. #define CONFIG_SYS_SPI_ARGS_SIZE 0x80000
  127. #if defined(CONFIG_QSPI_BOOT)
  128. #define CONFIG_ENV_IS_IN_SPI_FLASH
  129. #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
  130. #define CONFIG_ENV_SPI_MAX_HZ CONFIG_SF_DEFAULT_SPEED
  131. #define CONFIG_ENV_SIZE (64 << 10)
  132. #define CONFIG_ENV_SECT_SIZE (64 << 10) /* 64 KB sectors */
  133. #define CONFIG_ENV_OFFSET 0x1C0000
  134. #define CONFIG_ENV_OFFSET_REDUND 0x1D0000
  135. #endif
  136. /* SPI SPL */
  137. #define CONFIG_TI_EDMA3
  138. #define CONFIG_SPL_SPI_LOAD
  139. #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x40000
  140. #define CONFIG_SUPPORT_EMMC_BOOT
  141. /* USB xHCI HOST */
  142. #define CONFIG_USB_XHCI_OMAP
  143. #define CONFIG_SYS_USB_XHCI_MAX_ROOT_PORTS 2
  144. #define CONFIG_OMAP_USB_PHY
  145. #define CONFIG_OMAP_USB2PHY2_HOST
  146. /* SATA */
  147. #define CONFIG_BOARD_LATE_INIT
  148. #define CONFIG_SCSI
  149. #define CONFIG_LIBATA
  150. #define CONFIG_SCSI_AHCI
  151. #define CONFIG_SCSI_AHCI_PLAT
  152. #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1
  153. #define CONFIG_SYS_SCSI_MAX_LUN 1
  154. #define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
  155. CONFIG_SYS_SCSI_MAX_LUN)
  156. /* NAND support */
  157. #ifdef CONFIG_NAND
  158. /* NAND: device related configs */
  159. #define CONFIG_SYS_NAND_PAGE_SIZE 2048
  160. #define CONFIG_SYS_NAND_OOBSIZE 64
  161. #define CONFIG_SYS_NAND_BLOCK_SIZE (128*1024)
  162. #define CONFIG_SYS_NAND_BUSWIDTH_16BIT
  163. #define CONFIG_SYS_NAND_PAGE_COUNT (CONFIG_SYS_NAND_BLOCK_SIZE / \
  164. CONFIG_SYS_NAND_PAGE_SIZE)
  165. #define CONFIG_SYS_NAND_5_ADDR_CYCLE
  166. /* NAND: driver related configs */
  167. #define CONFIG_NAND_OMAP_GPMC
  168. #define CONFIG_NAND_OMAP_ELM
  169. #define CONFIG_SYS_NAND_ONFI_DETECTION
  170. #define CONFIG_NAND_OMAP_ECCSCHEME OMAP_ECC_BCH8_CODE_HW
  171. #define CONFIG_SYS_NAND_BAD_BLOCK_POS NAND_LARGE_BADBLOCK_POS
  172. #define CONFIG_SYS_NAND_ECCPOS { 2, 3, 4, 5, 6, 7, 8, 9, \
  173. 10, 11, 12, 13, 14, 15, 16, 17, \
  174. 18, 19, 20, 21, 22, 23, 24, 25, \
  175. 26, 27, 28, 29, 30, 31, 32, 33, \
  176. 34, 35, 36, 37, 38, 39, 40, 41, \
  177. 42, 43, 44, 45, 46, 47, 48, 49, \
  178. 50, 51, 52, 53, 54, 55, 56, 57, }
  179. #define CONFIG_SYS_NAND_ECCSIZE 512
  180. #define CONFIG_SYS_NAND_ECCBYTES 14
  181. #define MTDIDS_DEFAULT "nand0=nand.0"
  182. #define MTDPARTS_DEFAULT "mtdparts=nand.0:" \
  183. "128k(NAND.SPL)," \
  184. "128k(NAND.SPL.backup1)," \
  185. "128k(NAND.SPL.backup2)," \
  186. "128k(NAND.SPL.backup3)," \
  187. "256k(NAND.u-boot-spl-os)," \
  188. "1m(NAND.u-boot)," \
  189. "128k(NAND.u-boot-env)," \
  190. "128k(NAND.u-boot-env.backup1)," \
  191. "8m(NAND.kernel)," \
  192. "-(NAND.file-system)"
  193. #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x000c0000
  194. /* NAND: SPL related configs */
  195. #ifdef CONFIG_SPL_NAND_SUPPORT
  196. #define CONFIG_SPL_NAND_AM33XX_BCH
  197. #endif
  198. /* NAND: SPL falcon mode configs */
  199. #ifdef CONFIG_SPL_OS_BOOT
  200. #define CONFIG_CMD_SPL_NAND_OFS 0x00080000 /* os-boot params*/
  201. #define CONFIG_SYS_NAND_SPL_KERNEL_OFFS 0x00200000 /* kernel offset */
  202. #define CONFIG_CMD_SPL_WRITE_SIZE 0x2000
  203. #endif
  204. #endif /* !CONFIG_NAND */
  205. /* Parallel NOR Support */
  206. #if defined(CONFIG_NOR)
  207. /* NOR: device related configs */
  208. #define CONFIG_SYS_MAX_FLASH_SECT 512
  209. #define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT
  210. #define CONFIG_SYS_FLASH_SIZE (64 * 1024 * 1024) /* 64 MB */
  211. /* #define CONFIG_INIT_IGNORE_ERROR */
  212. #undef CONFIG_SYS_NO_FLASH
  213. #define CONFIG_SYS_FLASH_USE_BUFFER_WRITE
  214. #define CONFIG_SYS_FLASH_PROTECTION
  215. #define CONFIG_SYS_FLASH_CFI
  216. #define CONFIG_FLASH_CFI_DRIVER
  217. #define CONFIG_FLASH_CFI_MTD
  218. #define CONFIG_SYS_MAX_FLASH_BANKS 1
  219. #define CONFIG_SYS_FLASH_BASE (0x08000000)
  220. #define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_FLASH_BASE
  221. /* Reduce SPL size by removing unlikey targets */
  222. #ifdef CONFIG_NOR_BOOT
  223. #define CONFIG_ENV_IS_IN_FLASH
  224. #define CONFIG_ENV_SECT_SIZE (128 * 1024) /* 128 KiB */
  225. #define MTDIDS_DEFAULT "nor0=physmap-flash.0"
  226. #define MTDPARTS_DEFAULT "mtdparts=physmap-flash.0:" \
  227. "128k(NOR.SPL)," \
  228. "128k(NOR.SPL.backup1)," \
  229. "128k(NOR.SPL.backup2)," \
  230. "128k(NOR.SPL.backup3)," \
  231. "256k(NOR.u-boot-spl-os)," \
  232. "1m(NOR.u-boot)," \
  233. "128k(NOR.u-boot-env)," \
  234. "128k(NOR.u-boot-env.backup1)," \
  235. "8m(NOR.kernel)," \
  236. "-(NOR.rootfs)"
  237. #define CONFIG_ENV_OFFSET 0x001c0000
  238. #define CONFIG_ENV_OFFSET_REDUND 0x001e0000
  239. #endif
  240. #endif /* NOR support */
  241. #endif /* __CONFIG_DRA7XX_EVM_H */