xref: /OK3568_Linux_fs/u-boot/include/configs/titanium.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (C) 2013 Stefan Roese <sr@denx.de>
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * Configuration settings for the ProjectionDesign / Barco
5*4882a593Smuzhiyun  * Titanium board.
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  * Based on mx6qsabrelite.h which is:
8*4882a593Smuzhiyun  * Copyright (C) 2010-2011 Freescale Semiconductor, Inc.
9*4882a593Smuzhiyun  *
10*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
11*4882a593Smuzhiyun  */
12*4882a593Smuzhiyun 
13*4882a593Smuzhiyun #ifndef __CONFIG_H
14*4882a593Smuzhiyun #define __CONFIG_H
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun #include "mx6_common.h"
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #define CONFIG_MX6Q
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun /* Provide the MACH_TYPE value that the vendor kernel requires. */
21*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		3769
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /* Size of malloc() pool */
24*4882a593Smuzhiyun #define CONFIG_SYS_MALLOC_LEN		(2 * 1024 * 1024)
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #define CONFIG_MXC_UART
29*4882a593Smuzhiyun #define CONFIG_MXC_UART_BASE		UART1_BASE
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /* I2C Configs */
32*4882a593Smuzhiyun #define CONFIG_SYS_I2C
33*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC
34*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
35*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
36*4882a593Smuzhiyun #define CONFIG_SYS_I2C_MXC_I2C3		/* enable I2C bus 3 */
37*4882a593Smuzhiyun #define CONFIG_SYS_I2C_SPEED		100000
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun /* MMC Configs */
40*4882a593Smuzhiyun #define CONFIG_SYS_FSL_ESDHC_ADDR	0
41*4882a593Smuzhiyun #define CONFIG_SYS_FSL_USDHC_NUM	1
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun #define CONFIG_FEC_MXC
44*4882a593Smuzhiyun #define CONFIG_MII
45*4882a593Smuzhiyun #define IMX_FEC_BASE			ENET_BASE_ADDR
46*4882a593Smuzhiyun #define CONFIG_FEC_XCV_TYPE		RGMII
47*4882a593Smuzhiyun #define CONFIG_FEC_MXC_PHYADDR		4
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun /* USB Configs */
50*4882a593Smuzhiyun #define CONFIG_MXC_USB_PORT	1
51*4882a593Smuzhiyun #define CONFIG_MXC_USB_PORTSC	(PORT_PTS_UTMI | PORT_PTS_PTW)
52*4882a593Smuzhiyun #define CONFIG_MXC_USB_FLAGS	0
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_START	0x10000000
55*4882a593Smuzhiyun #define CONFIG_SYS_MEMTEST_END		(CONFIG_SYS_MEMTEST_START + (500 << 20))
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #define CONFIG_HOSTNAME			titanium
58*4882a593Smuzhiyun #define CONFIG_UBI_PART			ubi
59*4882a593Smuzhiyun #define CONFIG_UBIFS_VOLUME		rootfs0
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun #define MTDIDS_DEFAULT		"nand0=gpmi-nand"
62*4882a593Smuzhiyun #define MTDPARTS_DEFAULT	"mtdparts=gpmi-nand:16M(uboot),512k(env1)," \
63*4882a593Smuzhiyun 				"512k(env2),-(ubi)"
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS \
66*4882a593Smuzhiyun 	"kernel=" __stringify(CONFIG_HOSTNAME) "/uImage\0"		\
67*4882a593Smuzhiyun 	"kernel_fs=/boot/uImage\0"					\
68*4882a593Smuzhiyun 	"kernel_addr=11000000\0"					\
69*4882a593Smuzhiyun 	"dtb=" __stringify(CONFIG_HOSTNAME) "/"				\
70*4882a593Smuzhiyun 		__stringify(CONFIG_HOSTNAME) ".dtb\0"			\
71*4882a593Smuzhiyun 	"dtb_fs=/boot/" __stringify(CONFIG_HOSTNAME) ".dtb\0"		\
72*4882a593Smuzhiyun 	"dtb_addr=12800000\0"						\
73*4882a593Smuzhiyun 	"script=boot.scr\0" \
74*4882a593Smuzhiyun 	"uimage=uImage\0" \
75*4882a593Smuzhiyun 	"console=ttymxc0\0" \
76*4882a593Smuzhiyun 	"baudrate=115200\0" \
77*4882a593Smuzhiyun 	"fdt_high=0xffffffff\0"	  \
78*4882a593Smuzhiyun 	"initrd_high=0xffffffff\0" \
79*4882a593Smuzhiyun 	"mmcdev=0\0" \
80*4882a593Smuzhiyun 	"mmcpart=1\0" \
81*4882a593Smuzhiyun 	"uimage=uImage\0" \
82*4882a593Smuzhiyun 	"loadbootscript=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr}" \
83*4882a593Smuzhiyun 		" ${script}\0" \
84*4882a593Smuzhiyun 	"bootscript=echo Running bootscript from mmc ...; source\0" \
85*4882a593Smuzhiyun 	"loaduimage=fatload mmc ${mmcdev}:${mmcpart} ${loadaddr} ${uimage}\0" \
86*4882a593Smuzhiyun 	"mmcroot=/dev/mmcblk0p2\0" \
87*4882a593Smuzhiyun 	"mmcargs=setenv bootargs console=${console},${baudrate} " \
88*4882a593Smuzhiyun 		"root=${mmcroot} rootwait rw\0" \
89*4882a593Smuzhiyun 	"bootmmc=run mmcargs; fatload mmc ${mmcdev}:${mmcpart} ${loadaddr}" \
90*4882a593Smuzhiyun 		" ${uimage}; bootm\0" \
91*4882a593Smuzhiyun 	"addip=setenv bootargs ${bootargs} "				\
92*4882a593Smuzhiyun 		"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}"	\
93*4882a593Smuzhiyun 		":${hostname}:${netdev}:off panic=1\0"			\
94*4882a593Smuzhiyun 	"addcon=setenv bootargs ${bootargs} console=ttymxc0,"		\
95*4882a593Smuzhiyun 		"${baudrate}\0"						\
96*4882a593Smuzhiyun 	"addmtd=setenv bootargs ${bootargs} ${mtdparts}\0"		\
97*4882a593Smuzhiyun 	"rootpath=/opt/eldk-5.3/armv7a/rootfs-minimal-mtdutils\0"	\
98*4882a593Smuzhiyun 	"nfsargs=setenv bootargs root=/dev/nfs rw "			\
99*4882a593Smuzhiyun 		"nfsroot=${serverip}:${rootpath}\0"			\
100*4882a593Smuzhiyun 	"ubifs=" __stringify(CONFIG_HOSTNAME) "/ubifs.img\0"		\
101*4882a593Smuzhiyun 	"part=" __stringify(CONFIG_UBI_PART) "\0"			\
102*4882a593Smuzhiyun 	"boot_vol=0\0"							\
103*4882a593Smuzhiyun 	"vol=" __stringify(CONFIG_UBIFS_VOLUME) "\0"			\
104*4882a593Smuzhiyun 	"load_ubifs=tftp ${kernel_addr} ${ubifs}\0"			\
105*4882a593Smuzhiyun 	"update_ubifs=ubi part ${part};ubi write ${kernel_addr} ${vol}"	\
106*4882a593Smuzhiyun 		" ${filesize}\0"					\
107*4882a593Smuzhiyun 	"upd_ubifs=run load_ubifs update_ubifs\0"			\
108*4882a593Smuzhiyun 	"init_ubi=nand erase.part ubi;ubi part ${part};"		\
109*4882a593Smuzhiyun 		"ubi create ${vol} c800000\0"				\
110*4882a593Smuzhiyun 	"mtdids=" MTDIDS_DEFAULT "\0"					\
111*4882a593Smuzhiyun 	"mtdparts=" MTDPARTS_DEFAULT "\0"				\
112*4882a593Smuzhiyun 	"nand_ubifs=run ubifs_mount ubifs_load ubifsargs addip"		\
113*4882a593Smuzhiyun 		" addcon addmtd;"					\
114*4882a593Smuzhiyun 		"bootm ${kernel_addr} - ${dtb_addr}\0"			\
115*4882a593Smuzhiyun 	"ubifsargs=set bootargs ubi.mtd=ubi "				\
116*4882a593Smuzhiyun 		"root=ubi:rootfs${boot_vol} rootfstype=ubifs\0"		\
117*4882a593Smuzhiyun 	"ubifs_mount=ubi part ubi;ubifsmount ubi:rootfs${boot_vol}\0"	\
118*4882a593Smuzhiyun 	"ubifs_load=ubifsload ${kernel_addr} ${kernel_fs};"		\
119*4882a593Smuzhiyun 		"ubifsload ${dtb_addr} ${dtb_fs};\0"			\
120*4882a593Smuzhiyun 	"nand_ubifs=run ubifs_mount ubifs_load ubifsargs addip addcon "	\
121*4882a593Smuzhiyun 		"addmtd;bootm ${kernel_addr} - ${dtb_addr}\0"		\
122*4882a593Smuzhiyun 	"load_kernel=tftp ${kernel_addr} ${kernel}\0"			\
123*4882a593Smuzhiyun 	"load_dtb=tftp ${dtb_addr} ${dtb}\0"				\
124*4882a593Smuzhiyun 	"net_nfs=run load_dtb load_kernel; "				\
125*4882a593Smuzhiyun 		"run nfsargs addip addcon addmtd;"			\
126*4882a593Smuzhiyun 		"bootm ${kernel_addr} - ${dtb_addr}\0"			\
127*4882a593Smuzhiyun 	"delenv=env default -a -f; saveenv; reset\0"
128*4882a593Smuzhiyun 
129*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND		"run nand_ubifs"
130*4882a593Smuzhiyun 
131*4882a593Smuzhiyun /* Physical Memory Map */
132*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS		1
133*4882a593Smuzhiyun #define PHYS_SDRAM			MMDC0_ARB_BASE_ADDR
134*4882a593Smuzhiyun #define PHYS_SDRAM_SIZE			(512 << 20)
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun #define CONFIG_SYS_SDRAM_BASE		PHYS_SDRAM
137*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_ADDR	IRAM_BASE_ADDR
138*4882a593Smuzhiyun #define CONFIG_SYS_INIT_RAM_SIZE	IRAM_SIZE
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_OFFSET \
141*4882a593Smuzhiyun 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
142*4882a593Smuzhiyun #define CONFIG_SYS_INIT_SP_ADDR \
143*4882a593Smuzhiyun 	(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_SP_OFFSET)
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun /* Enable NAND support */
146*4882a593Smuzhiyun #ifdef CONFIG_CMD_NAND
147*4882a593Smuzhiyun 
148*4882a593Smuzhiyun /* NAND stuff */
149*4882a593Smuzhiyun #define CONFIG_SYS_MAX_NAND_DEVICE	1
150*4882a593Smuzhiyun #define CONFIG_SYS_NAND_BASE		0x40000000
151*4882a593Smuzhiyun #define CONFIG_SYS_NAND_5_ADDR_CYCLE
152*4882a593Smuzhiyun #define CONFIG_SYS_NAND_ONFI_DETECTION
153*4882a593Smuzhiyun 
154*4882a593Smuzhiyun /* DMA stuff, needed for GPMI/MXS NAND support */
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun /* Environment in NAND */
157*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		(16 << 20)
158*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE		(128 << 10)
159*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			CONFIG_ENV_SECT_SIZE
160*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + (512 << 10))
161*4882a593Smuzhiyun #define CONFIG_ENV_SIZE_REDUND		CONFIG_ENV_SIZE
162*4882a593Smuzhiyun 
163*4882a593Smuzhiyun #else /* CONFIG_CMD_NAND */
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun /* Environment in MMC */
166*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			(8 << 10)
167*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		(6 * 64 * 1024)
168*4882a593Smuzhiyun #define CONFIG_SYS_MMC_ENV_DEV		0
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun #endif /* CONFIG_CMD_NAND */
171*4882a593Smuzhiyun 
172*4882a593Smuzhiyun /* UBI/UBIFS config options */
173*4882a593Smuzhiyun 
174*4882a593Smuzhiyun #endif			       /* __CONFIG_H */
175