xref: /OK3568_Linux_fs/u-boot/include/configs/ts4600.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * (C) Copyright 2016 Savoir-faire Linux Inc.
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Author: Sebastien Bourdelin <sebastien.bourdelin@savoirfairelinux.com>
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  * Derived from MX28EVK code by
7*4882a593Smuzhiyun  *   Fabio Estevam <fabio.estevam@freescale.com>
8*4882a593Smuzhiyun  *   Freescale Semiconductor, Inc.
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * Configuration settings for the TS4600 Board
11*4882a593Smuzhiyun  *
12*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
13*4882a593Smuzhiyun  */
14*4882a593Smuzhiyun #ifndef __CONFIGS_TS4600_H__
15*4882a593Smuzhiyun #define __CONFIGS_TS4600_H__
16*4882a593Smuzhiyun 
17*4882a593Smuzhiyun /* System configurations */
18*4882a593Smuzhiyun #define CONFIG_MX28				/* i.MX28 SoC */
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /* U-Boot Commands */
21*4882a593Smuzhiyun 
22*4882a593Smuzhiyun /* Memory configuration */
23*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS		1		/* 1 bank of DRAM */
24*4882a593Smuzhiyun #define PHYS_SDRAM_1			0x40000000	/* Base address */
25*4882a593Smuzhiyun #define PHYS_SDRAM_1_SIZE		0x40000000	/* Max 1 GB RAM */
26*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM_1
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun /* Environment */
29*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			(8 * 1024)
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /* Environment is in MMC */
32*4882a593Smuzhiyun #if defined(CONFIG_CMD_MMC) && defined(CONFIG_ENV_IS_IN_MMC)
33*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		(256 * 1024)
34*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV		0
35*4882a593Smuzhiyun #endif
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun /* Boot Linux */
38*4882a593Smuzhiyun #define CONFIG_LOADADDR		0x42000000
39*4882a593Smuzhiyun #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
40*4882a593Smuzhiyun 
41*4882a593Smuzhiyun /* Extra Environment */
42*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \
43*4882a593Smuzhiyun 	"fdt_addr=0x41000000\0" \
44*4882a593Smuzhiyun 	"loadkernel=load mmc ${mmcdev}:${mmcpart} ${loadaddr} zImage\0" \
45*4882a593Smuzhiyun 	"loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdt_addr} imx28-ts4600.dtb\0" \
46*4882a593Smuzhiyun 	"loadbootscript=load mmc ${mmcdev}:${mmcpart} ${loadaddr} boot.ub\0" \
47*4882a593Smuzhiyun 	"bootscript=echo Running bootscript from mmc...; " \
48*4882a593Smuzhiyun 		"setenv mmcdev 0; " \
49*4882a593Smuzhiyun 		"setenv mmcpart 2; " \
50*4882a593Smuzhiyun 		"run loadbootscript && source ${loadaddr}; \0" \
51*4882a593Smuzhiyun 	"sdboot=echo Booting from SD card ...; " \
52*4882a593Smuzhiyun 		"setenv mmcdev 0; " \
53*4882a593Smuzhiyun 		"setenv mmcpart 2; " \
54*4882a593Smuzhiyun 		"setenv root /dev/mmcblk0p3; " \
55*4882a593Smuzhiyun 		"run loadkernel && run loadfdt; \0" \
56*4882a593Smuzhiyun 	"startbootsequence=run bootscript || run sdboot \0" \
57*4882a593Smuzhiyun 
58*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND \
59*4882a593Smuzhiyun 	"mmc rescan; " \
60*4882a593Smuzhiyun 	"run startbootsequence; " \
61*4882a593Smuzhiyun 	"setenv cmdline_append console=ttyAMA0,115200; " \
62*4882a593Smuzhiyun 	"setenv bootargs root=${root} rootwait rw ${cmdline_append}; " \
63*4882a593Smuzhiyun 	"bootz ${loadaddr} - ${fdt_addr}; "
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun /* The rest of the configuration is shared */
66*4882a593Smuzhiyun #include <configs/mxs.h>
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun #endif /* __CONFIGS_TS4600_H__ */
69