Merge branch 'master' of git://git.denx.de/u-boot-spi
[platform/kernel/u-boot.git] / include / configs / smdkv310.h
1 /*
2  * Copyright (C) 2011 Samsung Electronics
3  *
4  * Configuration settings for the SAMSUNG SMDKV310 (EXYNOS4210) board.
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  */
8
9 #ifndef __CONFIG_H
10 #define __CONFIG_H
11
12 /* High Level Configuration Options */
13 #define CONFIG_SAMSUNG                  1       /* in a SAMSUNG core */
14 #define CONFIG_S5P                      1       /* S5P Family */
15 #define CONFIG_EXYNOS4210               1       /* which is a EXYNOS4210 SoC */
16 #define CONFIG_SMDKV310                 1       /* working with SMDKV310*/
17
18 #include <asm/arch/cpu.h>               /* get chip and board defs */
19
20 #define CONFIG_ARCH_CPU_INIT
21 #define CONFIG_DISPLAY_CPUINFO
22 #define CONFIG_DISPLAY_BOARDINFO
23 #define CONFIG_BOARD_EARLY_INIT_F
24
25 /* Mach Type */
26 #define CONFIG_MACH_TYPE                MACH_TYPE_SMDKV310
27
28 /* Keep L2 Cache Disabled */
29 #define CONFIG_L2_OFF                   1
30
31 #define CONFIG_SYS_SDRAM_BASE           0x40000000
32 #define CONFIG_SYS_TEXT_BASE            0x43E00000
33
34 /* input clock of PLL: SMDKV310 has 24MHz input clock */
35 #define CONFIG_SYS_CLK_FREQ             24000000
36
37 #define CONFIG_SETUP_MEMORY_TAGS
38 #define CONFIG_CMDLINE_TAG
39 #define CONFIG_INITRD_TAG
40 #define CONFIG_CMDLINE_EDITING
41
42 /* Handling Sleep Mode*/
43 #define S5P_CHECK_SLEEP                 0x00000BAD
44 #define S5P_CHECK_DIDLE                 0xBAD00000
45 #define S5P_CHECK_LPA                   0xABAD0000
46
47 /* Size of malloc() pool */
48 #define CONFIG_SYS_MALLOC_LEN           (CONFIG_ENV_SIZE + (1 << 20))
49
50 /* select serial console configuration */
51 #define CONFIG_SERIAL1                  1       /* use SERIAL 1 */
52 #define CONFIG_BAUDRATE                 115200
53 #define EXYNOS4_DEFAULT_UART_OFFSET     0x010000
54
55 /* SD/MMC configuration */
56 #define CONFIG_GENERIC_MMC
57 #define CONFIG_MMC
58 #define CONFIG_SDHCI
59 #define CONFIG_S5P_SDHCI
60
61 /* PWM */
62 #define CONFIG_PWM                      1
63
64 /* allow to overwrite serial and ethaddr */
65 #define CONFIG_ENV_OVERWRITE
66
67 /* Command definition*/
68 #include <config_cmd_default.h>
69
70 #define CONFIG_CMD_PING
71 #define CONFIG_CMD_ELF
72 #define CONFIG_CMD_DHCP
73 #define CONFIG_CMD_MMC
74 #define CONFIG_CMD_NET
75 #define CONFIG_CMD_FAT
76
77 #define CONFIG_BOOTDELAY                3
78 #define CONFIG_ZERO_BOOTDELAY_CHECK
79
80 /* MMC SPL */
81 #define CONFIG_SPL
82 #define CONFIG_SKIP_LOWLEVEL_INIT
83 #define COPY_BL2_FNPTR_ADDR     0x00002488
84
85 #define CONFIG_SPL_TEXT_BASE    0x02021410
86
87 #define CONFIG_BOOTCOMMAND      "fatload mmc 0 40007000 uImage; bootm 40007000"
88
89 /* Miscellaneous configurable options */
90 #define CONFIG_SYS_LONGHELP             /* undef to save memory */
91 #define CONFIG_SYS_HUSH_PARSER          /* use "hush" command parser    */
92 #define CONFIG_SYS_PROMPT               "SMDKV310 # "
93 #define CONFIG_SYS_CBSIZE               256     /* Console I/O Buffer Size*/
94 #define CONFIG_SYS_PBSIZE               384     /* Print Buffer Size */
95 #define CONFIG_SYS_MAXARGS              16      /* max number of command args */
96 #define CONFIG_DEFAULT_CONSOLE          "console=ttySAC2,115200n8\0"
97 /* Boot Argument Buffer Size */
98 #define CONFIG_SYS_BARGSIZE             CONFIG_SYS_CBSIZE
99 /* memtest works on */
100 #define CONFIG_SYS_MEMTEST_START        CONFIG_SYS_SDRAM_BASE
101 #define CONFIG_SYS_MEMTEST_END          (CONFIG_SYS_SDRAM_BASE + 0x6000000)
102 #define CONFIG_SYS_LOAD_ADDR            (CONFIG_SYS_SDRAM_BASE + 0x3E00000)
103
104 #define CONFIG_SYS_HZ                   1000
105
106 /* SMDKV310 has 4 bank of DRAM */
107 #define CONFIG_NR_DRAM_BANKS    4
108 #define SDRAM_BANK_SIZE         (512UL << 20UL) /* 512 MB */
109 #define PHYS_SDRAM_1            CONFIG_SYS_SDRAM_BASE
110 #define PHYS_SDRAM_1_SIZE       SDRAM_BANK_SIZE
111 #define PHYS_SDRAM_2            (CONFIG_SYS_SDRAM_BASE + SDRAM_BANK_SIZE)
112 #define PHYS_SDRAM_2_SIZE       SDRAM_BANK_SIZE
113 #define PHYS_SDRAM_3            (CONFIG_SYS_SDRAM_BASE + (2 * SDRAM_BANK_SIZE))
114 #define PHYS_SDRAM_3_SIZE       SDRAM_BANK_SIZE
115 #define PHYS_SDRAM_4            (CONFIG_SYS_SDRAM_BASE + (3 * SDRAM_BANK_SIZE))
116 #define PHYS_SDRAM_4_SIZE       SDRAM_BANK_SIZE
117
118 /* FLASH and environment organization */
119 #define CONFIG_SYS_NO_FLASH             1
120 #undef  CONFIG_CMD_IMLS
121 #define CONFIG_IDENT_STRING             " for SMDKC210/V310"
122
123 #define CONFIG_CLK_1000_400_200
124
125 /* MIU (Memory Interleaving Unit) */
126 #define CONFIG_MIU_2BIT_INTERLEAVED
127
128 #define CONFIG_ENV_IS_IN_MMC            1
129 #define CONFIG_SYS_MMC_ENV_DEV          0
130 #define CONFIG_ENV_SIZE                 (16 << 10)      /* 16 KB */
131 #define RESERVE_BLOCK_SIZE              (512)
132 #define BL1_SIZE                        (16 << 10) /*16 K reserved for BL1*/
133 #define CONFIG_ENV_OFFSET               (RESERVE_BLOCK_SIZE + BL1_SIZE)
134 #define CONFIG_DOS_PARTITION            1
135
136 #define CONFIG_SPL_LDSCRIPT     "board/samsung/common/exynos-uboot-spl.lds"
137 #define CONFIG_SPL_MAX_FOOTPRINT        (14 * 1024)
138
139 #define CONFIG_SYS_INIT_SP_ADDR         0x02040000
140
141 /* U-boot copy size from boot Media to DRAM.*/
142 #define COPY_BL2_SIZE           0x80000
143 #define BL2_START_OFFSET        ((CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)/512)
144 #define BL2_SIZE_BLOC_COUNT     (COPY_BL2_SIZE/512)
145
146 /* Ethernet Controllor Driver */
147 #ifdef CONFIG_CMD_NET
148 #define CONFIG_SMC911X
149 #define CONFIG_SMC911X_BASE             0x5000000
150 #define CONFIG_SMC911X_16_BIT
151 #define CONFIG_ENV_SROM_BANK            1
152 #endif /*CONFIG_CMD_NET*/
153
154 /* Enable devicetree support */
155 #define CONFIG_OF_LIBFDT
156 #endif  /* __CONFIG_H */