summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWolfgang Denk <wd@pollux.denx.de>2006-08-24 00:26:42 +0200
committerWolfgang Denk <wd@pollux.denx.de>2006-08-24 00:26:42 +0200
commited1cf8456f2a5a4efdb4bb3d04b503d78f410e9c (patch)
treefb4d5d5a8f864a82f058292008b15cf3184a28b9
parent5196a7a03bc436435787e1ad7044af94d93a5448 (diff)
downloadtalos-obmc-uboot-ed1cf8456f2a5a4efdb4bb3d04b503d78f410e9c.tar.gz
talos-obmc-uboot-ed1cf8456f2a5a4efdb4bb3d04b503d78f410e9c.zip
Updates for MCC200 / PRS200 boards:
- support for configurations with SDRAM or DDR memory, - support for highboot and lowboot - adjusting environment definitions
-rw-r--r--CHANGELOG5
-rw-r--r--Makefile31
-rw-r--r--board/mcc200/config.mk2
-rw-r--r--board/mcc200/mcc200.c4
-rw-r--r--include/configs/mcc200.h57
5 files changed, 75 insertions, 24 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 82be4e3d77..7975cf38a0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,11 @@
Changes since U-Boot 1.1.4:
======================================================================
+* Updates for MCC200 / PRS200 boards:
+ - support for configurations with SDRAM or DDR memory,
+ - support for highboot and lowboot
+ - adjusting environment definitions
+
* Add support for WTK FO300 board (TQM5200 based).
* Fix TQM834x hang.
diff --git a/Makefile b/Makefile
index a78f35b621..7542ab4dcc 100644
--- a/Makefile
+++ b/Makefile
@@ -323,10 +323,15 @@ lite5200b_LOWBOOT_config: unconfig
@./mkconfig -a IceCube ppc mpc5xxx icecube
mcc200_config \
-mcc200_SDRAM \
-mcc200_highboot \
-mcc200_COM12 \
-mcc200_highboot_SDRAM: unconfig
+mcc200_SDRAM_config \
+mcc200_highboot_config \
+mcc200_COM12_config \
+mcc200_COM12_SDRAM_config \
+mcc200_highboot_SDRAM_config \
+prs200_config \
+prs200_DDR_config \
+prs200_highboot_config \
+prs200_highboot_DDR_config: unconfig
@ >include/config.h
@[ -n "$(findstring highboot,$@)" ] || \
{ echo "... with lowboot configuration" ; \
@@ -336,7 +341,18 @@ mcc200_highboot_SDRAM: unconfig
echo "... with highboot configuration" ; \
}
@[ -n "$(findstring _SDRAM,$@)" ] || \
- { echo "... with DDR" ; \
+ { if [ -n "$(findstring mcc200,$@)" ]; \
+ then \
+ echo "... with DDR" ; \
+ else \
+ if [ -n "$(findstring _DDR,$@)" ];\
+ then \
+ echo "... with DDR" ; \
+ else \
+ echo "#define CONFIG_MCC200_SDRAM" >>include/config.h ;\
+ echo "... with SDRAM" ; \
+ fi; \
+ fi; \
}
@[ -z "$(findstring _SDRAM,$@)" ] || \
{ echo "#define CONFIG_MCC200_SDRAM" >>include/config.h ; \
@@ -346,7 +362,10 @@ mcc200_highboot_SDRAM: unconfig
{ echo "#define CONFIG_CONSOLE_COM12" >>include/config.h ; \
echo "... with console on COM12" ; \
}
- @./mkconfig -a mcc200 ppc mpc5xxx mcc200
+ @[ -z "$(findstring prs200,$@)" ] || \
+ { echo "#define CONFIG_PRS200" >>include/config.h ;\
+ }
+ @./mkconfig -n $@ -a mcc200 ppc mpc5xxx mcc200
o2dnt_config:
@./mkconfig o2dnt ppc mpc5xxx o2dnt
diff --git a/board/mcc200/config.mk b/board/mcc200/config.mk
index a8225598cc..192272334a 100644
--- a/board/mcc200/config.mk
+++ b/board/mcc200/config.mk
@@ -22,7 +22,7 @@
#
#
-# MCC200 board:
+# MCC200, PRS200 boards:
#
# Valid values for TEXT_BASE are:
#
diff --git a/board/mcc200/mcc200.c b/board/mcc200/mcc200.c
index 775030c17c..9c5780998e 100644
--- a/board/mcc200/mcc200.c
+++ b/board/mcc200/mcc200.c
@@ -197,7 +197,11 @@ long int initdram (int board_type)
int checkboard (void)
{
+#if defined(CONFIG_PRS200)
+ puts ("Board: PRS200\n");
+#else
puts ("Board: MCC200\n");
+#endif
return 0;
}
diff --git a/include/configs/mcc200.h b/include/configs/mcc200.h
index 563f7978d5..aead49a926 100644
--- a/include/configs/mcc200.h
+++ b/include/configs/mcc200.h
@@ -55,16 +55,28 @@
*
* CONFIG_PSC_CONSOLE must be undefined in this case.
*/
+#if !defined(CONFIG_PRS200)
+/* MCC200 configuration: */
#ifdef CONFIG_CONSOLE_COM12
#define CONFIG_QUART_CONSOLE 6 /* console is on UARTF of QUART2 */
#else
#define CONFIG_QUART_CONSOLE 8 /* console is on UARTH of QUART2 */
#endif
+#else
+/* PRS200 configuration: */
+#undef CONFIG_QUART_CONSOLE
+#endif /* CONFIG_PRS200 */
/*
* To select console on PSC1, define CONFIG_PSC_CONSOLE as 1
* and undefine CONFIG_QUART_CONSOLE.
*/
-/*#define CONFIG_PSC_CONSOLE 1 */ /* console is on PSC1 */
+#if !defined(CONFIG_PRS200)
+/* MCC200 configuration: */
+#undef CONFIG_PSC_CONSOLE
+#else
+/* PRS200 configuration: */
+#define CONFIG_PSC_CONSOLE 1 /* console is on PSC1 */
+#endif
#if defined(CONFIG_QUART_CONSOLE) && defined(CONFIG_PSC_CONSOLE)
#error "Select only one console device!"
#endif
@@ -103,33 +115,44 @@
#undef CONFIG_BOOTARGS
-#define CONFIG_EXTRA_ENV_SETTINGS \
+#define XMK_STR(x) #x
+#define MK_STR(x) XMK_STR(x)
+
+#ifdef CONFIG_PRS200
+# define CFG__BOARDNAME "prs200"
+#else
+# define CFG__BOARDNAME "mcc200"
+#endif
+
+#define CONFIG_EXTRA_ENV_SETTINGS \
"netdev=eth0\0" \
- "hostname=mcc200\0" \
+ "hostname=" CFG__BOARDNAME "\0" \
"nfsargs=setenv bootargs root=/dev/nfs rw " \
"nfsroot=${serverip}:${rootpath}\0" \
"ramargs=setenv bootargs root=/dev/ram rw\0" \
"addip=setenv bootargs ${bootargs} " \
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off panic=1\0" \
- "flash_nfs=run nfsargs addip;" \
+ "addcons=etenv bootargs ${bootargs} " \
+ "console=${console},${baudrate}\0" \
+ "flash_nfs=run nfsargs addip addcons;" \
"bootm ${kernel_addr}\0" \
- "flash_self=run ramargs addip;" \
+ "flash_self=run ramargs addip addcons;" \
"bootm ${kernel_addr} ${ramdisk_addr}\0" \
- "net_nfs=tftp 200000 ${bootfile};run nfsargs addip;bootm\0" \
+ "net_nfs=tftp 200000 ${bootfile};" \
+ "run nfsargs addip addcons;bootm\0" \
+ "console=ttyS0\0" \
"rootpath=/opt/eldk/ppc_6xx\0" \
- "bootfile=/tftpboot/mcc200/uImage\0" \
- "baudrate=115200\0" \
- "load=tftp 200000 /tftpboot/mcc200/u-boot.bin\0" \
- "update=protect off FFF00000 +${filesize};" \
- "era FFF00000 +${filesize};" \
- "cp.b 200000 FFF00000 ${filesize}\0" \
- "serverip=192.168.1.1\0" \
- "ipaddr=192.168.133.144\0" \
- "netmask=255.255.0.0\0" \
+ "bootfile=/tftpboot/" CFG__BOARDNAME "/uImage\0" \
+ "load=tftp 200000 /tftpboot/" CFG__BOARDNAME "/u-boot.bin\0" \
+ "text_base=" MK_STR(TEXT_BASE) "\0" \
+ "update=protect off ${text_base} +${filesize};" \
+ "era ${text_base} +${filesize};" \
+ "cp.b 200000 ${text_base} ${filesize}\0" \
"unlock=yes\0" \
- "ethaddr=00:02:44:7D:73:3B\0" \
""
+#undef MK_STR
+#undef XMK_STR
#define CONFIG_BOOTCOMMAND "run flash_self"
@@ -314,7 +337,7 @@
* One of four SC16C554 UARTs is selected with
* A3-A4 (DA5-DA6) lines.
*/
-#if (CONFIG_QUART_CONSOLE > 0) && (CONFIG_QUART_CONSOLE < 5)
+#if (CONFIG_QUART_CONSOLE > 0) && (CONFIG_QUART_CONSOLE < 5) && !defined(CONFIG_PRS200)
#define CFG_NS16550_COM1 (CFG_CS2_START | (CONFIG_QUART_CONSOLE - 1)<<5)
#elif (CONFIG_QUART_CONSOLE > 4) && (CONFIG_QUART_CONSOLE < 9)
#define CFG_NS16550_COM1 (CFG_CS1_START | (CONFIG_QUART_CONSOLE - 5)<<5)
OpenPOWER on IntegriCloud