origen.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /*
  2. * Copyright (C) 2011 Samsung Electronics
  3. *
  4. * Configuration settings for the SAMSUNG ORIGEN (EXYNOS4210) board.
  5. *
  6. * SPDX-License-Identifier: GPL-2.0+
  7. */
  8. #ifndef __CONFIG_ORIGEN_H
  9. #define __CONFIG_ORIGEN_H
  10. #include <configs/exynos4-common.h>
  11. /* High Level Configuration Options */
  12. #define CONFIG_EXYNOS4210 1 /* which is a EXYNOS4210 SoC */
  13. #define CONFIG_ORIGEN 1 /* working with ORIGEN*/
  14. #define CONFIG_SYS_DCACHE_OFF 1
  15. /* ORIGEN has 4 bank of DRAM */
  16. #define CONFIG_NR_DRAM_BANKS 4
  17. #define CONFIG_SYS_SDRAM_BASE 0x40000000
  18. #define PHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE
  19. #define SDRAM_BANK_SIZE (256 << 20) /* 256 MB */
  20. /* memtest works on */
  21. #define CONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE
  22. #define CONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE + 0x6000000)
  23. #define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
  24. #define CONFIG_SYS_TEXT_BASE 0x43E00000
  25. #define CONFIG_MACH_TYPE MACH_TYPE_ORIGEN
  26. /* select serial console configuration */
  27. #define CONFIG_SERIAL2
  28. #define CONFIG_BAUDRATE 115200
  29. /* Console configuration */
  30. #define CONFIG_DEFAULT_CONSOLE "console=ttySAC1,115200n8\0"
  31. #define CONFIG_SYS_MEM_TOP_HIDE (1 << 20) /* ram console */
  32. #define CONFIG_SYS_MONITOR_BASE 0x00000000
  33. /* Power Down Modes */
  34. #define S5P_CHECK_SLEEP 0x00000BAD
  35. #define S5P_CHECK_DIDLE 0xBAD00000
  36. #define S5P_CHECK_LPA 0xABAD0000
  37. #define CONFIG_SUPPORT_RAW_INITRD
  38. /* MMC SPL */
  39. #define COPY_BL2_FNPTR_ADDR 0x02020030
  40. #define CONFIG_SPL_TEXT_BASE 0x02021410
  41. #define CONFIG_EXTRA_ENV_SETTINGS \
  42. "loadaddr=0x40007000\0" \
  43. "rdaddr=0x48000000\0" \
  44. "kerneladdr=0x40007000\0" \
  45. "ramdiskaddr=0x48000000\0" \
  46. "console=ttySAC2,115200n8\0" \
  47. "mmcdev=0\0" \
  48. "bootenv=uEnv.txt\0" \
  49. "loadbootenv=load mmc ${mmcdev} ${loadaddr} ${bootenv}\0" \
  50. "importbootenv=echo Importing environment from mmc ...; " \
  51. "env import -t $loadaddr $filesize\0" \
  52. "loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr\0" \
  53. "bootscript=echo Running bootscript from mmc${mmcdev} ...; " \
  54. "source ${loadaddr}\0"
  55. #define CONFIG_BOOTCOMMAND \
  56. "if mmc rescan; then " \
  57. "echo SD/MMC found on device ${mmcdev};" \
  58. "if run loadbootenv; then " \
  59. "echo Loaded environment from ${bootenv};" \
  60. "run importbootenv;" \
  61. "fi;" \
  62. "if test -n $uenvcmd; then " \
  63. "echo Running uenvcmd ...;" \
  64. "run uenvcmd;" \
  65. "fi;" \
  66. "if run loadbootscript; then " \
  67. "run bootscript; " \
  68. "fi; " \
  69. "fi;" \
  70. "load mmc ${mmcdev} ${loadaddr} uImage; bootm ${loadaddr} "
  71. #define CONFIG_CLK_1000_400_200
  72. /* MIU (Memory Interleaving Unit) */
  73. #define CONFIG_MIU_2BIT_21_7_INTERLEAVED
  74. #define CONFIG_ENV_IS_IN_MMC
  75. #define CONFIG_SYS_MMC_ENV_DEV 0
  76. #define CONFIG_ENV_SIZE (16 << 10) /* 16 KB */
  77. #define RESERVE_BLOCK_SIZE (512)
  78. #define BL1_SIZE (16 << 10) /*16 K reserved for BL1*/
  79. #define CONFIG_ENV_OFFSET (RESERVE_BLOCK_SIZE + BL1_SIZE)
  80. #define CONFIG_SPL_LDSCRIPT "board/samsung/common/exynos-uboot-spl.lds"
  81. #define CONFIG_SPL_MAX_FOOTPRINT (14 * 1024)
  82. #define CONFIG_SYS_INIT_SP_ADDR 0x02040000
  83. /* U-Boot copy size from boot Media to DRAM.*/
  84. #define COPY_BL2_SIZE 0x80000
  85. #define BL2_START_OFFSET ((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
  86. #define BL2_SIZE_BLOC_COUNT (COPY_BL2_SIZE/512)
  87. #endif /* __CONFIG_H */