imx6_spl.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. /*
  2. * Copyright (C) 2014 Gateworks Corporation
  3. * Author: Tim Harvey <tharvey@gateworks.com>
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. #ifndef __IMX6_SPL_CONFIG_H
  8. #define __IMX6_SPL_CONFIG_H
  9. #ifdef CONFIG_SPL
  10. #define CONFIG_SPL_FRAMEWORK
  11. /*
  12. * see Figure 8-3 in IMX6DQ/IMX6SDL Reference manuals:
  13. * - IMX6SDL OCRAM (IRAM) is from 0x00907000 to 0x0091FFFF
  14. * - IMX6DQ has 2x IRAM of IMX6SDL but we intend to support IMX6SDL as well
  15. * - BOOT ROM stack is at 0x0091FFB8
  16. * - if icache/dcache is enabled (eFuse/strapping controlled) then the
  17. * IMX BOOT ROM will setup MMU table at 0x00918000, therefore we need to
  18. * fit between 0x00907000 and 0x00918000.
  19. * - Additionally the BOOT ROM loads what they consider the firmware image
  20. * which consists of a 4K header in front of us that contains the IVT, DCD
  21. * and some padding thus 'our' max size is really 0x00908000 - 0x00918000
  22. * or 64KB
  23. */
  24. #define CONFIG_SYS_THUMB_BUILD
  25. #define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/u-boot-spl.lds"
  26. #define CONFIG_SPL_TEXT_BASE 0x00908000
  27. #define CONFIG_SPL_MAX_SIZE 0x10000
  28. #define CONFIG_SPL_STACK 0x0091FFB8
  29. /*
  30. * Pad SPL to 68KB (4KB header + 64KB max size). This allows to write the
  31. * SPL/U-Boot combination generated with u-boot-with-spl.imx directly to a
  32. * boot media (given that boot media specific offset is configured properly).
  33. */
  34. #define CONFIG_SPL_PAD_TO 0x11000
  35. /* NAND support */
  36. #if defined(CONFIG_SPL_NAND_SUPPORT)
  37. #define CONFIG_SPL_NAND_MXS
  38. #endif
  39. /* MMC support */
  40. #if defined(CONFIG_SPL_MMC_SUPPORT)
  41. #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
  42. #define CONFIG_SYS_MONITOR_LEN 409600 /* 400 KB */
  43. #undef CONFIG_SPL_RAW_IMAGE_SUPPORT
  44. #endif
  45. /* SATA support */
  46. #if defined(CONFIG_SPL_SATA_SUPPORT)
  47. #define CONFIG_SPL_SATA_BOOT_DEVICE 0
  48. #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
  49. #undef CONFIG_SPL_RAW_IMAGE_SUPPORT
  50. #endif
  51. /* Define the payload for FAT/EXT support */
  52. #if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
  53. #define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
  54. #endif
  55. #if defined(CONFIG_MX6SX) || defined(CONFIG_MX6UL) || defined(CONFIG_MX6SL)
  56. #define CONFIG_SPL_BSS_START_ADDR 0x88200000
  57. #define CONFIG_SPL_BSS_MAX_SIZE 0x100000 /* 1 MB */
  58. #define CONFIG_SYS_SPL_MALLOC_START 0x88300000
  59. #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */
  60. #define CONFIG_SYS_TEXT_BASE 0x87800000
  61. #else
  62. #define CONFIG_SPL_BSS_START_ADDR 0x18200000
  63. #define CONFIG_SPL_BSS_MAX_SIZE 0x100000 /* 1 MB */
  64. #define CONFIG_SYS_SPL_MALLOC_START 0x18300000
  65. #define CONFIG_SYS_SPL_MALLOC_SIZE 0x100000 /* 1 MB */
  66. #define CONFIG_SYS_TEXT_BASE 0x17800000
  67. #endif
  68. #endif
  69. #endif