ma5d4evk.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. /*
  2. * DENX MA5D4 configuration
  3. * Copyright (C) 2015 Marek Vasut <marex@denx.de>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef __MA5D4EVK_CONFIG_H__
  8. #define __MA5D4EVK_CONFIG_H__
  9. #define CONFIG_SYS_NO_FLASH
  10. #define CONFIG_TIMESTAMP /* Print image info with timestamp */
  11. #include "at91-sama5_common.h"
  12. #undef CONFIG_BOOTARGS
  13. #define CONFIG_SYS_USE_SERIALFLASH 1
  14. /*
  15. * U-Boot Commands
  16. */
  17. #define CONFIG_DOS_PARTITION
  18. #define CONFIG_FAT_WRITE
  19. /*
  20. * Memory configurations
  21. */
  22. #define CONFIG_NR_DRAM_BANKS 1
  23. #define CONFIG_SYS_SDRAM_BASE ATMEL_BASE_DDRCS
  24. #define CONFIG_SYS_SDRAM_SIZE 0x10000000
  25. #ifdef CONFIG_SPL_BUILD
  26. #define CONFIG_SYS_INIT_SP_ADDR 0x210000
  27. #else
  28. #define CONFIG_SYS_INIT_SP_ADDR \
  29. (CONFIG_SYS_SDRAM_BASE + 4 * 1024 - GENERATED_GBL_DATA_SIZE)
  30. #endif
  31. /*
  32. * Environment
  33. */
  34. #define CONFIG_ENV_IS_IN_SPI_FLASH
  35. #define CONFIG_SYS_REDUNDAND_ENVIRONMENT
  36. #define CONFIG_ENV_OFFSET 0x8000
  37. #define CONFIG_ENV_SIZE 0x4000
  38. #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
  39. #define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
  40. #define CONFIG_ENV_SECT_SIZE 0x1000
  41. /*
  42. * U-Boot general configurations
  43. */
  44. /*
  45. * Serial Driver
  46. */
  47. #define CONFIG_ATMEL_USART
  48. #define CONFIG_USART_BASE ATMEL_BASE_USART0
  49. #define CONFIG_USART_ID ATMEL_ID_USART0
  50. /*
  51. * Ethernet
  52. */
  53. #ifdef CONFIG_CMD_NET
  54. #define CONFIG_MACB
  55. #define CONFIG_RMII
  56. #define CONFIG_NET_RETRY_COUNT 20
  57. #define CONFIG_MACB_SEARCH_PHY
  58. #define CONFIG_ARP_TIMEOUT 200UL
  59. #define CONFIG_IP_DEFRAG
  60. #endif
  61. /*
  62. * LCD
  63. */
  64. #ifdef CONFIG_LCD
  65. #define CONFIG_CMD_BMP
  66. #define CONFIG_BMP_16BPP
  67. #define CONFIG_BMP_24BPP
  68. #define CONFIG_BMP_32BPP
  69. #define LCD_BPP LCD_COLOR16
  70. #define LCD_OUTPUT_BPP 24
  71. #define CONFIG_ATMEL_HLCD
  72. #endif
  73. /*
  74. * SD/MMC
  75. */
  76. #ifdef CONFIG_CMD_MMC
  77. #define CONFIG_GENERIC_MMC
  78. #define CONFIG_GENERIC_ATMEL_MCI
  79. #endif
  80. /*
  81. * SPI NOR (boot memory)
  82. */
  83. #ifdef CONFIG_CMD_SF
  84. #define CONFIG_ATMEL_SPI
  85. #define CONFIG_ATMEL_SPI0
  86. #define CONFIG_SPI_FLASH_ATMEL
  87. #define CONFIG_SF_DEFAULT_BUS 0
  88. #define CONFIG_SF_DEFAULT_CS 0
  89. #define CONFIG_SF_DEFAULT_SPEED 30000000
  90. #endif
  91. /*
  92. * USB
  93. */
  94. #ifdef CONFIG_CMD_USB
  95. #define CONFIG_USB_EHCI
  96. #define CONFIG_USB_EHCI_ATMEL
  97. #define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 3
  98. /* USB device */
  99. #define CONFIG_USB_ETHER
  100. #define CONFIG_USB_ETH_RNDIS
  101. #define CONFIG_USBNET_MANUFACTURER "DENX"
  102. #endif
  103. /*
  104. * Boot Linux
  105. */
  106. #define CONFIG_CMDLINE_TAG
  107. #define CONFIG_INITRD_TAG
  108. #define CONFIG_SETUP_MEMORY_TAGS
  109. #define CONFIG_BOOTFILE "fitImage"
  110. #define CONFIG_BOOTARGS "console=ttyS3,115200"
  111. #define CONFIG_LOADADDR 0x20800000
  112. #define CONFIG_BOOTCOMMAND "run mmc_mmc"
  113. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  114. /*
  115. * Extra Environments
  116. */
  117. #define CONFIG_PREBOOT "run try_bootscript"
  118. #define CONFIG_HOSTNAME ma5d4evk
  119. #define CONFIG_EXTRA_ENV_SETTINGS \
  120. "consdev=ttyS3\0" \
  121. "baudrate=115200\0" \
  122. "bootscript=boot.scr\0" \
  123. "bootdev=/dev/mmcblk1p1\0" \
  124. "bootpart=1:1\0" \
  125. "rootdev=/dev/mmcblk1p2\0" \
  126. "netdev=eth0\0" \
  127. "kernel_addr_r=0x22000000\0" \
  128. "update_spi_firmware_spl_addr=0x21000000\0" \
  129. "update_spi_firmware_spl_filename=boot.bin\0" \
  130. "update_spi_firmware_addr=0x22000000\0" \
  131. "update_spi_firmware_filename=u-boot.img\0" \
  132. "update_spi_firmware=" /* Update the SPI flash firmware */ \
  133. "if sf probe ; then " \
  134. "if tftp ${update_spi_firmware_spl_addr} " \
  135. "${update_spi_firmware_spl_filename} ; then " \
  136. "setenv update_spi_firmware_spl_filesize ${filesize} ; "\
  137. "if tftp ${update_spi_firmware_addr} " \
  138. "${update_spi_firmware_filename} ; then " \
  139. "setenv update_spi_firmware_filesize ${filesize} ; " \
  140. "sf update ${update_spi_firmware_spl_addr} 0x0 " \
  141. "${update_spi_firmware_spl_filesize} ; " \
  142. "sf update ${update_spi_firmware_addr} 0x10000 " \
  143. "${update_spi_firmware_filesize} ; " \
  144. "fi ; " \
  145. "fi ; " \
  146. "fi\0" \
  147. "addcons=" \
  148. "setenv bootargs ${bootargs} " \
  149. "console=${consdev},${baudrate}\0" \
  150. "addip=" \
  151. "setenv bootargs ${bootargs} " \
  152. "ip=${ipaddr}:${serverip}:${gatewayip}:" \
  153. "${netmask}:${hostname}:${netdev}:off\0" \
  154. "addmisc=" \
  155. "setenv bootargs ${bootargs} ${miscargs}\0" \
  156. "addargs=run addcons addmisc\0" \
  157. "mmcload=" \
  158. "mmc rescan ; " \
  159. "load mmc ${bootpart} ${kernel_addr_r} ${bootfile}\0" \
  160. "netload=" \
  161. "tftp ${kernel_addr_r} ${hostname}/${bootfile}\0" \
  162. "miscargs=nohlt panic=1\0" \
  163. "mmcargs=setenv bootargs root=${rootdev} rw rootwait\0" \
  164. "nfsargs=" \
  165. "setenv bootargs root=/dev/nfs rw " \
  166. "nfsroot=${serverip}:${rootpath},v3,tcp\0" \
  167. "mmc_mmc=" \
  168. "run mmcload mmcargs addargs ; " \
  169. "bootm ${kernel_addr_r}\0" \
  170. "mmc_nfs=" \
  171. "run mmcload nfsargs addip addargs ; " \
  172. "bootm ${kernel_addr_r}\0" \
  173. "net_mmc=" \
  174. "run netload mmcargs addargs ; " \
  175. "bootm ${kernel_addr_r}\0" \
  176. "net_nfs=" \
  177. "run netload nfsargs addip addargs ; " \
  178. "bootm ${kernel_addr_r}\0" \
  179. "try_bootscript=" \
  180. "mmc rescan;" \
  181. "if test -e mmc ${bootpart} ${bootscript} ; then " \
  182. "if load mmc ${bootpart} ${kernel_addr_r} ${bootscript};"\
  183. "then ; " \
  184. "echo Running bootscript... ; " \
  185. "source ${kernel_addr_r} ; " \
  186. "fi ; " \
  187. "fi\0"
  188. /* SPL */
  189. #define CONFIG_SPL_FRAMEWORK
  190. #define CONFIG_SPL_TEXT_BASE 0x200000
  191. #define CONFIG_SPL_MAX_SIZE 0x10000
  192. #define CONFIG_SPL_BSS_START_ADDR 0x20000000
  193. #define CONFIG_SPL_BSS_MAX_SIZE 0x80000
  194. #define CONFIG_SYS_SPL_MALLOC_START 0x20080000
  195. #define CONFIG_SYS_SPL_MALLOC_SIZE 0x80000
  196. #define CONFIG_SPL_BOARD_INIT
  197. #define CONFIG_SYS_MONITOR_LEN (512 << 10)
  198. #define CONFIG_SPL_SPI_LOAD
  199. #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x10000
  200. #endif /* __MA5D4EVK_CONFIG_H__ */