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 1
26 #define BOOT_NATIVE_LINUX_MODEM 1
27 //#define CALIBRATION_FLAG 0x89FFFC00
28 //#define CALIBRATION_FLAG_WCDMA 0x89FFFC00
29 #define CONFIG_SILENT_CONSOLE
30 #define CONFIG_GPIOLIB 1
33 #define CONFIG_SDRAMDISK
35 #define U_BOOT_SPRD_VER 1
36 /*#define SPRD_EVM_TAG_ON 1*/
37 #ifdef SPRD_EVM_TAG_ON
38 #define SPRD_EVM_ADDR_START 0x00026000
39 #define SPRD_EVM_TAG(_x) (*(((unsigned long *)SPRD_EVM_ADDR_START)+_x) = *(volatile unsigned long *)0x87003004)
41 #define CONFIG_L2_OFF 1
45 #define CONFIG_YAFFS2 1
47 #define BOOT_PART "boot"
48 //#define BOOT_PART "kernel"
49 #define RECOVERY_PART "recovery"
51 * SPREADTRUM BIGPHONE board - SoC Configuration
54 #define CONFIG_SS_FUNCTION /*Only for samsung project*/
56 #define CONFIG_SPX15_WCDMA
59 #define CONFIG_AUTODLOADER
60 //#define CONFIG_SP8830WCN
63 #define CONFIG_SUPPORT_W
64 #define WDSP_ADR 0x88020000
65 #define WFIXNV_ADR 0x88220000
66 #define WRUNTIMENV_ADR 0x88260000
67 #define WMODEM_ADR 0x882c0000
68 #define CHIP_ENDIAN_LITTLE
69 #define _LITTLE_ENDIAN 1
71 #define CONFIG_RAM512M
73 #define CONFIG_EMMC_BOOT
75 #ifdef CONFIG_EMMC_BOOT
76 #define EMMC_SECTOR_SIZE 512
79 #define CONFIG_FS_EXT4
80 #define CONFIG_EXT4_WRITE
81 #define CONFIG_CMD_EXT4
82 #define CONFIG_CMD_EXT4_WRITE
84 //#define CONFIG_TIGER_MMC
85 #define CONFIG_UEFI_PARTITION
86 #define CONFIG_EFI_PARTITION
87 #define CONFIG_EXT4_SPARSE_DOWNLOAD
88 //#define CONFIG_EMMC_SPL
89 #define CONFIG_SYS_EMMC_U_BOOT_SECTOR_NUM ((CONFIG_SYS_NAND_U_BOOT_SIZE+EMMC_SECTOR_SIZE-1)/EMMC_SECTOR_SIZE)
95 #define CONFIG_CMD_MMC
97 #define CONFIG_CMD_FAT 1
98 #define CONFIG_FAT_WRITE 1
100 #define CONFIG_GENERIC_MMC 1
101 #define CONFIG_SDHCI 1
102 #define CONFIG_SDHCI_CTRL_NO_HISPD 1 /* disable high speed control */
103 #define CONFIG_SYS_MMC_MAX_BLK_COUNT 0x1000
104 #define CONFIG_MMC_SDMA 1
105 #define CONFIG_MV_SDHCI 1
106 #define CONFIG_DOS_PARTITION 1
107 #define CONFIG_EFI_PARTITION 1
108 #define CONFIG_SYS_MMC_NUM 1
109 #define CONFIG_SYS_MMC_BASE {0x20600000}
110 #define CONFIG_SYS_SD_BASE 0x20300000
113 #define BB_DRAM_TYPE_256MB_32BIT
115 #define CONFIG_SYS_HZ 1000
116 #define CONFIG_SPRD_TIMER_CLK 1000 /*32768*/
118 //#define CONFIG_SYS_HUSH_PARSER
120 #ifdef CONFIG_SYS_HUSH_PARSER
121 #define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
124 #define FIXNV_SIZE (256 * 1024)
125 #define WMODEM_SIZE (0x800000)
126 #define WDSP_SIZE (0x200000) /* 3968K */
127 #define VMJALUNA_SIZE (0x64000) /* 400K */
128 #define RUNTIMENV_SIZE (384 * 1024)
129 #define CONFIG_SPL_LOAD_LEN (0x6000)
132 /*#define CMDLINE_NEED_CONV */
134 #define WATCHDOG_LOAD_VALUE 0x4000
135 #define CONFIG_SYS_STACK_SIZE 0x400
136 //#define CONFIG_SYS_TEXT_BASZE 0x80f00000
138 //#define CONFIG_SYS_MONITOR_LEN (256 << 10) /* 256 kB for U-Boot */
140 /* NAND BOOT is the only boot method */
141 #define CONFIG_NAND_U_BOOT
142 #define DYNAMIC_CRC_TABLE
143 /* Start copying real U-boot from the second page */
144 #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
145 #define CONFIG_SYS_NAND_U_BOOT_SIZE 0x8A000
146 #define RAM_TYPPE_IS_SDRAM 0
147 //#define FPGA_TRACE_DOWNLOAD //for download image from trace
149 /* Load U-Boot to this address */
150 #define CONFIG_SYS_NAND_U_BOOT_DST 0x8f800000
151 #define CONFIG_SYS_NAND_U_BOOT_START CONFIG_SYS_NAND_U_BOOT_DST
152 #define CONFIG_SYS_SDRAM_BASE 0x80000000
153 #define CONFIG_SYS_SDRAM_END (CONFIG_SYS_SDRAM_BASE + 256*1024*1024)
155 #ifdef CONFIG_NAND_SPL
156 #define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_END - 0x40000)
159 #define CONFIG_MMU_TABLE_ADDR (0x00020000)
160 #define CONFIG_SYS_INIT_SP_ADDR \
161 (CONFIG_SYS_SDRAM_END - 0x10000 - GENERATED_GBL_DATA_SIZE)
163 #define CONFIG_SKIP_LOWLEVEL_INIT
166 #define CONFIG_HW_WATCHDOG
167 //#define CONFIG_AUTOBOOT //used for FPGA test, auto boot other image
168 //#define CONFIG_DISPLAY_CPUINFO
170 #define CONFIG_CMDLINE_TAG 1 /* enable passing of ATAGs */
171 #define CONFIG_SETUP_MEMORY_TAGS 1
172 #define CONFIG_INITRD_TAG 1
178 #define CONFIG_SYS_MALLOC_LEN (2 << 20) /* 1 MiB */
180 * Board has 2 32MB banks of DRAM but there is a bug when using
181 * both so only the first is configured
183 #define CONFIG_NR_DRAM_BANKS 1
185 #define PHYS_SDRAM_1 0x80000000
186 #define PHYS_SDRAM_1_SIZE 0x10000000
187 #if (CONFIG_NR_DRAM_BANKS == 2)
188 #define PHYS_SDRAM_2 0x90000000
189 #define PHYS_SDRAM_2_SIZE 0x10000000
192 #define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1
193 #define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1+0x0800000)
194 #define CONFIG_STACKSIZE (256 * 1024) /* regular stack */
199 #define CONFIG_SPRD_UART 1
200 #define CONFIG_SYS_SC8800X_UART1 1
201 #define CONFIG_CONS_INDEX 1 /* use UART0 for console */
202 #define CONFIG_BAUDRATE 115200 /* Default baud rate */
203 #define CONFIG_SYS_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 }
204 #define CONFIG_SPRD_SPI
205 #define CONFIG_SPRD_I2C
206 #define CONFIG_SC8830_I2C
208 * Flash & Environment
210 /* No NOR flash present */
211 #define CONFIG_SYS_MONITOR_LEN ((CONFIG_SYS_NAND_U_BOOT_OFFS)+(CONFIG_SYS_NAND_U_BOOT_SIZE))
212 #define CONFIG_SYS_NO_FLASH 1
213 #define CONFIG_ENV_IS_NOWHERE
214 #define CONFIG_ENV_SIZE (128 * 1024)
216 #define CONFIG_ENV_IS_IN_NAND
217 #define CONFIG_ENV_OFFSET CONFIG_SYS_MONITOR_LEN
218 #define CONFIG_ENV_OFFSET_REDUND (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)
222 #define CONFIG_CLK_PARA
223 //#define CONFIG_FPGA
225 #ifndef CONFIG_CLK_PARA
228 #define MAGIC_HEADER 0x5555AAAA
229 #define MAGIC_END 0xAAAA5555
230 #define CONFIG_PARA_VERSION 1
231 #define CLK_CA7_CORE ARM_CLK_1000M
232 #define CLK_CA7_AXI ARM_CLK_500M
233 #define CLK_CA7_DGB ARM_CLK_200M
234 #define CLK_CA7_AHB AHB_CLK_192M
235 #define CLK_CA7_APB APB_CLK_64M
236 #define CLK_PUB_AHB PUB_AHB_CLK_153_6M
237 #define CLK_AON_APB AON_APB_CLK_128M
238 #define DDR_FREQ 333000000
239 #define DCDC_ARM 1200
240 #define DCDC_CORE 1100
241 #define CONFIG_VOL_PARA
243 //---these three macro below,only one can be open
248 //#define DDR_TYPE DRAM_LPDDR2_2CS_8G_X32
249 #define DDR_TYPE DRAM_LPDDR2_1CS_4G_X32
250 //#define DDR_TYPE DRAM_LPDDR2_1CS_8G_X32
251 //#define DDR_TYPE DRAM_LPDDR2_2CS_16G_X32
252 //#define DDR_TYPE DRAM_DDR3_1CS_2G_X8_4P
253 //#define DDR_TYPE DRAM_DDR3_1CS_4G_X16_2P
255 #define DDR3_DLL_ON TRUE
257 #define DDR_APB_CLK 128
258 #define DDR_DFS_SUPPORT
259 #define DDR_DFS_VAL_BASE 0X1c00
261 //#define DDR_SCAN_SUPPORT
262 #define MEM_IO_DS LPDDR2_DS_40R
264 #define PUBL_LPDDR1_DS PUBL_LPDDR1_DS_48OHM
265 #define PUBL_LPDDR2_DS PUBL_LPDDR2_DS_40OHM
266 #define PUBL_DDR3_DS PUBL_DDR3_DS_34OHM
269 #define CONFIG_NAND_DOLPHIN
270 #define CONFIG_SPRD_NAND_REGS_BASE (0x20B00000)
271 #define CONFIG_SYS_MAX_NAND_DEVICE 1
272 #define CONFIG_SYS_NAND_BASE (0x20B00000)
273 //#define CONFIG_JFFS2_NAND
274 //#define CONFIG_SPRD_NAND_HWECC
275 #define CONFIG_SYS_NAND_HW_ECC
276 #define CONFIG_SYS_NAND_LARGEPAGE
277 //#define CONFIG_SYS_NAND_5_ADDR_CYCLE
279 #define CONFIG_SYS_64BIT_VSPRINTF
281 #define CONFIG_CMD_MTDPARTS
282 #define CONFIG_MTD_PARTITIONS
283 #define CONFIG_MTD_DEVICE
284 #define CONFIG_CMD_UBI
285 #define CONFIG_RBTREE
287 /* U-Boot general configuration */
288 #define CONFIG_SYS_PROMPT "=> " /* Monitor Command Prompt */
289 #define CONFIG_SYS_CBSIZE 1024 /* Console I/O Buffer Size */
290 /* Print buffer sz */
291 #define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + \
292 sizeof(CONFIG_SYS_PROMPT) + 16)
293 #define CONFIG_SYS_MAXARGS 32 /* max number of command args */
294 /* Boot Argument Buffer Size */
295 #define CONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE
296 #define CONFIG_CMDLINE_EDITING
297 #define CONFIG_SYS_LONGHELP
299 /* support OS choose */
300 #undef CONFIG_BOOTM_NETBSD
301 #undef CONFIG_BOOTM_RTEMS
303 /* U-Boot commands */
304 #include <config_cmd_default.h>
305 #define CONFIG_CMD_NAND
306 #undef CONFIG_CMD_FPGA
307 #undef CONFIG_CMD_LOADS
308 #undef CONFIG_CMD_NET
309 #undef CONFIG_CMD_NFS
310 #undef CONFIG_CMD_SETGETDCR
312 #define CONFIG_ENV_OVERWRITE
314 #ifdef SPRD_EVM_TAG_ON
315 #define CONFIG_BOOTDELAY 0
317 #define CONFIG_BOOTDELAY 0
318 #define CONFIG_ZERO_BOOTDELAY_CHECK
321 #define CONFIG_LOADADDR (CONFIG_SYS_TEXT_BASE - CONFIG_SYS_MALLOC_LEN - 4*1024*1024) /* loadaddr env var */
322 #define CONFIG_SYS_LOAD_ADDR CONFIG_LOADADDR
324 #define xstr(s) str(s)
327 #define MTDIDS_DEFAULT "nand0=sprd-nand"
328 #define MTDPARTS_DEFAULT "mtdparts=sprd-nand:256k(spl),2m(2ndbl),256k(tdmodem),256k(tddsp),256k(tdfixnv1),256k(tdruntimenv),256k(wmodem),256k(wdsp),256k(wfixnv1),256k(wruntimenv1),256k(prodinfo1),256k(prodinfo3),1024k(logo),1024k(fastbootlogo),10m(boot),300m(system),150m(cache),10m(recovery),256k(misc),256k(sd),512k(userdata)"
329 #define CONFIG_BOOTARGS "mem=512M console=ttyS1,115200n8 init=/init " MTDPARTS_DEFAULT
330 #define COPY_LINUX_KERNEL_SIZE (0x600000)
331 #define LINUX_INITRD_NAME "modem"
333 #define CONFIG_BOOTCOMMAND "cboot normal"
334 #define CONFIG_EXTRA_ENV_SETTINGS ""
336 #ifdef CONFIG_CMD_NET
337 #define CONFIG_IPADDR 192.168.10.2
338 #define CONFIG_SERVERIP 192.168.10.5
339 #define CONFIG_NETMASK 255.255.255.0
340 #define CONFIG_USBNET_DEVADDR 26:03:ee:00:87:9f
341 #define CONFIG_USBNET_HOSTADDR 9a:04:c7:d6:30:d0
344 #define CONFIG_NET_MULTI
345 #define CONFIG_CMD_DNS
346 #define CONFIG_CMD_NFS
347 #define CONFIG_CMD_RARP
348 #define CONFIG_CMD_PING
349 /*#define CONFIG_CMD_SNTP */
352 #define CONFIG_USB_CORE_IP_293A
353 #define CONFIG_USB_GADGET_SC8800G
354 #define CONFIG_USB_DWC
355 #define CONFIG_USB_GADGET_DUALSPEED
356 //#define CONFIG_USB_ETHER
357 #define CONFIG_CMD_FASTBOOT
358 #define SCRATCH_ADDR (CONFIG_SYS_SDRAM_BASE + 0x100000)
359 #define FB_DOWNLOAD_BUF_SIZE (350*1024*1024)
361 #define CONFIG_MODEM_CALIBERATE
362 #define CONFIG_MODEM_CALI_UART
366 #define CONFIG_SPLASH_SCREEN
367 #define LCD_BPP LCD_COLOR16
368 #define CONFIG_LCD_HVGA 1
369 //#define CONFIG_LCD_QVGA 1
370 //#define CONFIG_LCD_QHD 1
371 //#define CONFIG_LCD_720P 1
372 //#define CONFIG_LCD_FWVGA 1
374 //#define CONFIG_LCD_INFO
375 //#define LCD_TEST_PATTERN
376 //#define CONFIG_LCD_LOGO
377 //#define CONFIG_FB_LCD_S6D0139
378 //#define CONFIG_FB_LCD_SSD2075_MIPI
379 //#define CONFIG_FB_LCD_NT35516_MIPI
380 //#define CONFIG_FB_LCD_HX8363_RGB_SPI
381 //#define CONFIG_FB_LCD_ILI9486
382 #define CONFIG_FB_LCD_ILI9486_RGB_SPI
383 //#define CONFIG_FB_LCD_ILI9341
384 //#define CONFIG_FB_LCD_ST7789V_MCU
385 //#define CONFIG_FB_LCD_HX8363_MCU
387 #define CONFIG_SYS_WHITE_ON_BLACK
388 #ifdef LCD_TEST_PATTERN
389 #define CONSOLE_COLOR_RED 0xf800
390 #define CONSOLE_COLOR_GREEN 0x07e0
391 #define CONSOLE_COLOR_YELLOW 0x07e0
392 #define CONSOLE_COLOR_BLUE 0x001f
393 #define CONSOLE_COLOR_MAGENTA 0x001f
394 #define CONSOLE_COLOR_CYAN 0x001f
398 #define CONFIG_SPRD_SYSDUMP
399 #include <asm/sizes.h>
400 #define SPRD_SYSDUMP_MAGIC ((PHYS_OFFSET_ADDR & (~(SZ_512M - 1))) + SZ_512M - SZ_1M)
401 #define CALIBRATE_ENUM_MS 3000
402 #define CALIBRATE_IO_MS 2000
404 //#define LOW_BAT_ADC_LEVEL 782 /*phone battery adc value low than this value will not boot up*/
405 #define LOW_BAT_VOL 3500 /*phone battery voltage low than this value will not boot up*/
406 #define LOW_BAT_VOL_CHG 3300 //3.3V charger connect
408 #define PWR_KEY_DETECT_CNT 12 /*this should match the count of boot_pwr_check() function */
409 #define ALARM_LEAD_SET_MS 0 /* time set for alarm boot in advancd */
411 #define PHYS_OFFSET_ADDR 0x80000000
412 #define TD_CP_OFFSET_ADDR 0x8000000 /*128*/
413 #define TD_CP_SDRAM_SIZE 0x1800000 /*24M*/
414 #define WCDMA_CP_OFFSET_ADDR 0x8000000 /*128M*/
415 #define WCDMA_CP_SDRAM_SIZE 0x18A0000
417 #define WCN_CP_OFFSET_ADDR 0xa800000 /*168M*/
418 #define WCN_CP_SDRAM_SIZE 0x500000 /*5M*/
420 #define SIPC_APCP_RESET_ADDR_SIZE 0xC00 /*3K*/
421 #define SIPC_APCP_RESET_SIZE 0x1000 /*4K*/
422 #define SIPC_WCDMA_APCP_START_ADDR (PHYS_OFFSET_ADDR + WCDMA_CP_OFFSET_ADDR + WCDMA_CP_SDRAM_SIZE - SIPC_APCP_RESET_SIZE)
423 #define SIPC_WCN_APCP_START_ADDR (PHYS_OFFSET_ADDR + WCN_CP_OFFSET_ADDR + WCN_CP_SDRAM_SIZE - SIPC_APCP_RESET_SIZE)
425 #define CALIBRATION_FLAG_WCDMA (PHYS_OFFSET_ADDR + WCDMA_CP_OFFSET_ADDR + WCDMA_CP_SDRAM_SIZE - 0x400)
426 #define CALIBRATION_FLAG CALIBRATION_FLAG_WCDMA
427 //#define CALIBRATION_FLAG 0x89700000
429 #define CONFIG_CMD_SOUND 1
430 #define CONFIG_CMD_FOR_HTC 1
431 #define CONFIG_SOUND_CODEC_SPRD_V3 1
432 #define CONFIG_SOUND_DAI_VBC_R2P0 1
433 /* #define CONFIG_SPRD_AUDIO_DEBUG */
435 #define CONFIG_RAMDUMP_NO_SPLIT 1 /* Don't split sysdump file */
437 #define CONFIG_PBINT_7S_RESET_V1
438 /* short reset when power key reset trigged */
439 /* #define CONFIG_PBINT_7S_RST_SW_SHORT 1 */
440 /* reset then release the power key when reset trigged */
441 /* #define CONFIG_PBINT_7S_RST_SW_LONG 1 */
442 /* reset then release the power key when reset trigged */
443 /* #define CONFIG_PBINT_7S_RST_HW_LONG 1 */
444 /* rang:2-16 unit: s */
445 /* #define CONFIG_PBINT_7S_RST_THRESHOLD 7 */
447 #define CONFIG_SMPL_MODE
448 /* rang:0(0.5s) - 7(4s) unit: s step: 0.5s */
449 /* #define CONFIG_SMPL_THRESHOLD 0 */
451 #endif /* __CONFIG_H */