ts4800.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. /*
  2. * Copyright (C) 2015, Savoir-faire Linux Inc.
  3. *
  4. * Derived from MX51EVK code by
  5. * Guennadi Liakhovetski <lg@denx.de>
  6. * Freescale Semiconductor, Inc.
  7. *
  8. * Configuration settings for the TS4800 Board
  9. *
  10. * SPDX-License-Identifier: GPL-2.0+
  11. */
  12. #ifndef __CONFIG_H
  13. #define __CONFIG_H
  14. /* High Level Configuration Options */
  15. #define CONFIG_MX51
  16. #define CONFIG_SYS_NO_FLASH /* No NOR Flash */
  17. #define CONFIG_SKIP_LOWLEVEL_INIT /* U-Boot is a 2nd stage bootloader */
  18. #define CONFIG_HW_WATCHDOG
  19. #define CONFIG_MACH_TYPE MACH_TYPE_TS48XX
  20. /* text base address used when linking */
  21. #define CONFIG_SYS_TEXT_BASE 0x90008000
  22. #include <asm/arch/imx-regs.h>
  23. /* enable passing of ATAGs */
  24. #define CONFIG_CMDLINE_TAG
  25. #define CONFIG_SETUP_MEMORY_TAGS
  26. #define CONFIG_INITRD_TAG
  27. #define CONFIG_REVISION_TAG
  28. /*
  29. * Size of malloc() pool
  30. */
  31. #define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024)
  32. /*
  33. * Hardware drivers
  34. */
  35. #define CONFIG_MXC_UART
  36. #define CONFIG_MXC_UART_BASE UART1_BASE
  37. #define CONFIG_MXC_GPIO
  38. /*
  39. * SPI Configs
  40. * */
  41. #define CONFIG_HARD_SPI /* puts SPI: ready */
  42. #define CONFIG_MXC_SPI /* driver for the SPI controllers*/
  43. /*
  44. * MMC Configs
  45. * */
  46. #define CONFIG_FSL_ESDHC
  47. #define CONFIG_SYS_FSL_ESDHC_ADDR MMC_SDHC1_BASE_ADDR
  48. #define CONFIG_GENERIC_MMC
  49. #define CONFIG_DOS_PARTITION
  50. /*
  51. * Eth Configs
  52. */
  53. #define CONFIG_MII
  54. #define CONFIG_PHYLIB
  55. #define CONFIG_PHY_SMSC
  56. #define CONFIG_FEC_MXC
  57. #define IMX_FEC_BASE FEC_BASE_ADDR
  58. #define CONFIG_ETHPRIME "FEC"
  59. #define CONFIG_FEC_MXC_PHYADDR 0
  60. /* allow to overwrite serial and ethaddr */
  61. #define CONFIG_ENV_OVERWRITE /* disable vendor parameters protection (serial#, ethaddr) */
  62. #define CONFIG_CONS_INDEX 1 /* use UART0 : used by serial driver */
  63. #define CONFIG_BAUDRATE 115200
  64. /***********************************************************
  65. * Command definition
  66. ***********************************************************/
  67. /* Environment variables */
  68. #define CONFIG_LOADADDR 0x91000000 /* loadaddr env var */
  69. #define CONFIG_EXTRA_ENV_SETTINGS \
  70. "script=boot.scr\0" \
  71. "image=zImage\0" \
  72. "fdt_file=imx51-ts4800.dtb\0" \
  73. "fdt_addr=0x90fe0000\0" \
  74. "mmcdev=0\0" \
  75. "mmcpart=2\0" \
  76. "mmcroot=/dev/mmcblk0p3 rootwait rw\0" \
  77. "mmcargs=setenv bootargs root=${mmcroot}\0" \
  78. "addtty=setenv bootargs ${bootargs} console=ttymxc0,${baudrate}\0" \
  79. "loadbootscript=" \
  80. "fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${script};\0" \
  81. "bootscript=echo Running bootscript from mmc ...; " \
  82. "source\0" \
  83. "loadimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${image};\0" \
  84. "loadfdt=fatload mmc ${mmcdev}:${mmcpart} ${fdt_addr} ${fdt_file}\0" \
  85. "mmcboot=echo Booting from mmc ...; " \
  86. "run mmcargs addtty; " \
  87. "if run loadfdt; then " \
  88. "bootz ${loadaddr} - ${fdt_addr}; " \
  89. "else " \
  90. "echo ERR: cannot load FDT; " \
  91. "fi; "
  92. #define CONFIG_BOOTCOMMAND \
  93. "mmc dev ${mmcdev}; if mmc rescan; then " \
  94. "if run loadbootscript; then " \
  95. "run bootscript; " \
  96. "else " \
  97. "if run loadimage; then " \
  98. "run mmcboot; " \
  99. "fi; " \
  100. "fi; " \
  101. "fi; "
  102. /*
  103. * Miscellaneous configurable options
  104. */
  105. #define CONFIG_SYS_LONGHELP /* undef to save memory */
  106. #define CONFIG_AUTO_COMPLETE
  107. #define CONFIG_SYS_CBSIZE 256 /* Console I/O Buffer Size */
  108. /* Print Buffer Size */
  109. #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
  110. #define CONFIG_SYS_MAXARGS 16 /* max number of command args */
  111. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Argument Buffer Size */
  112. #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
  113. #define CONFIG_CMDLINE_EDITING
  114. /*-----------------------------------------------------------------------
  115. * Physical Memory Map
  116. */
  117. #define CONFIG_NR_DRAM_BANKS 1
  118. #define PHYS_SDRAM_1 CSD0_BASE_ADDR
  119. #define PHYS_SDRAM_1_SIZE (256 * 1024 * 1024)
  120. #define CONFIG_SYS_SDRAM_BASE (PHYS_SDRAM_1)
  121. #define CONFIG_SYS_INIT_RAM_ADDR (IRAM_BASE_ADDR)
  122. #define CONFIG_SYS_INIT_RAM_SIZE (IRAM_SIZE)
  123. #define CONFIG_BOARD_EARLY_INIT_F
  124. #define CONFIG_SYS_INIT_SP_OFFSET \
  125. (CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
  126. #define CONFIG_SYS_INIT_SP_ADDR \
  127. (CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
  128. /* Low level init */
  129. #define CONFIG_SYS_DDR_CLKSEL 0
  130. #define CONFIG_SYS_CLKTL_CBCDR 0x59E35100
  131. #define CONFIG_SYS_MAIN_PWR_ON
  132. /*-----------------------------------------------------------------------
  133. * Environment organization
  134. */
  135. #define CONFIG_ENV_OFFSET (6 * 64 * 1024)
  136. #define CONFIG_ENV_SIZE (8 * 1024)
  137. #define CONFIG_ENV_IS_IN_MMC
  138. #define CONFIG_SYS_MMC_ENV_DEV 0
  139. #endif