xref: /OK3568_Linux_fs/u-boot/include/configs/lacie_kw.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (C) 2011 Simon Guinot <sguinot@lacie.com>
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
5*4882a593Smuzhiyun  */
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #ifndef _CONFIG_LACIE_KW_H
8*4882a593Smuzhiyun #define _CONFIG_LACIE_KW_H
9*4882a593Smuzhiyun 
10*4882a593Smuzhiyun /*
11*4882a593Smuzhiyun  * Machine number definition
12*4882a593Smuzhiyun  */
13*4882a593Smuzhiyun #if defined(CONFIG_INETSPACE_V2)
14*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_INETSPACE_V2
15*4882a593Smuzhiyun #elif defined(CONFIG_NETSPACE_V2)
16*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_V2
17*4882a593Smuzhiyun #elif defined(CONFIG_NETSPACE_LITE_V2)
18*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_LITE_V2
19*4882a593Smuzhiyun #elif defined(CONFIG_NETSPACE_MINI_V2)
20*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_MINI_V2
21*4882a593Smuzhiyun #elif defined(CONFIG_NETSPACE_MAX_V2)
22*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_MAX_V2
23*4882a593Smuzhiyun #elif defined(CONFIG_D2NET_V2)
24*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_D2NET_V2
25*4882a593Smuzhiyun #elif defined(CONFIG_NET2BIG_V2)
26*4882a593Smuzhiyun #define CONFIG_MACH_TYPE		MACH_TYPE_NET2BIG_V2
27*4882a593Smuzhiyun #else
28*4882a593Smuzhiyun #error "Unknown board"
29*4882a593Smuzhiyun #endif
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /*
32*4882a593Smuzhiyun  * High Level Configuration Options (easy to change)
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun #define CONFIG_FEROCEON_88FR131		/* CPU Core subversion */
35*4882a593Smuzhiyun /* SoC name */
36*4882a593Smuzhiyun #if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
37*4882a593Smuzhiyun #define CONFIG_KW88F6192
38*4882a593Smuzhiyun #else
39*4882a593Smuzhiyun #define CONFIG_KW88F6281
40*4882a593Smuzhiyun #endif
41*4882a593Smuzhiyun #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun /*
44*4882a593Smuzhiyun  * Commands configuration
45*4882a593Smuzhiyun  */
46*4882a593Smuzhiyun #ifndef CONFIG_NETSPACE_MINI_V2 /* No USB ports on Network Space v2 Mini */
47*4882a593Smuzhiyun #endif
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun /*
50*4882a593Smuzhiyun  * Core clock definition
51*4882a593Smuzhiyun  */
52*4882a593Smuzhiyun #define CONFIG_SYS_TCLK			166000000 /* 166MHz */
53*4882a593Smuzhiyun 
54*4882a593Smuzhiyun /*
55*4882a593Smuzhiyun  * SDRAM configuration
56*4882a593Smuzhiyun  */
57*4882a593Smuzhiyun #define CONFIG_NR_DRAM_BANKS		1
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun /*
60*4882a593Smuzhiyun  * Different SDRAM configuration and size for some of the boards derived
61*4882a593Smuzhiyun  * from the Network Space v2
62*4882a593Smuzhiyun  */
63*4882a593Smuzhiyun #if defined(CONFIG_INETSPACE_V2)
64*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-is2.cfg
65*4882a593Smuzhiyun #elif defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
66*4882a593Smuzhiyun #define CONFIG_SYS_KWD_CONFIG $(CONFIG_BOARDDIR)/kwbimage-ns2l.cfg
67*4882a593Smuzhiyun #endif
68*4882a593Smuzhiyun 
69*4882a593Smuzhiyun /*
70*4882a593Smuzhiyun  * mv-common.h should be defined after CMD configs since it used them
71*4882a593Smuzhiyun  * to enable certain macros
72*4882a593Smuzhiyun  */
73*4882a593Smuzhiyun #include "mv-common.h"
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /* Remove or override few declarations from mv-common.h */
76*4882a593Smuzhiyun #undef CONFIG_ENV_SPI_MAX_HZ
77*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXBUS
78*4882a593Smuzhiyun #undef CONFIG_SYS_IDE_MAXDEVICE
79*4882a593Smuzhiyun #define CONFIG_ENV_SPI_MAX_HZ           20000000 /* 20Mhz */
80*4882a593Smuzhiyun 
81*4882a593Smuzhiyun /*
82*4882a593Smuzhiyun  * Enable platform initialisation via misc_init_r() function
83*4882a593Smuzhiyun  */
84*4882a593Smuzhiyun #define CONFIG_MISC_INIT_R
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun /*
87*4882a593Smuzhiyun  * Ethernet Driver configuration
88*4882a593Smuzhiyun  */
89*4882a593Smuzhiyun #ifdef CONFIG_CMD_NET
90*4882a593Smuzhiyun #define CONFIG_MVGBE_PORTS		{1, 0} /* enable port 0 only */
91*4882a593Smuzhiyun #define CONFIG_NETCONSOLE
92*4882a593Smuzhiyun #endif
93*4882a593Smuzhiyun 
94*4882a593Smuzhiyun /*
95*4882a593Smuzhiyun  * SATA Driver configuration
96*4882a593Smuzhiyun  */
97*4882a593Smuzhiyun #ifdef CONFIG_MVSATA_IDE
98*4882a593Smuzhiyun #define CONFIG_SYS_ATA_IDE0_OFFSET      MV_SATA_PORT0_OFFSET
99*4882a593Smuzhiyun #if defined(CONFIG_NETSPACE_MAX_V2) || defined(CONFIG_D2NET_V2) || \
100*4882a593Smuzhiyun 	defined(CONFIG_NET2BIG_V2)
101*4882a593Smuzhiyun #define CONFIG_SYS_ATA_IDE1_OFFSET      MV_SATA_PORT1_OFFSET
102*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXBUS           2
103*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXDEVICE        2
104*4882a593Smuzhiyun #else
105*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXBUS           1
106*4882a593Smuzhiyun #define CONFIG_SYS_IDE_MAXDEVICE        1
107*4882a593Smuzhiyun #endif
108*4882a593Smuzhiyun #endif /* CONFIG_MVSATA_IDE */
109*4882a593Smuzhiyun 
110*4882a593Smuzhiyun /*
111*4882a593Smuzhiyun  * Enable GPI0 support
112*4882a593Smuzhiyun  */
113*4882a593Smuzhiyun #define CONFIG_KIRKWOOD_GPIO
114*4882a593Smuzhiyun 
115*4882a593Smuzhiyun /*
116*4882a593Smuzhiyun  * Enable I2C support
117*4882a593Smuzhiyun  */
118*4882a593Smuzhiyun #ifdef CONFIG_CMD_I2C
119*4882a593Smuzhiyun /* I2C EEPROM HT24LC04 (512B - 32 pages of 16 Bytes) */
120*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50
121*4882a593Smuzhiyun #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4 /* 16-byte page size */
122*4882a593Smuzhiyun #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1 /* 8-bit device address */
123*4882a593Smuzhiyun #if defined(CONFIG_NET2BIG_V2)
124*4882a593Smuzhiyun #define CONFIG_SYS_I2C_G762_ADDR		0x3e
125*4882a593Smuzhiyun #endif
126*4882a593Smuzhiyun #endif /* CONFIG_CMD_I2C */
127*4882a593Smuzhiyun 
128*4882a593Smuzhiyun /*
129*4882a593Smuzhiyun  * Partition support
130*4882a593Smuzhiyun  */
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun /*
133*4882a593Smuzhiyun  * File systems support
134*4882a593Smuzhiyun  */
135*4882a593Smuzhiyun 
136*4882a593Smuzhiyun /*
137*4882a593Smuzhiyun  * Environment variables configurations
138*4882a593Smuzhiyun  */
139*4882a593Smuzhiyun #define CONFIG_ENV_SECT_SIZE		0x10000	/* 64KB */
140*4882a593Smuzhiyun #define CONFIG_ENV_SIZE			0x1000	/* 4KB */
141*4882a593Smuzhiyun #define CONFIG_ENV_ADDR			0x70000
142*4882a593Smuzhiyun #define CONFIG_ENV_OFFSET		0x70000	/* env starts here */
143*4882a593Smuzhiyun 
144*4882a593Smuzhiyun /*
145*4882a593Smuzhiyun  * Default environment variables
146*4882a593Smuzhiyun  */
147*4882a593Smuzhiyun #define CONFIG_BOOTCOMMAND					\
148*4882a593Smuzhiyun 	"dhcp && run netconsole; "				\
149*4882a593Smuzhiyun 	"if run usbload || run diskload; then bootm; fi"
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun #define CONFIG_EXTRA_ENV_SETTINGS				\
152*4882a593Smuzhiyun 	"stdin=serial\0"					\
153*4882a593Smuzhiyun 	"stdout=serial\0"					\
154*4882a593Smuzhiyun 	"stderr=serial\0"					\
155*4882a593Smuzhiyun 	"bootfile=uImage\0"					\
156*4882a593Smuzhiyun 	"loadaddr=0x800000\0"					\
157*4882a593Smuzhiyun 	"autoload=no\0"						\
158*4882a593Smuzhiyun 	"netconsole="						\
159*4882a593Smuzhiyun 		"set stdin $stdin,nc; "				\
160*4882a593Smuzhiyun 		"set stdout $stdout,nc; "			\
161*4882a593Smuzhiyun 		"set stderr $stderr,nc;\0"			\
162*4882a593Smuzhiyun 	"diskload=ide reset && "				\
163*4882a593Smuzhiyun 		"ext2load ide 0:1 $loadaddr /boot/$bootfile\0"	\
164*4882a593Smuzhiyun 	"usbload=usb start && "					\
165*4882a593Smuzhiyun 		"fatload usb 0:1 $loadaddr /boot/$bootfile\0"
166*4882a593Smuzhiyun 
167*4882a593Smuzhiyun #endif /* _CONFIG_LACIE_KW_H */
168