theadorable.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. /*
  2. * Copyright (C) 2015-2016 Stefan Roese <sr@denx.de>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _CONFIG_THEADORABLE_H
  7. #define _CONFIG_THEADORABLE_H
  8. /*
  9. * High Level Configuration Options (easy to change)
  10. */
  11. #define CONFIG_DISPLAY_BOARDINFO_LATE
  12. /*
  13. * TEXT_BASE needs to be below 16MiB, since this area is scrubbed
  14. * for DDR ECC byte filling in the SPL before loading the main
  15. * U-Boot into it.
  16. */
  17. #define CONFIG_SYS_TEXT_BASE 0x00800000
  18. #define CONFIG_SYS_TCLK 250000000 /* 250MHz */
  19. /*
  20. * Commands configuration
  21. */
  22. #define CONFIG_CMD_ENV
  23. #define CONFIG_CMD_SATA
  24. /*
  25. * The debugging version enables USB support via defconfig.
  26. * This version should also enable all other non-production
  27. * interfaces / features.
  28. */
  29. #ifdef CONFIG_USB
  30. #define CONFIG_CMD_PCI
  31. #endif
  32. /* I2C */
  33. #define CONFIG_SYS_I2C
  34. #define CONFIG_SYS_I2C_MVTWSI
  35. #define CONFIG_I2C_MVTWSI_BASE0 MVEBU_TWSI_BASE
  36. #define CONFIG_I2C_MVTWSI_BASE1 MVEBU_TWSI1_BASE
  37. #define CONFIG_SYS_I2C_SLAVE 0x0
  38. #define CONFIG_SYS_I2C_SPEED 100000
  39. /* USB/EHCI configuration */
  40. #define CONFIG_EHCI_IS_TDI
  41. #define CONFIG_USB_MAX_CONTROLLER_COUNT 3
  42. #define CONFIG_SYS_NO_FLASH /* Declare no flash (NOR/SPI) */
  43. /* SPI NOR flash default params, used by sf commands */
  44. #define CONFIG_SF_DEFAULT_SPEED 27777777 /* for fast SPL booting */
  45. #define CONFIG_SF_DEFAULT_MODE SPI_MODE_3
  46. /* Environment in SPI NOR flash */
  47. #define CONFIG_ENV_IS_IN_SPI_FLASH
  48. #define CONFIG_ENV_OFFSET (1 << 20) /* 1MiB in */
  49. #define CONFIG_ENV_SIZE (64 << 10) /* 64KiB */
  50. #define CONFIG_ENV_SECT_SIZE (256 << 10) /* 256KiB sectors */
  51. #define CONFIG_ENV_OVERWRITE
  52. #define CONFIG_PHY_MARVELL /* there is a marvell phy */
  53. #define PHY_ANEG_TIMEOUT 8000 /* PHY needs a longer aneg time */
  54. #define CONFIG_SYS_ALT_MEMTEST
  55. #define CONFIG_PREBOOT
  56. /* Keep device tree and initrd in lower memory so the kernel can access them */
  57. #define CONFIG_EXTRA_ENV_SETTINGS \
  58. "fdt_high=0x10000000\0" \
  59. "initrd_high=0x10000000\0"
  60. /* SATA support */
  61. #define CONFIG_SYS_SATA_MAX_DEVICE 1
  62. #define CONFIG_SATA_MV
  63. #define CONFIG_LIBATA
  64. #define CONFIG_LBA48
  65. #define CONFIG_EFI_PARTITION
  66. #define CONFIG_DOS_PARTITION
  67. /* Additional FS support/configuration */
  68. #define CONFIG_SUPPORT_VFAT
  69. /* PCIe support */
  70. #ifdef CONFIG_CMD_PCI
  71. #ifndef CONFIG_SPL_BUILD
  72. #define CONFIG_PCI_MVEBU
  73. #define CONFIG_BOARD_LATE_INIT /* for PEX switch test */
  74. #endif
  75. #endif
  76. /* Enable LCD and reserve 512KB from top of memory*/
  77. #define CONFIG_SYS_MEM_TOP_HIDE 0x80000
  78. #define CONFIG_CMD_BMP
  79. /* FPGA programming support */
  80. #define CONFIG_FPGA
  81. #define CONFIG_FPGA_ALTERA
  82. #define CONFIG_FPGA_STRATIX_V
  83. /*
  84. * Bootcounter
  85. */
  86. #define CONFIG_BOOTCOUNT_LIMIT
  87. #define CONFIG_BOOTCOUNT_RAM
  88. /* Max size of RAM minus BOOTCOUNT_ADDR is the bootcounter address */
  89. #define BOOTCOUNT_ADDR 0x1000
  90. /*
  91. * mv-common.h should be defined after CMD configs since it used them
  92. * to enable certain macros
  93. */
  94. #include "mv-common.h"
  95. /*
  96. * Memory layout while starting into the bin_hdr via the
  97. * BootROM:
  98. *
  99. * 0x4000.4000 - 0x4003.4000 headers space (192KiB)
  100. * 0x4000.4030 bin_hdr start address
  101. * 0x4003.4000 - 0x4004.7c00 BootROM memory allocations (15KiB)
  102. * 0x4007.fffc BootROM stack top
  103. *
  104. * The address space between 0x4007.fffc and 0x400f.fff is not locked in
  105. * L2 cache thus cannot be used.
  106. */
  107. /* SPL */
  108. /* Defines for SPL */
  109. #define CONFIG_SPL_FRAMEWORK
  110. #define CONFIG_SPL_TEXT_BASE 0x40004030
  111. #define CONFIG_SPL_MAX_SIZE ((128 << 10) - 0x4030)
  112. #define CONFIG_SPL_BSS_START_ADDR (0x40000000 + (128 << 10))
  113. #define CONFIG_SPL_BSS_MAX_SIZE (16 << 10)
  114. #ifdef CONFIG_SPL_BUILD
  115. #define CONFIG_SYS_MALLOC_SIMPLE
  116. #endif
  117. #define CONFIG_SPL_STACK (0x40000000 + ((192 - 16) << 10))
  118. #define CONFIG_SPL_BOOTROM_SAVE (CONFIG_SPL_STACK + 4)
  119. /* SPL related SPI defines */
  120. #define CONFIG_SPL_SPI_LOAD
  121. #define CONFIG_SYS_SPI_U_BOOT_OFFS 0x1a000
  122. #define CONFIG_SYS_U_BOOT_OFFS CONFIG_SYS_SPI_U_BOOT_OFFS
  123. /* Enable DDR support in SPL (DDR3 training from Marvell bin_hdr) */
  124. #define CONFIG_DDR_FIXED_SIZE (2 << 20) /* 2GiB */
  125. #endif /* _CONFIG_THEADORABLE_H */