xref: /openbmc/u-boot/include/configs/lacie_kw.h (revision ee8f6d23)
177ea071fSSimon Guinot /*
277ea071fSSimon Guinot  * Copyright (C) 2011 Simon Guinot <sguinot@lacie.com>
377ea071fSSimon Guinot  *
477ea071fSSimon Guinot  * See file CREDITS for list of people who contributed to this
577ea071fSSimon Guinot  * project.
677ea071fSSimon Guinot  *
777ea071fSSimon Guinot  * This program is free software; you can redistribute it and/or
877ea071fSSimon Guinot  * modify it under the terms of the GNU General Public License as
977ea071fSSimon Guinot  * published by the Free Software Foundation; either version 2 of
1077ea071fSSimon Guinot  * the License, or (at your option) any later version.
1177ea071fSSimon Guinot  *
1277ea071fSSimon Guinot  * This program is distributed in the hope that it will be useful,
1377ea071fSSimon Guinot  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1477ea071fSSimon Guinot  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1577ea071fSSimon Guinot  * GNU General Public License for more details.
1677ea071fSSimon Guinot  */
1777ea071fSSimon Guinot 
1877ea071fSSimon Guinot #ifndef _CONFIG_LACIE_KW_H
1977ea071fSSimon Guinot #define _CONFIG_LACIE_KW_H
2077ea071fSSimon Guinot 
2177ea071fSSimon Guinot /*
2277ea071fSSimon Guinot  * Machine number definition
2377ea071fSSimon Guinot  */
2477ea071fSSimon Guinot #if defined(CONFIG_INETSPACE_V2)
2577ea071fSSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_INETSPACE_V2
2677ea071fSSimon Guinot #define CONFIG_IDENT_STRING		" IS v2"
2777ea071fSSimon Guinot #elif defined(CONFIG_NETSPACE_V2)
2877ea071fSSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_V2
2977ea071fSSimon Guinot #define CONFIG_IDENT_STRING		" NS v2"
3037235496SSimon Guinot #elif defined(CONFIG_NETSPACE_LITE_V2)
3137235496SSimon Guinot #define MACH_TYPE_NETSPACE_LITE_V2	2983 /* missing in mach-types.h */
3237235496SSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_LITE_V2
3337235496SSimon Guinot #define CONFIG_IDENT_STRING		" NS v2 Lite"
3437235496SSimon Guinot #elif defined(CONFIG_NETSPACE_MINI_V2)
3537235496SSimon Guinot #define MACH_TYPE_NETSPACE_MINI_V2	2831 /* missing in mach-types.h */
3637235496SSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_MINI_V2
3737235496SSimon Guinot #define CONFIG_IDENT_STRING		" NS v2 Mini"
3877ea071fSSimon Guinot #elif defined(CONFIG_NETSPACE_MAX_V2)
3977ea071fSSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_NETSPACE_MAX_V2
4077ea071fSSimon Guinot #define CONFIG_IDENT_STRING		" NS Max v2"
41*ee8f6d23SSimon Guinot #elif defined(CONFIG_D2NET_V2)
42*ee8f6d23SSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_D2NET_V2
43*ee8f6d23SSimon Guinot #define CONFIG_IDENT_STRING		" D2 v2"
4477ea071fSSimon Guinot #elif defined(CONFIG_NET2BIG_V2)
4577ea071fSSimon Guinot #define CONFIG_MACH_TYPE		MACH_TYPE_NET2BIG_V2
4677ea071fSSimon Guinot #define CONFIG_IDENT_STRING		" 2Big v2"
4777ea071fSSimon Guinot #else
4877ea071fSSimon Guinot #error "Unknown board"
4977ea071fSSimon Guinot #endif
5077ea071fSSimon Guinot 
5177ea071fSSimon Guinot /*
5277ea071fSSimon Guinot  * High Level Configuration Options (easy to change)
5377ea071fSSimon Guinot  */
5477ea071fSSimon Guinot #define CONFIG_FEROCEON_88FR131		/* CPU Core subversion */
5537235496SSimon Guinot #define CONFIG_KIRKWOOD			/* SoC Family Name */
5637235496SSimon Guinot /* SoC name */
5737235496SSimon Guinot #if defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
5837235496SSimon Guinot #define CONFIG_KW88F6192
5937235496SSimon Guinot #else
6037235496SSimon Guinot #define CONFIG_KW88F6281
6137235496SSimon Guinot #endif
6277ea071fSSimon Guinot #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
6377ea071fSSimon Guinot 
6477ea071fSSimon Guinot /*
6577ea071fSSimon Guinot  * Commands configuration
6677ea071fSSimon Guinot  */
6777ea071fSSimon Guinot #define CONFIG_SYS_NO_FLASH		/* Declare no flash (NOR/SPI) */
6877ea071fSSimon Guinot #include <config_cmd_default.h>
6977ea071fSSimon Guinot #define CONFIG_CMD_ENV
7077ea071fSSimon Guinot #define CONFIG_CMD_DHCP
7177ea071fSSimon Guinot #define CONFIG_CMD_PING
7277ea071fSSimon Guinot #define CONFIG_CMD_SF
7377ea071fSSimon Guinot #define CONFIG_CMD_I2C
7477ea071fSSimon Guinot #define CONFIG_CMD_IDE
7537235496SSimon Guinot #ifndef CONFIG_NETSPACE_MINI_V2 /* No USB ports on Network Space v2 Mini */
7677ea071fSSimon Guinot #define CONFIG_CMD_USB
7737235496SSimon Guinot #endif
7877ea071fSSimon Guinot 
7977ea071fSSimon Guinot /*
8077ea071fSSimon Guinot  * Core clock definition
8177ea071fSSimon Guinot  */
8277ea071fSSimon Guinot #define CONFIG_SYS_TCLK			166000000 /* 166MHz */
8377ea071fSSimon Guinot 
8477ea071fSSimon Guinot /*
8577ea071fSSimon Guinot  * SDRAM configuration
8677ea071fSSimon Guinot  */
8777ea071fSSimon Guinot #define CONFIG_NR_DRAM_BANKS		1
8877ea071fSSimon Guinot 
8937235496SSimon Guinot /*
9037235496SSimon Guinot  * Different SDRAM configuration and size for some of the boards derived
9137235496SSimon Guinot  * from the Network Space v2
9237235496SSimon Guinot  */
9337235496SSimon Guinot #if defined(CONFIG_INETSPACE_V2)
94d92151b9SSimon Guinot #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-is2.cfg
9537235496SSimon Guinot #elif defined(CONFIG_NETSPACE_LITE_V2) || defined(CONFIG_NETSPACE_MINI_V2)
9637235496SSimon Guinot #define CONFIG_SYS_KWD_CONFIG $(SRCTREE)/$(CONFIG_BOARDDIR)/kwbimage-ns2l.cfg
9777ea071fSSimon Guinot #endif
9877ea071fSSimon Guinot 
9977ea071fSSimon Guinot /*
10077ea071fSSimon Guinot  * mv-common.h should be defined after CMD configs since it used them
10177ea071fSSimon Guinot  * to enable certain macros
10277ea071fSSimon Guinot  */
10377ea071fSSimon Guinot #include "mv-common.h"
10477ea071fSSimon Guinot 
10577ea071fSSimon Guinot /* Remove or override few declarations from mv-common.h */
10677ea071fSSimon Guinot #undef CONFIG_RBTREE
10777ea071fSSimon Guinot #undef CONFIG_ENV_SPI_MAX_HZ
10877ea071fSSimon Guinot #undef CONFIG_SYS_IDE_MAXBUS
10977ea071fSSimon Guinot #undef CONFIG_SYS_IDE_MAXDEVICE
11077ea071fSSimon Guinot #undef CONFIG_SYS_PROMPT
11177ea071fSSimon Guinot #define CONFIG_ENV_SPI_MAX_HZ           20000000 /* 20Mhz */
11277ea071fSSimon Guinot #define CONFIG_SYS_IDE_MAXBUS           1
11377ea071fSSimon Guinot #define CONFIG_SYS_IDE_MAXDEVICE        1
114*ee8f6d23SSimon Guinot #if defined(CONFIG_D2NET_V2)
115*ee8f6d23SSimon Guinot #define CONFIG_SYS_PROMPT		"d2v2> "
116*ee8f6d23SSimon Guinot #elif defined(CONFIG_NET2BIG_V2)
11777ea071fSSimon Guinot #define CONFIG_SYS_PROMPT		"2big2> "
11877ea071fSSimon Guinot #else
11977ea071fSSimon Guinot #define CONFIG_SYS_PROMPT		"ns2> "
12077ea071fSSimon Guinot #endif
12177ea071fSSimon Guinot 
12277ea071fSSimon Guinot /*
12377ea071fSSimon Guinot  * Ethernet Driver configuration
12477ea071fSSimon Guinot  */
12577ea071fSSimon Guinot #ifdef CONFIG_CMD_NET
12677ea071fSSimon Guinot #define CONFIG_MISC_INIT_R /* Call misc_init_r() to initialize MAC address */
12777ea071fSSimon Guinot #define CONFIG_MVGBE_PORTS		{1, 0} /* enable port 0 only */
12877ea071fSSimon Guinot #define CONFIG_NETCONSOLE
12977ea071fSSimon Guinot #endif
13077ea071fSSimon Guinot 
13177ea071fSSimon Guinot /*
13277ea071fSSimon Guinot  * SATA Driver configuration
13377ea071fSSimon Guinot  */
13477ea071fSSimon Guinot #ifdef CONFIG_MVSATA_IDE
13577ea071fSSimon Guinot #define CONFIG_SYS_ATA_IDE0_OFFSET      MV_SATA_PORT0_OFFSET
136*ee8f6d23SSimon Guinot #if defined(CONFIG_NETSPACE_MAX_V2) || defined(CONFIG_D2NET_V2) || \
137*ee8f6d23SSimon Guinot 	defined(CONFIG_NET2BIG_V2)
13877ea071fSSimon Guinot #define CONFIG_SYS_ATA_IDE1_OFFSET      MV_SATA_PORT1_OFFSET
13977ea071fSSimon Guinot #endif
14077ea071fSSimon Guinot #endif /* CONFIG_MVSATA_IDE */
14177ea071fSSimon Guinot 
14277ea071fSSimon Guinot /*
14377ea071fSSimon Guinot  * Enable GPI0 support
14477ea071fSSimon Guinot  */
14577ea071fSSimon Guinot #define CONFIG_KIRKWOOD_GPIO
14677ea071fSSimon Guinot 
14777ea071fSSimon Guinot /*
14877ea071fSSimon Guinot  * Enable I2C support
14977ea071fSSimon Guinot  */
15077ea071fSSimon Guinot #ifdef CONFIG_CMD_I2C
15177ea071fSSimon Guinot /* I2C EEPROM HT24LC04 (512B - 32 pages of 16 Bytes) */
15277ea071fSSimon Guinot #define CONFIG_CMD_EEPROM
15377ea071fSSimon Guinot #define CONFIG_SYS_I2C_EEPROM_ADDR		0x50
15477ea071fSSimon Guinot #define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	4 /* 16-byte page size */
15577ea071fSSimon Guinot #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1 /* 8-bit device address */
15677ea071fSSimon Guinot #endif /* CONFIG_CMD_I2C */
15777ea071fSSimon Guinot 
15877ea071fSSimon Guinot /*
1598e622436SSimon Guinot  * Partition support
1608e622436SSimon Guinot  */
1618e622436SSimon Guinot #define CONFIG_DOS_PARTITION
1628e622436SSimon Guinot #define CONFIG_EFI_PARTITION
1638e622436SSimon Guinot 
1648e622436SSimon Guinot /*
16577ea071fSSimon Guinot  * File systems support
16677ea071fSSimon Guinot  */
16777ea071fSSimon Guinot #define CONFIG_CMD_EXT2
16877ea071fSSimon Guinot #define CONFIG_CMD_FAT
16977ea071fSSimon Guinot 
17077ea071fSSimon Guinot /*
17177ea071fSSimon Guinot  * Use the HUSH parser
17277ea071fSSimon Guinot  */
17377ea071fSSimon Guinot #define CONFIG_SYS_HUSH_PARSER
17477ea071fSSimon Guinot 
17577ea071fSSimon Guinot /*
17677ea071fSSimon Guinot  * Console configuration
17777ea071fSSimon Guinot  */
17877ea071fSSimon Guinot #define CONFIG_CONSOLE_MUX
17977ea071fSSimon Guinot #define CONFIG_SYS_CONSOLE_IS_IN_ENV
18077ea071fSSimon Guinot 
18177ea071fSSimon Guinot /*
18277ea071fSSimon Guinot  * Enable device tree support
18377ea071fSSimon Guinot  */
18477ea071fSSimon Guinot #define CONFIG_OF_LIBFDT
18577ea071fSSimon Guinot 
18677ea071fSSimon Guinot /*
18777ea071fSSimon Guinot  * Environment variables configurations
18877ea071fSSimon Guinot  */
18977ea071fSSimon Guinot #define CONFIG_ENV_IS_IN_SPI_FLASH
19077ea071fSSimon Guinot #define CONFIG_ENV_SECT_SIZE		0x10000	/* 64KB */
19177ea071fSSimon Guinot #define CONFIG_ENV_SIZE			0x1000	/* 4KB */
19277ea071fSSimon Guinot #define CONFIG_ENV_ADDR			0x70000
19377ea071fSSimon Guinot #define CONFIG_ENV_OFFSET		0x70000	/* env starts here */
19477ea071fSSimon Guinot 
19577ea071fSSimon Guinot /*
19677ea071fSSimon Guinot  * Default environment variables
19777ea071fSSimon Guinot  */
19877ea071fSSimon Guinot #define CONFIG_BOOTARGS "console=ttyS0,115200"
19977ea071fSSimon Guinot 
20077ea071fSSimon Guinot #define CONFIG_BOOTCOMMAND					\
20177ea071fSSimon Guinot 	"dhcp && run netconsole; "				\
20277ea071fSSimon Guinot 	"if run usbload || run diskload; then bootm; fi"
20377ea071fSSimon Guinot 
20477ea071fSSimon Guinot #define CONFIG_EXTRA_ENV_SETTINGS				\
20577ea071fSSimon Guinot 	"stdin=serial\0"					\
20677ea071fSSimon Guinot 	"stdout=serial\0"					\
20777ea071fSSimon Guinot 	"stderr=serial\0"					\
20877ea071fSSimon Guinot 	"bootfile=uImage\0"					\
20977ea071fSSimon Guinot 	"loadaddr=0x800000\0"					\
21077ea071fSSimon Guinot 	"autoload=no\0"						\
21177ea071fSSimon Guinot 	"netconsole="						\
21277ea071fSSimon Guinot 		"set stdin $stdin,nc; "				\
21377ea071fSSimon Guinot 		"set stdout $stdout,nc; "			\
21477ea071fSSimon Guinot 		"set stderr $stderr,nc;\0"			\
21577ea071fSSimon Guinot 	"diskload=ide reset && "				\
21677ea071fSSimon Guinot 		"ext2load ide 0:1 $loadaddr /boot/$bootfile\0"	\
21777ea071fSSimon Guinot 	"usbload=usb start && "					\
21877ea071fSSimon Guinot 		"fatload usb 0:1 $loadaddr /boot/$bootfile\0"
21977ea071fSSimon Guinot 
22077ea071fSSimon Guinot #endif /* _CONFIG_LACIE_KW_H */
221