]>
Commit | Line | Data |
---|---|---|
47d41cc3 | 1 | /* |
f348ab85 | 2 | * config.h - setup common defines for Blackfin boards based on config.h |
47d41cc3 | 3 | * |
f348ab85 | 4 | * Copyright (c) 2007-2009 Analog Devices Inc. |
47d41cc3 | 5 | * |
f348ab85 | 6 | * Licensed under the GPL-2 or later. |
47d41cc3 KG |
7 | */ |
8 | ||
f348ab85 MF |
9 | #ifndef __ASM_BLACKFIN_CONFIG_POST_H__ |
10 | #define __ASM_BLACKFIN_CONFIG_POST_H__ | |
11 | ||
1fde3eb2 MF |
12 | /* Some of our defines use this (like CONFIG_SYS_GBL_DATA_ADDR) */ |
13 | #include <asm-offsets.h> | |
14 | ||
fbcf8e8c MF |
15 | /* Sanity check CONFIG_BFIN_CPU */ |
16 | #ifndef CONFIG_BFIN_CPU | |
17 | # error CONFIG_BFIN_CPU: your board config needs to define this | |
18 | #endif | |
19 | ||
9c46e71a MF |
20 | #ifndef CONFIG_BFIN_SCRATCH_REG |
21 | # define CONFIG_BFIN_SCRATCH_REG retn | |
22 | #endif | |
23 | ||
f348ab85 MF |
24 | /* Make sure the structure is properly aligned */ |
25 | #if ((CONFIG_SYS_GBL_DATA_ADDR & -4) != CONFIG_SYS_GBL_DATA_ADDR) | |
26 | # error CONFIG_SYS_GBL_DATA_ADDR: must be 4 byte aligned | |
27 | #endif | |
28 | ||
29 | /* Set default CONFIG_VCO_HZ if need be */ | |
30 | #if !defined(CONFIG_VCO_HZ) | |
31 | # if (CONFIG_CLKIN_HALF == 0) | |
32 | # define CONFIG_VCO_HZ (CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) | |
33 | # else | |
34 | # define CONFIG_VCO_HZ ((CONFIG_CLKIN_HZ * CONFIG_VCO_MULT) / 2) | |
35 | # endif | |
36 | #endif | |
37 | ||
38 | /* Set default CONFIG_CCLK_HZ if need be */ | |
39 | #if !defined(CONFIG_CCLK_HZ) | |
40 | # if (CONFIG_PLL_BYPASS == 0) | |
41 | # define CONFIG_CCLK_HZ (CONFIG_VCO_HZ / CONFIG_CCLK_DIV) | |
42 | # else | |
43 | # define CONFIG_CCLK_HZ CONFIG_CLKIN_HZ | |
44 | # endif | |
45 | #endif | |
46 | ||
47 | /* Set default CONFIG_SCLK_HZ if need be */ | |
48 | #if !defined(CONFIG_SCLK_HZ) | |
49 | # if (CONFIG_PLL_BYPASS == 0) | |
50 | # define CONFIG_SCLK_HZ (CONFIG_VCO_HZ / CONFIG_SCLK_DIV) | |
51 | # else | |
52 | # define CONFIG_SCLK_HZ CONFIG_CLKIN_HZ | |
53 | # endif | |
54 | #endif | |
55 | ||
56 | /* Since we use these to program PLL registers directly, | |
57 | * make sure the values are sane and won't screw us up. | |
58 | */ | |
59 | #if (CONFIG_VCO_MULT & 0x3F) != CONFIG_VCO_MULT | |
60 | # error CONFIG_VCO_MULT: Invalid value: must fit in 6 bits (0 - 63) | |
61 | #endif | |
62 | #if (CONFIG_CLKIN_HALF & 0x1) != CONFIG_CLKIN_HALF | |
63 | # error CONFIG_CLKIN_HALF: Invalid value: must be 0 or 1 | |
64 | #endif | |
65 | #if (CONFIG_PLL_BYPASS & 0x1) != CONFIG_PLL_BYPASS | |
66 | # error CONFIG_PLL_BYPASS: Invalid value: must be 0 or 1 | |
67 | #endif | |
68 | ||
f19fd87e RG |
69 | /* If we are using KGDB, make sure we defer exceptions */ |
70 | #ifdef CONFIG_CMD_KGDB | |
71 | # define CONFIG_EXCEPTION_DEFER 1 | |
72 | #endif | |
73 | ||
f348ab85 MF |
74 | /* Using L1 scratch pad makes sense for everyone by default. */ |
75 | #ifndef CONFIG_LINUX_CMDLINE_ADDR | |
76 | # define CONFIG_LINUX_CMDLINE_ADDR L1_SRAM_SCRATCH | |
77 | #endif | |
78 | #ifndef CONFIG_LINUX_CMDLINE_SIZE | |
79 | # define CONFIG_LINUX_CMDLINE_SIZE L1_SRAM_SCRATCH_SIZE | |
80 | #endif | |
81 | ||
82 | /* Set default SPI flash CS to the one we boot from */ | |
83 | #if defined(CONFIG_ENV_IS_IN_SPI_FLASH) && !defined(CONFIG_ENV_SPI_CS) | |
84 | # define CONFIG_ENV_SPI_CS BFIN_BOOT_SPI_SSEL | |
85 | #endif | |
86 | ||
76d82187 MF |
87 | /* We need envcrc to embed the env into LDRs */ |
88 | #ifdef CONFIG_ENV_IS_EMBEDDED_IN_LDR | |
89 | # define CONFIG_BUILD_ENVCRC | |
90 | #endif | |
91 | ||
f348ab85 MF |
92 | /* Default/common Blackfin memory layout */ |
93 | #ifndef CONFIG_SYS_SDRAM_BASE | |
94 | # define CONFIG_SYS_SDRAM_BASE 0 | |
95 | #endif | |
96 | #ifndef CONFIG_SYS_MAX_RAM_SIZE | |
97 | # define CONFIG_SYS_MAX_RAM_SIZE (CONFIG_MEM_SIZE * 1024 * 1024) | |
98 | #endif | |
99 | #ifndef CONFIG_SYS_MONITOR_BASE | |
7527feef MF |
100 | # if CONFIG_SYS_MAX_RAM_SIZE |
101 | # define CONFIG_SYS_MONITOR_BASE (CONFIG_SYS_MAX_RAM_SIZE - CONFIG_SYS_MONITOR_LEN) | |
102 | # else | |
103 | # define CONFIG_SYS_MONITOR_BASE 0 | |
104 | # endif | |
f348ab85 MF |
105 | #endif |
106 | #ifndef CONFIG_SYS_MALLOC_BASE | |
107 | # define CONFIG_SYS_MALLOC_BASE (CONFIG_SYS_MONITOR_BASE - CONFIG_SYS_MALLOC_LEN) | |
108 | #endif | |
f348ab85 | 109 | #ifndef CONFIG_SYS_GBL_DATA_ADDR |
25ddd1fb | 110 | # define CONFIG_SYS_GBL_DATA_ADDR (CONFIG_SYS_MALLOC_BASE - GENERATED_GBL_DATA_SIZE) |
f348ab85 MF |
111 | #endif |
112 | #ifndef CONFIG_STACKBASE | |
113 | # define CONFIG_STACKBASE (CONFIG_SYS_GBL_DATA_ADDR - 4) | |
114 | #endif | |
115 | #ifndef CONFIG_SYS_MEMTEST_START | |
116 | # define CONFIG_SYS_MEMTEST_START 0 | |
117 | #endif | |
118 | #ifndef CONFIG_SYS_MEMTEST_END | |
119 | # define CONFIG_SYS_MEMTEST_END (CONFIG_STACKBASE - 8192 + 4) | |
120 | #endif | |
121 | ||
122 | /* Check to make sure everything fits in external RAM */ | |
7527feef MF |
123 | #if CONFIG_SYS_MAX_RAM_SIZE && \ |
124 | ((CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN) > CONFIG_SYS_MAX_RAM_SIZE) | |
f348ab85 MF |
125 | # error Memory Map does not fit into configuration |
126 | #endif | |
127 | ||
128 | /* Default/common Blackfin environment settings */ | |
129 | #ifndef CONFIG_LOADADDR | |
130 | # define CONFIG_LOADADDR 0x1000000 | |
131 | #endif | |
132 | #ifndef CONFIG_SYS_LOAD_ADDR | |
133 | # define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR | |
134 | #endif | |
135 | #ifndef CONFIG_SYS_BOOTM_LEN | |
136 | # define CONFIG_SYS_BOOTM_LEN 0x4000000 | |
137 | #endif | |
138 | #ifndef CONFIG_SYS_PROMPT | |
139 | # define CONFIG_SYS_PROMPT "bfin> " | |
140 | #endif | |
141 | #ifndef CONFIG_SYS_CBSIZE | |
69a25ce3 | 142 | # define CONFIG_SYS_CBSIZE 1024 |
f19fd87e RG |
143 | #elif defined(CONFIG_CMD_KGDB) && CONFIG_SYS_CBSIZE < 1024 |
144 | # error "kgdb needs cbsize to be >= 1024" | |
f348ab85 MF |
145 | #endif |
146 | #ifndef CONFIG_SYS_BARGSIZE | |
147 | # define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE | |
148 | #endif | |
149 | #ifndef CONFIG_SYS_PBSIZE | |
150 | # define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT) + 16) | |
151 | #endif | |
152 | #ifndef CONFIG_SYS_MAXARGS | |
153 | # define CONFIG_SYS_MAXARGS 16 | |
154 | #endif | |
155 | #if defined(CONFIG_SYS_HZ) | |
156 | # if (CONFIG_SYS_HZ != 1000) | |
157 | # warning "CONFIG_SYS_HZ must always be 1000" | |
158 | # endif | |
159 | # undef CONFIG_SYS_HZ | |
160 | #endif | |
161 | #define CONFIG_SYS_HZ 1000 | |
162 | #ifndef CONFIG_SYS_BAUDRATE_TABLE | |
163 | # define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } | |
164 | #endif | |
47d41cc3 KG |
165 | |
166 | #endif |