2 * (C) Copyright 2009 DENX Software Engineering
3 * Author: John Rigby <jrigby@gmail.com>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License as
7 * published by the Free Software Foundation; either version 2 of
8 * the License, or (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23 //only used in fdl2 .in uart download, the debug infors from serial will break the download process.
24 #define CONFIG_FDL2_PRINT 0
25 #define BOOT_NATIVE_LINUX (0)
27 #define CONFIG_SILENT_CONSOLE
28 #define CONFIG_GPIOLIB 1
31 #define U_BOOT_SPRD_VER 1
32 /*#define SPRD_EVM_TAG_ON 1*/
33 #ifdef SPRD_EVM_TAG_ON
34 #define SPRD_EVM_ADDR_START 0x40006000
35 #define SPRD_EVM_TAG(_x) (*(((unsigned long *)SPRD_EVM_ADDR_START)+_x) = *(volatile unsigned long *)0x87003004)
37 #define CONFIG_L2_OFF 1
41 #define CONFIG_YAFFS2 1
43 #define BOOT_PART "boot"
44 //#define BOOT_PART "kernel"
45 #define RECOVERY_PART "recovery"
47 * SPREADTRUM BIGPHONE board - SoC Configuration
51 #define CONFIG_SC8810_OPENPHONE
54 #define CONFIG_SC8810_OPENPHONE
55 #define CHIP_ENDIAN_LITTLE
56 #define SC8800S_LITTLE_ENDIAN FALSE
57 #define _LITTLE_ENDIAN 1
58 #define EXT_MEM_TYPE_DDR 1
61 #define BB_DRAM_TYPE_256MB_32BIT
62 #define CONFIG_MTD_NAND_SC8810 1
64 #define CONFIG_SYS_HZ 1000
65 #define CONFIG_SPRD_TIMER_CLK 1000 /*32768*/
67 //#define CONFIG_SYS_HUSH_PARSER
69 #ifdef CONFIG_SYS_HUSH_PARSER
70 #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
73 #define FIXNV_SIZE (64 * 1024)
74 #define MODEM_SIZE (0x800000)
75 #define DSP_SIZE (0x3E0400) /* 3968K */
76 #define VMJALUNA_SIZE (0x64000) /* 400K */
77 #define RUNTIMENV_SIZE (256 * 1024)
78 #define CONFIG_SPL_LOAD_LEN (0x4000)
81 /*#define CMDLINE_NEED_CONV */
83 #define WATCHDOG_LOAD_VALUE 0x4000
84 #define CONFIG_SYS_STACK_SIZE 0x400
86 //#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* 256 kB for U-Boot */
88 /* NAND BOOT is the only boot method */
89 #define CONFIG_NAND_U_BOOT
90 #define DYNAMIC_CRC_TABLE
91 /* Start copying real U-boot from the second page */
92 #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
93 #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x64000
95 #define RAM_TYPPE_IS_SDRAM 0
97 /* Load U-Boot to this address */
98 #define CONFIG_SYS_NAND_U_BOOT_DST 0x00f00000
99 #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST
100 #ifdef CONFIG_NAND_SPL
101 #define CONFIG_SYS_SDRAM_BASE 0x00000000
102 #define CONFIG_SYS_INIT_SP_ADDR \
103 (CONFIG_SYS_SDRAM_BASE + 0x4000)
105 #define CONFIG_SYS_NAND_SPARE_SIZE 64
106 #define CONFIG_SYS_NAND_BLOCK_SIZE (128 * 1024)
107 #define CONFIG_SYS_NAND_PAGE_COUNT 64
108 #define CONFIG_SYS_NAND_SIZE (128 * 1024 * 1024)
109 #define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
111 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
114 #define CONFIG_MMU_TABLE_ADDR (0x40000000)
116 #define CONFIG_SYS_SDRAM_BASE 0x00000000
117 #define CONFIG_SYS_INIT_SP_ADDR \
118 (CONFIG_SYS_SDRAM_BASE + 0x1000 - GENERATED_GBL_DATA_SIZE)
120 #define CONFIG_SKIP_LOWLEVEL_INIT
123 #define CONFIG_SYS_NAND_PAGE_SIZE 2048
124 /* Size of the block protected by one OOB (Spare Area in Samsung terminology) */
125 #define CONFIG_SYS_NAND_ECCSIZE 512
126 /* Number of ECC bytes per OOB - S3C6400 calculates 4 bytes ECC in 1-bit mode */
127 #define CONFIG_SYS_NAND_ECCBYTES 4
128 /* Number of ECC-blocks per NAND page */
129 #define CONFIG_SYS_NAND_ECCSTEPS (CONFIG_SYS_NAND_PAGE_SIZE / CONFIG_SYS_NAND_ECCSIZE)
130 /* 2 bit correct, sc8810 support 1, 2, 4, 8, 12,14, 24 */
131 #define CONFIG_SYS_NAND_ECC_MODE 2
132 #define CONFIG_SYS_SPL_ECC_POS 8
133 /* Size of a single OOB region */
134 #define CONFIG_SYS_NAND_OOBSIZE 64
135 /* Number of ECC bytes per page */
136 #define CONFIG_SYS_NAND_ECCTOTAL (CONFIG_SYS_NAND_ECCBYTES * CONFIG_SYS_NAND_ECCSTEPS)
137 /* ECC byte positions */
138 #define CONFIG_SYS_NAND_ECCPOS {40, 41, 42, 43, 44, 45, 46, 47, \
139 48, 49, 50, 51, 52, 53, 54, 55, \
140 56, 57, 58, 59, 60, 61, 62, 63}
142 #define CONFIG_HW_WATCHDOG
144 #define CONFIG_DISPLAY_CPUINFO
146 #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
147 #define CONFIG_SETUP_MEMORY_TAGS 1
148 #define CONFIG_INITRD_TAG 1
154 #define CONFIG_SYS_MALLOC_LEN (2 << 20) /* 1 MiB */
156 * Board has 2 32MB banks of DRAM but there is a bug when using
157 * both so only the first is configured
159 #define CONFIG_NR_DRAM_BANKS 1
161 #define PHYS_SDRAM_1 0x00000000
162 #define PHYS_SDRAM_1_SIZE 0x10000000
163 #if (CONFIG_NR_DRAM_BANKS == 2)
164 #define PHYS_SDRAM_2 0x90000000
165 #define PHYS_SDRAM_2_SIZE 0x02000000
168 #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1
169 #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1+0x0800000)
170 #define CONFIG_STACKSIZE (256 * 1024) /* regular stack */
175 #define CONFIG_SPRD_UART 1
176 #define CONFIG_SYS_SC8800X_UART1 1
177 #define CONFIG_CONS_INDEX 1 /* use UART0 for console */
178 #define CONFIG_BAUDRATE 115200 /* Default baud rate */
179 #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
182 * Flash & Environment
184 /* No NOR flash present */
185 #define CONFIG_SYS_MONITOR_LEN ((CONFIG_SYS_NAND_U_BOOT_OFFS)+(CONFIG_SYS_NAND_U_BOOT_SIZE))
186 #define CONFIG_SYS_NO_FLASH 1
187 #define CONFIG_ENV_IS_NOWHERE
188 #define CONFIG_ENV_SIZE (128 * 1024)
190 #define CONFIG_ENV_IS_IN_NAND
191 #define CONFIG_ENV_OFFSET CONFIG_SYS_MONITOR_LEN
192 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
196 #define CONFIG_NAND_SC8810
197 #define CONFIG_SPRD_NAND_REGS_BASE (0x60000000)
198 #define CONFIG_SYS_MAX_NAND_DEVICE 1
199 #define CONFIG_SYS_NAND_BASE (0x60000000)
200 //#define CONFIG_JFFS2_NAND
201 //#define CONFIG_SPRD_NAND_HWECC
202 #define CONFIG_SYS_NAND_HW_ECC
203 #define CONFIG_SYS_NAND_LARGEPAGE
204 //#define CONFIG_SYS_NAND_5_ADDR_CYCLE
206 #define CONFIG_SYS_64BIT_VSPRINTF
208 #define CONFIG_CMD_MTDPARTS
209 #define CONFIG_MTD_PARTITIONS
210 #define CONFIG_MTD_DEVICE
211 #define CONFIG_CMD_UBI
212 #define CONFIG_RBTREE
214 /* U-Boot general configuration */
215 #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
216 #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
217 /* Print buffer sz */
218 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
219 sizeof(CONFIG_SYS_PROMPT) + 16)
220 #define CONFIG_SYS_MAXARGS 32 /* max number of command args */
221 /* Boot Argument Buffer Size */
222 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
223 #define CONFIG_CMDLINE_EDITING
224 #define CONFIG_SYS_LONGHELP
226 /* support OS choose */
227 #undef CONFIG_BOOTM_NETBSD
228 #undef CONFIG_BOOTM_RTEMS
230 /* U-Boot commands */
231 #include <config_cmd_default.h>
232 #define CONFIG_CMD_NAND
233 #undef CONFIG_CMD_FPGA
234 #undef CONFIG_CMD_LOADS
235 #undef CONFIG_CMD_NET
236 #undef CONFIG_CMD_NFS
237 #undef CONFIG_CMD_SETGETDCR
239 #define CONFIG_ENV_OVERWRITE
241 #ifdef SPRD_EVM_TAG_ON
242 #define CONFIG_BOOTDELAY 0
244 #define CONFIG_BOOTDELAY 0
245 #define CONFIG_ZERO_BOOTDELAY_CHECK
248 #define CONFIG_LOADADDR 0x01000000 /* loadaddr env var */
249 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
251 #define xstr(s) str(s)
254 #define MTDIDS_DEFAULT "nand0=sprd-nand"
255 #ifdef CONFIG_G2PHONE
256 #define MTDPARTS_DEFAULT "mtdparts=sprd-nand:384k@256k(boot),256k(params),6m(kernel),6m(ramdisk),6m(recovery),70m(system),30m(userdata),7m(cache)"
257 #define CONFIG_BOOTARGS "mem=64M console=ttyS1,115200n8 init=/init "MTDPARTS_DEFAULT
258 #elif defined CONFIG_SC8810_OPENPHONE
259 /*#define MTDPARTS_DEFAULT "mtdparts=sprd-nand:256k(spl),384k(2ndbl),128k(params),512k(vmjaluna),6016k(modem),7680k(kernel),5120k(dsp),1280k(fixnv),2560k(runtimenv),6400k(recovery),100m(system),198m(userdata),1m(boot_logo),1m(fastboot_logo),2m(cache),256k(misc)"*/
260 //#define MTDPARTS_DEFAULT "mtdparts=sprd-nand:256k(spl),512k(2ndbl),128k(params),512k(vmjaluna),10m(modem),10m(boot),5120k(dsp),1280k(fixnv),3840k(backupfixnv),3840k(runtimenv),10m(recovery),150m(system),300m(userdata),1m(boot_logo),1m(fastboot_logo),2m(cache),256k(misc)"
261 //#define MTDPARTS_DEFAULT "mtdparts=sprd-nand:256k(spl),512k(2ndbl),128k(params),512k(vmjaluna),10m(modem),10m(boot)"
262 #define MTDPARTS_DEFAULT "mtdparts=sprd-nand:256k(spl),512k(2ndbl),128k(params),512k(vmjaluna),10m(modem),3840k(fixnv),3840k(backupfixnv),5120k(dsp),3840k(runtimenv),10m(boot),10m(recovery),200m(system),230m(userdata),20m(cache),256k(misc),1m(boot_logo),1m(fastboot_logo),2m(productinfo),512k(kpanic)"
263 #define CONFIG_BOOTARGS "mem=240M console=ttyS1,115200n8 init=/init " MTDPARTS_DEFAULT
266 #define CONFIG_LOOP_PER_JIFFY 3350528
267 #define COPY_LINUX_KERNEL_SIZE (0x600000)
268 #define LINUX_INITRD_NAME "modem"
270 #define CONFIG_BOOTCOMMAND "cboot normal"
271 #define CONFIG_EXTRA_ENV_SETTINGS ""
273 #ifdef CONFIG_CMD_NET
274 #define CONFIG_IPADDR 192.168.10.2
275 #define CONFIG_SERVERIP 192.168.10.5
276 #define CONFIG_NETMASK 255.255.255.0
277 #define CONFIG_USBNET_DEVADDR 26:03:ee:00:87:9f
278 #define CONFIG_USBNET_HOSTADDR 9a:04:c7:d6:30:d0
281 #define CONFIG_NET_MULTI
282 #define CONFIG_CMD_DNS
283 #define CONFIG_CMD_NFS
284 #define CONFIG_CMD_RARP
285 #define CONFIG_CMD_PING
286 /*#define CONFIG_CMD_SNTP */
289 #define CONFIG_USB_GADGET_SC8800G
290 #define CONFIG_USB_DWC
291 #define CONFIG_USB_GADGET_DUALSPEED
292 //#define CONFIG_USB_ETHER
293 #define CONFIG_CMD_FASTBOOT
294 #define SCRATCH_ADDR 0x1000000
295 #define FB_DOWNLOAD_BUF_SIZE (200*1024*1024)
297 #define CONFIG_MODEM_CALIBERATE
299 #define CONFIG_UPDATE_TFTP
301 #define CONFIG_OF_LIBFDT
302 #define CONFIG_SYS_MAX_FLASH_BANKS 1
303 #define CONFIG_SYS_MAX_FLASH_SECT 128
307 #define CONFIG_SPLASH_SCREEN
308 #define LCD_BPP LCD_COLOR16
309 #define CONFIG_LCD_HVGA 1
310 //#define CONFIG_LCD_WVGA 1
311 //#define CONFIG_LCD_INFO
312 //#define LCD_TEST_PATTERN
313 //#define CONFIG_LCD_LOGO
314 #define CONFIG_SYS_WHITE_ON_BLACK
315 #define CONFIG_LCD_HX8357_1
316 #ifdef LCD_TEST_PATTERN
317 #define CONSOLE_COLOR_RED 0xf800
318 #define CONSOLE_COLOR_GREEN 0x07e0
319 #define CONSOLE_COLOR_YELLOW 0x07e0
320 #define CONSOLE_COLOR_BLUE 0x001f
321 #define CONSOLE_COLOR_MAGENTA 0x001f
322 #define CONSOLE_COLOR_CYAN 0x001f
326 #define CALIBRATE_ENUM_MS 15000
327 #define CALIBRATE_IO_MS 10000
329 #define LOW_BAT_VOL 3500 /*phone battery voltage low than this value will not boot up*/
330 #define LOW_BAT_VOL_CHG 3300 //3.3V charger connect
332 #define PWR_KEY_DETECT_CNT 12 /*this should match the count of boot_pwr_check() function */
333 #define ALARM_LEAD_SET_MS 0 /* time set for alarm boot in advancd */
334 #define USB_PHY_TUNE_VALUE 0x44073e33
337 #endif /* __CONFIG_H */