legoev3.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Copyright (C) 2016 David Lechner <david@lechnology.com>
  4. *
  5. * Based on da850evm.h
  6. *
  7. * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
  8. *
  9. * Based on davinci_dvevm.h. Original Copyrights follow:
  10. *
  11. * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net>
  12. */
  13. #ifndef __CONFIG_H
  14. #define __CONFIG_H
  15. /*
  16. * SoC Configuration
  17. */
  18. #define CONFIG_SYS_EXCEPTION_VECTORS_HIGH
  19. #define CONFIG_SYS_CLK_FREQ clk_get(DAVINCI_ARM_CLKID)
  20. #define CONFIG_SYS_OSCIN_FREQ 24000000
  21. #define CONFIG_SYS_TIMERBASE DAVINCI_TIMER0_BASE
  22. #define CONFIG_SYS_HZ_CLOCK clk_get(DAVINCI_AUXCLK_CLKID)
  23. #define CONFIG_SKIP_LOWLEVEL_INIT
  24. /*
  25. * Memory Info
  26. */
  27. #define CONFIG_SYS_MALLOC_LEN (0x10000 + 1*1024*1024) /* malloc() len */
  28. #define PHYS_SDRAM_1 DAVINCI_DDR_EMIF_DATA_BASE /* DDR Start */
  29. #define PHYS_SDRAM_1_SIZE (64 << 20) /* SDRAM size 64MB */
  30. #define CONFIG_MAX_RAM_BANK_SIZE (512 << 20) /* max size from SPRS586*/
  31. /* memtest start addr */
  32. #define CONFIG_SYS_MEMTEST_START (PHYS_SDRAM_1 + 0x2000000)
  33. /* memtest will be run on 16MB */
  34. #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + 0x2000000 + 16*1024*1024)
  35. /*
  36. * Serial Driver info
  37. */
  38. #define CONFIG_SYS_NS16550_SERIAL
  39. #define CONFIG_SYS_NS16550_CLK clk_get(DAVINCI_UART2_CLKID)
  40. #define CONFIG_SYS_SPI_CLK clk_get(DAVINCI_SPI0_CLKID)
  41. /*
  42. * I2C Configuration
  43. */
  44. #define CONFIG_SYS_I2C
  45. #define CONFIG_SYS_DAVINCI_I2C_SPEED 400000
  46. #define CONFIG_SYS_DAVINCI_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */
  47. /*
  48. * U-Boot general configuration
  49. */
  50. #define CONFIG_BOOTFILE "uImage" /* Boot file name */
  51. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
  52. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
  53. #define CONFIG_SYS_LOAD_ADDR (PHYS_SDRAM_1 + 0x700000)
  54. /*
  55. * Linux Information
  56. */
  57. #define LINUX_BOOT_PARAM_ADDR (PHYS_SDRAM_1 + 0x100)
  58. #define CONFIG_HWCONFIG /* enable hwconfig */
  59. #define CONFIG_CMDLINE_TAG
  60. #define CONFIG_REVISION_TAG
  61. #define CONFIG_SERIAL_TAG
  62. #define CONFIG_SETUP_MEMORY_TAGS
  63. #define CONFIG_SETUP_INITRD_TAG
  64. #define CONFIG_BOOTCOMMAND \
  65. "if mmc rescan; then " \
  66. "if run loadbootscr; then " \
  67. "run bootscript; " \
  68. "else " \
  69. "if run loadbootenv; then " \
  70. "echo Loaded env from ${bootenvfile};" \
  71. "run importbootenv;" \
  72. "fi;" \
  73. "if test -n $uenvcmd; then " \
  74. "echo Running uenvcmd...;" \
  75. "run uenvcmd;" \
  76. "fi;" \
  77. "if run loadimage; then " \
  78. "run mmcargs; " \
  79. "if run loadfdt; then " \
  80. "echo Using ${fdtfile}...;" \
  81. "run fdtfixup; " \
  82. "run fdtboot; "\
  83. "fi; " \
  84. "run mmcboot; " \
  85. "fi; " \
  86. "fi; " \
  87. "fi; "\
  88. "run flashargs; " \
  89. "run flashboot"
  90. #define CONFIG_EXTRA_ENV_SETTINGS \
  91. "bootenvfile=uEnv.txt\0" \
  92. "fdtfile=da850-lego-ev3.dtb\0" \
  93. "memsize=64M\0" \
  94. "filesyssize=10M\0" \
  95. "verify=n\0" \
  96. "console=ttyS1,115200n8\0" \
  97. "bootscraddr=0xC0600000\0" \
  98. "fdtaddr=0xC0600000\0" \
  99. "loadaddr=0xC0007FC0\0" \
  100. "filesysaddr=0xC1180000\0" \
  101. "fwupdateboot=mw 0xFFFF1FFC 0x5555AAAA; reset\0" \
  102. "importbootenv=echo Importing environment...; " \
  103. "env import -t ${loadaddr} ${filesize}\0" \
  104. "loadbootenv=fatload mmc 0 ${loadaddr} ${bootenvfile}\0" \
  105. "mmcargs=setenv bootargs console=${console} root=/dev/mmcblk0p2 rw " \
  106. "rootwait ${optargs}\0" \
  107. "mmcboot=bootm ${loadaddr}\0" \
  108. "flashargs=setenv bootargs initrd=${filesysaddr},${filesyssize} " \
  109. "root=/dev/ram0 rw rootfstype=squashfs console=${console} " \
  110. "${optargs}\0" \
  111. "flashboot=sf probe 0; " \
  112. "sf read ${fdtaddr} 0x40000 0x10000; " \
  113. "sf read ${loadaddr} 0x50000 0x400000; " \
  114. "sf read ${filesysaddr} 0x450000 0xA00000; " \
  115. "run fdtfixup; " \
  116. "run fdtboot\0" \
  117. "loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
  118. "loadfdt=fatload mmc 0 ${fdtaddr} ${fdtfile}\0" \
  119. "fdtfixup=fdt addr ${fdtaddr}; fdt resize; fdt chosen\0" \
  120. "fdtboot=bootm ${loadaddr} - ${fdtaddr}\0" \
  121. "loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
  122. "bootscript=source ${bootscraddr}\0"
  123. #ifdef CONFIG_CMD_BDI
  124. #define CONFIG_CLOCKS
  125. #endif
  126. /* additions for new relocation code, must added to all boards */
  127. #define CONFIG_SYS_SDRAM_BASE 0xc0000000
  128. #define CONFIG_SYS_INIT_SP_ADDR 0x80010000
  129. #include <asm/arch/hardware.h>
  130. #endif /* __CONFIG_H */