legoev3.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  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. /* memtest will be run on 16MB */
  33. /*
  34. * Serial Driver info
  35. */
  36. #define CONFIG_SYS_NS16550_SERIAL
  37. #define CONFIG_SYS_NS16550_CLK clk_get(DAVINCI_UART2_CLKID)
  38. #define CONFIG_SYS_SPI_CLK clk_get(DAVINCI_SPI0_CLKID)
  39. /*
  40. * I2C Configuration
  41. */
  42. #define CONFIG_SYS_I2C
  43. #define CONFIG_SYS_DAVINCI_I2C_SPEED 400000
  44. #define CONFIG_SYS_DAVINCI_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */
  45. /*
  46. * U-Boot general configuration
  47. */
  48. #define CONFIG_BOOTFILE "uImage" /* Boot file name */
  49. #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
  50. #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /* Boot Args Buffer Size */
  51. #define CONFIG_SYS_LOAD_ADDR (PHYS_SDRAM_1 + 0x700000)
  52. /*
  53. * Linux Information
  54. */
  55. #define LINUX_BOOT_PARAM_ADDR (PHYS_SDRAM_1 + 0x100)
  56. #define CONFIG_HWCONFIG /* enable hwconfig */
  57. #define CONFIG_CMDLINE_TAG
  58. #define CONFIG_REVISION_TAG
  59. #define CONFIG_SERIAL_TAG
  60. #define CONFIG_SETUP_MEMORY_TAGS
  61. #define CONFIG_SETUP_INITRD_TAG
  62. #define CONFIG_BOOTCOMMAND \
  63. "if mmc rescan; then " \
  64. "if run loadbootscr; then " \
  65. "run bootscript; " \
  66. "else " \
  67. "if run loadbootenv; then " \
  68. "echo Loaded env from ${bootenvfile};" \
  69. "run importbootenv;" \
  70. "fi;" \
  71. "if test -n $uenvcmd; then " \
  72. "echo Running uenvcmd...;" \
  73. "run uenvcmd;" \
  74. "fi;" \
  75. "if run loadimage; then " \
  76. "run mmcargs; " \
  77. "if run loadfdt; then " \
  78. "echo Using ${fdtfile}...;" \
  79. "run fdtfixup; " \
  80. "run fdtboot; "\
  81. "fi; " \
  82. "run mmcboot; " \
  83. "fi; " \
  84. "fi; " \
  85. "fi; "\
  86. "run flashargs; " \
  87. "run flashboot"
  88. #define CONFIG_EXTRA_ENV_SETTINGS \
  89. "bootenvfile=uEnv.txt\0" \
  90. "fdtfile=da850-lego-ev3.dtb\0" \
  91. "memsize=64M\0" \
  92. "filesyssize=10M\0" \
  93. "verify=n\0" \
  94. "console=ttyS1,115200n8\0" \
  95. "bootscraddr=0xC0600000\0" \
  96. "fdtaddr=0xC0600000\0" \
  97. "loadaddr=0xC0007FC0\0" \
  98. "filesysaddr=0xC1180000\0" \
  99. "fwupdateboot=mw 0xFFFF1FFC 0x5555AAAA; reset\0" \
  100. "importbootenv=echo Importing environment...; " \
  101. "env import -t ${loadaddr} ${filesize}\0" \
  102. "loadbootenv=fatload mmc 0 ${loadaddr} ${bootenvfile}\0" \
  103. "mmcargs=setenv bootargs console=${console} root=/dev/mmcblk0p2 rw " \
  104. "rootwait ${optargs}\0" \
  105. "mmcboot=bootm ${loadaddr}\0" \
  106. "flashargs=setenv bootargs initrd=${filesysaddr},${filesyssize} " \
  107. "root=/dev/ram0 rw rootfstype=squashfs console=${console} " \
  108. "${optargs}\0" \
  109. "flashboot=sf probe 0; " \
  110. "sf read ${fdtaddr} 0x40000 0x10000; " \
  111. "sf read ${loadaddr} 0x50000 0x400000; " \
  112. "sf read ${filesysaddr} 0x450000 0xA00000; " \
  113. "run fdtfixup; " \
  114. "run fdtboot\0" \
  115. "loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
  116. "loadfdt=fatload mmc 0 ${fdtaddr} ${fdtfile}\0" \
  117. "fdtfixup=fdt addr ${fdtaddr}; fdt resize; fdt chosen\0" \
  118. "fdtboot=bootm ${loadaddr} - ${fdtaddr}\0" \
  119. "loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
  120. "bootscript=source ${bootscraddr}\0"
  121. #ifdef CONFIG_CMD_BDI
  122. #define CONFIG_CLOCKS
  123. #endif
  124. /* additions for new relocation code, must added to all boards */
  125. #define CONFIG_SYS_SDRAM_BASE 0xc0000000
  126. #define CONFIG_SYS_INIT_SP_ADDR 0x80010000
  127. #include <asm/arch/hardware.h>
  128. #endif /* __CONFIG_H */