xref: /OK3568_Linux_fs/u-boot/include/configs/lsxl.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (c) 2012 Michael Walle
3*4882a593Smuzhiyun  * Michael Walle <michael@walle.cc>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef _CONFIG_LSXL_H
9*4882a593Smuzhiyun #define _CONFIG_LSXL_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /*
12*4882a593Smuzhiyun  * Version number information
13*4882a593Smuzhiyun  */
14*4882a593Smuzhiyun #if defined(CONFIG_LSCHLV2)
15*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lschl.cfg
16*4882a593Smuzhiyun #define CONFIG_MACH_TYPE 3006
17*4882a593Smuzhiyun #define CONFIG_SYS_TCLK 166666667 /* 166 MHz */
18*4882a593Smuzhiyun #elif defined(CONFIG_LSXHL)
19*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-lsxhl.cfg
20*4882a593Smuzhiyun #define CONFIG_MACH_TYPE 2663
21*4882a593Smuzhiyun /* CONFIG_SYS_TCLK is 200000000 by default */
22*4882a593Smuzhiyun #else
23*4882a593Smuzhiyun #error "unknown board"
24*4882a593Smuzhiyun #endif
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun /*
27*4882a593Smuzhiyun  * General configuration options
28*4882a593Smuzhiyun  */
29*4882a593Smuzhiyun #define CONFIG_FEROCEON_88FR131		/* CPU Core subversion */
30*4882a593Smuzhiyun #define CONFIG_KW88F6281		/* SOC Name */
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
33*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R
34*4882a593Smuzhiyun #define CONFIG_SHOW_BOOT_PROGRESS
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun #define CONFIG_KIRKWOOD_GPIO
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun /*
39*4882a593Smuzhiyun  * Commands configuration
40*4882a593Smuzhiyun  */
41*4882a593Smuzhiyun 
42*4882a593Smuzhiyun /*
43*4882a593Smuzhiyun  * mv-common.h should be defined after CMD configs since it used them
44*4882a593Smuzhiyun  * to enable certain macros
45*4882a593Smuzhiyun  */
46*4882a593Smuzhiyun #include "mv-common.h"
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun /* loading initramfs images without uimage header */
49*4882a593Smuzhiyun #define CONFIG_SUPPORT_RAW_INITRD
50*4882a593Smuzhiyun 
51*4882a593Smuzhiyun /* ST M25P40 */
52*4882a593Smuzhiyun #undef CONFIG_ENV_SPI_MAX_HZ
53*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ		25000000
54*4882a593Smuzhiyun #undef CONFIG_SF_DEFAULT_SPEED
55*4882a593Smuzhiyun #define CONFIG_SF_DEFAULT_SPEED		25000000
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun /*
58*4882a593Smuzhiyun  *  Environment variables configurations
59*4882a593Smuzhiyun  */
60*4882a593Smuzhiyun #ifdef CONFIG_SPI_FLASH
61*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_BANKS	1
62*4882a593Smuzhiyun #define CONFIG_SYS_MAX_FLASH_SECT	8
63*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE		0x10000 /* 64K */
64*4882a593Smuzhiyun #endif
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			0x10000 /* 64k */
67*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		0x70000 /* env starts here */
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun /*
70*4882a593Smuzhiyun  * Default environment variables
71*4882a593Smuzhiyun  */
72*4882a593Smuzhiyun #define CONFIG_LOADADDR		0x00800000
73*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND	"run bootcmd_${bootsource}"
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun #if defined(CONFIG_LSXHL)
76*4882a593Smuzhiyun #define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
77*4882a593Smuzhiyun #elif defined(CONFIG_LSCHLV2)
78*4882a593Smuzhiyun #define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
79*4882a593Smuzhiyun #else
80*4882a593Smuzhiyun #error "Unsupported board"
81*4882a593Smuzhiyun #endif
82*4882a593Smuzhiyun 
83*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS					\
84*4882a593Smuzhiyun 	"bootsource=legacy\0"						\
85*4882a593Smuzhiyun 	"hdpart=0:1\0"							\
86*4882a593Smuzhiyun 	"kernel_addr=0x00800000\0"					\
87*4882a593Smuzhiyun 	"ramdisk_addr=0x01000000\0"					\
88*4882a593Smuzhiyun 	"fdt_addr=0x00ff0000\0"						\
89*4882a593Smuzhiyun 	"bootcmd_legacy=ide reset "					\
90*4882a593Smuzhiyun 		"&& load ide ${hdpart} ${kernel_addr} /uImage.buffalo "	\
91*4882a593Smuzhiyun 		"&& load ide ${hdpart} ${ramdisk_addr} /initrd.buffalo "\
92*4882a593Smuzhiyun 		"&& bootm ${kernel_addr} ${ramdisk_addr}\0"		\
93*4882a593Smuzhiyun 	"bootcmd_net=bootp ${kernel_addr} vmlinuz "			\
94*4882a593Smuzhiyun 		"&& tftpboot ${ramdisk_addr} initrd.img "		\
95*4882a593Smuzhiyun 		"&& setenv ramdisk_len ${filesize} "			\
96*4882a593Smuzhiyun 		"&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " "		\
97*4882a593Smuzhiyun 		"&& bootz ${kernel_addr} "				\
98*4882a593Smuzhiyun 			"${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0"	\
99*4882a593Smuzhiyun 	"bootcmd_hdd=ide reset "					\
100*4882a593Smuzhiyun 		"&& load ide ${hdpart} ${kernel_addr} /vmlinuz "	\
101*4882a593Smuzhiyun 		"&& load ide ${hdpart} ${ramdisk_addr} /initrd.img "	\
102*4882a593Smuzhiyun 		"&& setenv ramdisk_len ${filesize} "			\
103*4882a593Smuzhiyun 		"&& load ide ${hdpart} ${fdt_addr} /dtb "		\
104*4882a593Smuzhiyun 		"&& bootz ${kernel_addr} "				\
105*4882a593Smuzhiyun 			"${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0"	\
106*4882a593Smuzhiyun 	"bootcmd_usb=usb start "					\
107*4882a593Smuzhiyun 		"&& load usb 0:1 ${kernel_addr} /vmlinuz "		\
108*4882a593Smuzhiyun 		"&& load usb 0:1 ${ramdisk_addr} /initrd.img "		\
109*4882a593Smuzhiyun 		"&& setenv ramdisk_len ${filesize} "			\
110*4882a593Smuzhiyun 		"&& load usb 0:1 ${fdt_addr} " CONFIG_FDTFILE " "	\
111*4882a593Smuzhiyun 		"&& bootz ${kernel_addr} "				\
112*4882a593Smuzhiyun 			"${ramdisk_addr}:${ramdisk_len} ${fdt_addr}\0"	\
113*4882a593Smuzhiyun 	"bootcmd_rescue=run config_nc_dhcp; run nc\0"			\
114*4882a593Smuzhiyun 	"eraseenv=sf probe 0 "						\
115*4882a593Smuzhiyun 		"&& sf erase " __stringify(CONFIG_ENV_OFFSET)		\
116*4882a593Smuzhiyun 			" +" __stringify(CONFIG_ENV_SIZE) "\0"		\
117*4882a593Smuzhiyun 	"config_nc_dhcp=setenv autoload_old ${autoload}; "		\
118*4882a593Smuzhiyun 		"setenv autoload no "					\
119*4882a593Smuzhiyun 		"&& bootp "						\
120*4882a593Smuzhiyun 		"&& setenv ncip "					\
121*4882a593Smuzhiyun 		"&& setenv autoload ${autoload_old}; "			\
122*4882a593Smuzhiyun 		"setenv autoload_old\0"					\
123*4882a593Smuzhiyun 	"standard_env=setenv ipaddr; setenv netmask; setenv serverip; "	\
124*4882a593Smuzhiyun 		"setenv ncip; setenv gatewayip; setenv ethact; "	\
125*4882a593Smuzhiyun 		"setenv bootfile; setenv dnsip; "			\
126*4882a593Smuzhiyun 		"setenv bootsource legacy; run ser\0"			\
127*4882a593Smuzhiyun 	"restore_env=run standard_env; saveenv; reset\0"		\
128*4882a593Smuzhiyun 	"ser=setenv stdin serial; setenv stdout serial; "		\
129*4882a593Smuzhiyun 		"setenv stderr serial\0"				\
130*4882a593Smuzhiyun 	"nc=setenv stdin nc; setenv stdout nc; setenv stderr nc\0"	\
131*4882a593Smuzhiyun 	"stdin=serial\0"						\
132*4882a593Smuzhiyun 	"stdout=serial\0"						\
133*4882a593Smuzhiyun 	"stderr=serial\0"
134*4882a593Smuzhiyun 
135*4882a593Smuzhiyun /*
136*4882a593Smuzhiyun  * Ethernet Driver configuration
137*4882a593Smuzhiyun  */
138*4882a593Smuzhiyun #ifdef CONFIG_CMD_NET
139*4882a593Smuzhiyun #define CONFIG_MVGBE_PORTS		{0, 1} /* enable port 1 only */
140*4882a593Smuzhiyun #define CONFIG_PHY_BASE_ADR		7
141*4882a593Smuzhiyun #undef CONFIG_RESET_PHY_R
142*4882a593Smuzhiyun #endif /* CONFIG_CMD_NET */
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun #ifdef CONFIG_IDE
145*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXBUS
146*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXBUS		1
147*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXDEVICE
148*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXDEVICE	1
149*4882a593Smuzhiyun #define CONFIG_SYS_ATA_IDE0_OFFSET	MV_SATA_PORT0_OFFSET
150*4882a593Smuzhiyun #define CONFIG_SYS_64BIT_LBA
151*4882a593Smuzhiyun #endif
152*4882a593Smuzhiyun 
153*4882a593Smuzhiyun #endif /* _CONFIG_LSXL_H */
154