colibri_vf.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. /*
  2. * Copyright 2015-2016 Toradex, Inc.
  3. *
  4. * Configuration settings for the Toradex VF50/VF61 modules.
  5. *
  6. * Based on vf610twr.h:
  7. * Copyright 2013 Freescale Semiconductor, Inc.
  8. *
  9. * SPDX-License-Identifier: GPL-2.0+
  10. */
  11. #ifndef __CONFIG_H
  12. #define __CONFIG_H
  13. #include <asm/arch/imx-regs.h>
  14. #define CONFIG_VF610
  15. #define CONFIG_SYS_THUMB_BUILD
  16. #define CONFIG_SYS_FSL_CLK
  17. #define CONFIG_ARCH_MISC_INIT
  18. #define CONFIG_DISPLAY_BOARDINFO_LATE /* Calls show_board_info() */
  19. #define CONFIG_SKIP_LOWLEVEL_INIT
  20. #define CONFIG_CMD_FUSE
  21. #ifdef CONFIG_CMD_FUSE
  22. #define CONFIG_MXC_OCOTP
  23. #endif
  24. /* Size of malloc() pool */
  25. #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 2 * 1024 * 1024)
  26. #define CONFIG_BOARD_EARLY_INIT_F
  27. /* Allow to overwrite serial and ethaddr */
  28. #define CONFIG_ENV_OVERWRITE
  29. #define CONFIG_ENV_VARS_UBOOT_CONFIG
  30. #define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
  31. #define CONFIG_BAUDRATE 115200
  32. /* NAND support */
  33. #define CONFIG_CMD_NAND
  34. #define CONFIG_SYS_NAND_ONFI_DETECTION
  35. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  36. #define CONFIG_SYS_NAND_BASE NFC_BASE_ADDR
  37. /* Dynamic MTD partition support */
  38. #define CONFIG_CMD_MTDPARTS /* Enable 'mtdparts' command line support */
  39. #define CONFIG_MTD_PARTITIONS
  40. #define CONFIG_MTD_DEVICE /* needed for mtdparts commands */
  41. #define MTDIDS_DEFAULT "nand0=vf610_nfc"
  42. #define MTDPARTS_DEFAULT "mtdparts=vf610_nfc:" \
  43. "128k(vf-bcb)ro," \
  44. "1408k(u-boot)ro," \
  45. "512k(u-boot-env)," \
  46. "-(ubi)"
  47. #define CONFIG_FSL_ESDHC
  48. #define CONFIG_SYS_FSL_ESDHC_ADDR 0
  49. #define CONFIG_SYS_FSL_ESDHC_NUM 1
  50. #define CONFIG_GENERIC_MMC
  51. #define CONFIG_DOS_PARTITION
  52. #define CONFIG_RBTREE
  53. #define CONFIG_LZO
  54. #define CONFIG_CMD_UBIFS /* increases size by almost 60 KB */
  55. #define CONFIG_FEC_MXC
  56. #define CONFIG_MII
  57. #define IMX_FEC_BASE ENET1_BASE_ADDR
  58. #define CONFIG_FEC_XCV_TYPE RMII
  59. #define CONFIG_FEC_MXC_PHYADDR 0
  60. #define CONFIG_PHYLIB
  61. #define CONFIG_PHY_MICREL
  62. #define CONFIG_IPADDR 192.168.10.2
  63. #define CONFIG_NETMASK 255.255.255.0
  64. #define CONFIG_SERVERIP 192.168.10.1
  65. #define CONFIG_BOARD_LATE_INIT
  66. #define CONFIG_LOADADDR 0x80008000
  67. #define CONFIG_FDTADDR 0x84000000
  68. /* We boot from the gfxRAM area of the OCRAM. */
  69. #define CONFIG_SYS_TEXT_BASE 0x3f408000
  70. #define CONFIG_BOARD_SIZE_LIMIT 524288
  71. #define SD_BOOTCMD \
  72. "sdargs=root=/dev/mmcblk0p2 rw rootwait\0" \
  73. "sdboot=run setup; setenv bootargs ${defargs} ${sdargs} ${mtdparts} " \
  74. "${setupargs} ${vidargs}; echo Booting from MMC/SD card...; " \
  75. "load mmc 0:2 ${kernel_addr_r} /boot/${kernel_file} && " \
  76. "load mmc 0:2 ${fdt_addr_r} /boot/${soc}-colibri-${fdt_board}.dtb && " \
  77. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  78. #define NFS_BOOTCMD \
  79. "nfsargs=ip=:::::eth0: root=/dev/nfs\0" \
  80. "nfsboot=run setup; " \
  81. "setenv bootargs ${defargs} ${nfsargs} ${mtdparts} " \
  82. "${setupargs} ${vidargs}; echo Booting from NFS...;" \
  83. "dhcp ${kernel_addr_r} && " \
  84. "tftp ${fdt_addr_r} ${soc}-colibri-${fdt_board}.dtb && " \
  85. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  86. #define UBI_BOOTCMD \
  87. "ubiargs=ubi.mtd=ubi root=ubi0:rootfs rootfstype=ubifs " \
  88. "ubi.fm_autoconvert=1\0" \
  89. "ubiboot=run setup; " \
  90. "setenv bootargs ${defargs} ${ubiargs} ${mtdparts} " \
  91. "${setupargs} ${vidargs}; echo Booting from NAND...; " \
  92. "ubi part ubi && " \
  93. "ubi read ${kernel_addr_r} kernel && " \
  94. "ubi read ${fdt_addr_r} dtb && " \
  95. "run fdt_fixup && bootz ${kernel_addr_r} - ${fdt_addr_r}\0" \
  96. #define CONFIG_BOOTCOMMAND "run ubiboot; run sdboot; run nfsboot"
  97. #define DFU_ALT_NAND_INFO "vf-bcb part 0,1;u-boot part 0,2;ubi part 0,4"
  98. #define CONFIG_EXTRA_ENV_SETTINGS \
  99. "kernel_addr_r=0x82000000\0" \
  100. "fdt_addr_r=0x84000000\0" \
  101. "kernel_file=zImage\0" \
  102. "fdt_file=${soc}-colibri-${fdt_board}.dtb\0" \
  103. "fdt_board=eval-v3\0" \
  104. "fdt_fixup=;\0" \
  105. "defargs=\0" \
  106. "console=ttyLP0\0" \
  107. "setup=setenv setupargs " \
  108. "console=tty1 console=${console}" \
  109. ",${baudrate}n8 ${memargs}\0" \
  110. "setsdupdate=mmc rescan && set interface mmc && " \
  111. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  112. "source ${loadaddr}\0" \
  113. "setusbupdate=usb start && set interface usb && " \
  114. "fatload ${interface} 0:1 ${loadaddr} flash_blk.img && " \
  115. "source ${loadaddr}\0" \
  116. "setupdate=run setsdupdate || run setusbupdate\0" \
  117. "mtdparts=" MTDPARTS_DEFAULT "\0" \
  118. "dfu_alt_info=" DFU_ALT_NAND_INFO "\0" \
  119. SD_BOOTCMD \
  120. NFS_BOOTCMD \
  121. UBI_BOOTCMD
  122. /* Miscellaneous configurable options */
  123. #define CONFIG_SYS_LONGHELP /* undef to save memory */
  124. #undef CONFIG_AUTO_COMPLETE
  125. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
  126. #define CONFIG_SYS_PBSIZE \
  127. (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
  128. #define CONFIG_SYS_MAXARGS 16 /* max number of command args */
  129. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
  130. #define CONFIG_SYS_MEMTEST_START 0x80010000
  131. #define CONFIG_SYS_MEMTEST_END 0x87C00000
  132. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  133. #define CONFIG_SYS_HZ 1000
  134. #define CONFIG_CMDLINE_EDITING
  135. /*
  136. * Stack sizes
  137. * The stack sizes are set up in start.S using the settings below
  138. */
  139. #define CONFIG_STACKSIZE (128 * 1024) /* regular stack */
  140. /* Physical memory map */
  141. #define CONFIG_NR_DRAM_BANKS 1
  142. #define PHYS_SDRAM (0x80000000)
  143. #define PHYS_SDRAM_SIZE (256 * 1024 * 1024)
  144. #define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM
  145. #define CONFIG_SYS_INIT_RAM_ADDR IRAM_BASE_ADDR
  146. #define CONFIG_SYS_INIT_RAM_SIZE IRAM_SIZE
  147. #define CONFIG_SYS_INIT_SP_OFFSET \
  148. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  149. #define CONFIG_SYS_INIT_SP_ADDR \
  150. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  151. /* Environment organization */
  152. #define CONFIG_SYS_NO_FLASH
  153. #ifdef CONFIG_ENV_IS_IN_MMC
  154. #define CONFIG_SYS_MMC_ENV_DEV 0
  155. #define CONFIG_ENV_OFFSET (12 * 64 * 1024)
  156. #define CONFIG_ENV_SIZE (8 * 1024)
  157. #endif
  158. #ifdef CONFIG_ENV_IS_IN_NAND
  159. #define CONFIG_ENV_SIZE (64 * 2048)
  160. #define CONFIG_ENV_RANGE (4 * 64 * 2048)
  161. #define CONFIG_ENV_OFFSET (12 * 64 * 2048)
  162. #endif
  163. #define CONFIG_SYS_NO_FLASH
  164. /* USB Host Support */
  165. #define CONFIG_USB_EHCI
  166. #define CONFIG_USB_EHCI_VF
  167. #define CONFIG_USB_MAX_CONTROLLER_COUNT 2
  168. #define CONFIG_EHCI_HCD_INIT_AFTER_RESET
  169. /* USB DFU */
  170. #define CONFIG_SYS_DFU_DATA_BUF_SIZE (1024 * 1024)
  171. /* USB Storage */
  172. #define CONFIG_USB_FUNCTION_MASS_STORAGE
  173. #endif /* __CONFIG_H */