devkit3250.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. /*
  2. * Embest/Timll DevKit3250 board configuration file
  3. *
  4. * Copyright (C) 2011-2015 Vladimir Zapolskiy <vz@mleia.com>
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #ifndef __CONFIG_DEVKIT3250_H__
  9. #define __CONFIG_DEVKIT3250_H__
  10. /* SoC and board defines */
  11. #include <linux/sizes.h>
  12. #include <asm/arch/cpu.h>
  13. /*
  14. * Define DevKit3250 machine type by hand until it lands in mach-types
  15. */
  16. #define MACH_TYPE_DEVKIT3250 3697
  17. #define CONFIG_MACH_TYPE MACH_TYPE_DEVKIT3250
  18. #define CONFIG_SYS_ICACHE_OFF
  19. #define CONFIG_SYS_DCACHE_OFF
  20. #if !defined(CONFIG_SPL_BUILD)
  21. #define CONFIG_SKIP_LOWLEVEL_INIT
  22. #endif
  23. #define CONFIG_BOARD_EARLY_INIT_F
  24. /*
  25. * Memory configurations
  26. */
  27. #define CONFIG_NR_DRAM_BANKS 1
  28. #define CONFIG_SYS_MALLOC_LEN SZ_1M
  29. #define CONFIG_SYS_SDRAM_BASE EMC_DYCS0_BASE
  30. #define CONFIG_SYS_SDRAM_SIZE SZ_64M
  31. #define CONFIG_SYS_TEXT_BASE 0x83F00000
  32. #define CONFIG_SYS_MEMTEST_START (CONFIG_SYS_SDRAM_BASE + SZ_32K)
  33. #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_TEXT_BASE - SZ_1M)
  34. #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_32K)
  35. #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BASE + SZ_4K \
  36. - GENERATED_GBL_DATA_SIZE)
  37. /*
  38. * Serial Driver
  39. */
  40. #define CONFIG_SYS_LPC32XX_UART 5 /* UART5 */
  41. #define CONFIG_BAUDRATE 115200
  42. /*
  43. * DMA
  44. */
  45. #if !defined(CONFIG_SPL_BUILD)
  46. #define CONFIG_DMA_LPC32XX
  47. #endif
  48. /*
  49. * I2C
  50. */
  51. #define CONFIG_SYS_I2C
  52. #define CONFIG_SYS_I2C_LPC32XX
  53. #define CONFIG_SYS_I2C_SPEED 100000
  54. /*
  55. * GPIO
  56. */
  57. #define CONFIG_LPC32XX_GPIO
  58. /*
  59. * SSP/SPI
  60. */
  61. #define CONFIG_LPC32XX_SSP
  62. #define CONFIG_LPC32XX_SSP_TIMEOUT 100000
  63. /*
  64. * Ethernet
  65. */
  66. #define CONFIG_RMII
  67. #define CONFIG_PHY_SMSC
  68. #define CONFIG_LPC32XX_ETH
  69. #define CONFIG_PHYLIB
  70. #define CONFIG_PHY_ADDR 0x1F
  71. #define CONFIG_SYS_FAULT_ECHO_LINK_DOWN
  72. /*
  73. * NOR Flash
  74. */
  75. #define CONFIG_SYS_MAX_FLASH_BANKS 1
  76. #define CONFIG_SYS_MAX_FLASH_SECT 71
  77. #define CONFIG_SYS_FLASH_BASE EMC_CS0_BASE
  78. #define CONFIG_SYS_FLASH_SIZE SZ_4M
  79. #define CONFIG_SYS_FLASH_CFI
  80. /*
  81. * NAND controller
  82. */
  83. #define CONFIG_NAND_LPC32XX_SLC
  84. #define CONFIG_SYS_NAND_BASE SLC_NAND_BASE
  85. #define CONFIG_SYS_MAX_NAND_DEVICE 1
  86. #define CONFIG_SYS_NAND_BASE_LIST { CONFIG_SYS_NAND_BASE }
  87. /*
  88. * NAND chip timings
  89. */
  90. #define CONFIG_LPC32XX_NAND_SLC_WDR_CLKS 14
  91. #define CONFIG_LPC32XX_NAND_SLC_WWIDTH 66666666
  92. #define CONFIG_LPC32XX_NAND_SLC_WHOLD 200000000
  93. #define CONFIG_LPC32XX_NAND_SLC_WSETUP 50000000
  94. #define CONFIG_LPC32XX_NAND_SLC_RDR_CLKS 14
  95. #define CONFIG_LPC32XX_NAND_SLC_RWIDTH 66666666
  96. #define CONFIG_LPC32XX_NAND_SLC_RHOLD 200000000
  97. #define CONFIG_LPC32XX_NAND_SLC_RSETUP 50000000
  98. #define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
  99. #define CONFIG_SYS_NAND_PAGE_SIZE NAND_LARGE_BLOCK_PAGE_SIZE
  100. #define CONFIG_SYS_NAND_USE_FLASH_BBT
  101. #define CONFIG_CMD_JFFS2
  102. #define CONFIG_CMD_NAND
  103. /*
  104. * USB
  105. */
  106. #define CONFIG_USB_OHCI_LPC32XX
  107. #define CONFIG_USB_ISP1301_I2C_ADDR 0x2d
  108. /*
  109. * U-Boot General Configurations
  110. */
  111. #define CONFIG_SYS_LONGHELP
  112. #define CONFIG_SYS_CBSIZE 1024
  113. #define CONFIG_SYS_PBSIZE \
  114. (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16)
  115. #define CONFIG_SYS_MAXARGS 16
  116. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
  117. #define CONFIG_AUTO_COMPLETE
  118. #define CONFIG_CMDLINE_EDITING
  119. #define CONFIG_DOS_PARTITION
  120. /*
  121. * Pass open firmware flat tree
  122. */
  123. /*
  124. * Environment
  125. */
  126. #define CONFIG_ENV_IS_IN_NAND 1
  127. #define CONFIG_ENV_SIZE SZ_128K
  128. #define CONFIG_ENV_OFFSET 0x000A0000
  129. #define CONFIG_BOOTCOMMAND \
  130. "dhcp; " \
  131. "tftp ${loadaddr} ${serverip}:${tftpdir}/${bootfile}; " \
  132. "tftp ${dtbaddr} ${serverip}:${tftpdir}/devkit3250.dtb; " \
  133. "setenv nfsargs ip=dhcp root=/dev/nfs nfsroot=${serverip}:${nfsroot},tcp; " \
  134. "setenv bootargs ${bootargs} ${nfsargs} ${userargs}; " \
  135. "bootm ${loadaddr} - ${dtbaddr}"
  136. #define CONFIG_EXTRA_ENV_SETTINGS \
  137. "autoload=no\0" \
  138. "ethaddr=00:01:90:00:C0:81\0" \
  139. "dtbaddr=0x81000000\0" \
  140. "nfsroot=/opt/projects/images/vladimir/oe/devkit3250/rootfs\0" \
  141. "tftpdir=vladimir/oe/devkit3250\0" \
  142. "userargs=oops=panic\0"
  143. /*
  144. * U-Boot Commands
  145. */
  146. /*
  147. * Boot Linux
  148. */
  149. #define CONFIG_CMDLINE_TAG
  150. #define CONFIG_SETUP_MEMORY_TAGS
  151. #define CONFIG_BOOTFILE "uImage"
  152. #define CONFIG_BOOTARGS "console=ttyS0,115200n8"
  153. #define CONFIG_LOADADDR 0x80008000
  154. /*
  155. * SPL specific defines
  156. */
  157. /* SPL will be executed at offset 0 */
  158. #define CONFIG_SPL_TEXT_BASE 0x00000000
  159. /* SPL will use SRAM as stack */
  160. #define CONFIG_SPL_STACK 0x0000FFF8
  161. #define CONFIG_SPL_BOARD_INIT
  162. /* Use the framework and generic lib */
  163. #define CONFIG_SPL_FRAMEWORK
  164. /* SPL will use serial */
  165. /* SPL loads an image from NAND */
  166. #define CONFIG_SPL_NAND_SIMPLE
  167. #define CONFIG_SPL_NAND_RAW_ONLY
  168. #define CONFIG_SPL_NAND_DRIVERS
  169. #define CONFIG_SPL_NAND_ECC
  170. #define CONFIG_SPL_NAND_SOFTECC
  171. #define CONFIG_SPL_MAX_SIZE 0x20000
  172. #define CONFIG_SPL_PAD_TO CONFIG_SPL_MAX_SIZE
  173. /* U-Boot will be 0x60000 bytes, loaded and run at CONFIG_SYS_TEXT_BASE */
  174. #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
  175. #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x60000
  176. #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_TEXT_BASE
  177. #define CONFIG_SYS_NAND_U_BOOT_DST CONFIG_SYS_TEXT_BASE
  178. /* See common/spl/spl.c spl_set_header_raw_uboot() */
  179. #define CONFIG_SYS_MONITOR_LEN CONFIG_SYS_NAND_U_BOOT_SIZE
  180. /*
  181. * Include SoC specific configuration
  182. */
  183. #include <asm/arch/config.h>
  184. #endif /* __CONFIG_DEVKIT3250_H__*/