You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(79) |
Aug
(27) |
Sep
(64) |
Oct
(202) |
Nov
(31) |
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(125) |
Feb
(173) |
Mar
(13) |
Apr
(140) |
May
(75) |
Jun
(1) |
Jul
(37) |
Aug
(14) |
Sep
|
Oct
(20) |
Nov
(9) |
Dec
(2) |
2003 |
Jan
(51) |
Feb
(12) |
Mar
(18) |
Apr
(24) |
May
(1) |
Jun
|
Jul
|
Aug
(72) |
Sep
(12) |
Oct
(18) |
Nov
(60) |
Dec
(26) |
2004 |
Jan
(1) |
Feb
(40) |
Mar
(3) |
Apr
(3) |
May
|
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(5) |
2006 |
Jan
(13) |
Feb
(5) |
Mar
(8) |
Apr
(13) |
May
(7) |
Jun
(6) |
Jul
(10) |
Aug
(6) |
Sep
(6) |
Oct
(35) |
Nov
(20) |
Dec
(10) |
2007 |
Jan
(13) |
Feb
(9) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(2) |
Aug
(3) |
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(1) |
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
(4) |
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(54) |
Jun
(78) |
Jul
(35) |
Aug
(21) |
Sep
(21) |
Oct
(29) |
Nov
(10) |
Dec
(5) |
2010 |
Jan
|
Feb
|
Mar
(26) |
Apr
(55) |
May
(73) |
Jun
(63) |
Jul
(38) |
Aug
(39) |
Sep
(19) |
Oct
(2) |
Nov
(1) |
Dec
(1) |
2011 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Stefan E. <se...@us...> - 2001-10-29 11:41:53
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv7736 Modified Files: memsetup-sa1110.S Log Message: - cleanups, memory config now in arch dependent include files - bugfix: forgot to enable E0PIN - added SMCNFG, MECR settings Index: memsetup-sa1110.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/memsetup-sa1110.S,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- memsetup-sa1110.S 2001/10/27 21:04:20 1.4 +++ memsetup-sa1110.S 2001/10/29 11:41:50 1.5 @@ -44,47 +44,29 @@ # include <blob/config.h> #endif -#include <blob/memsetup.h> +#define BLOB_NEED_MEMCONFIG +#include <memsetup.h> +#include <blob/arch.h> .text MEM_REG_BASE: .long 0xa0000000 MEM_START: .long 0xc0000000 -#if (defined ASSABET) || (defined CLART) || (defined H3600) MEMORY_CONFIG: .long 0x72547254 /* 0x0 MDCNFG */ - .long 0xAAAAAA7F /* 0x04 MDCAS00 */ - .long 0xAAAAAAAA /* 0x08 MDCAS01 */ - .long 0xAAAAAAAA /* 0x0c MDCAS02 */ - .long 0x4b384370 /* 0x10 MCS0 */ - .long 0x22212419 /* 0x14 MCS1 */ - .long 0x994a994a /* 0x18 MECR */ - .long 0x49fc0327 /* 0x1C MDREFR */ - .long 0xAAAAAA7F /* 0x20 MDCAS20 */ - .long 0xAAAAAAAA /* 0x24 MDCAS21 */ - .long 0xAAAAAAAA /* 0x28 MDCAS22 */ - .long 0x42196669 /* 0x2C MCS2 */ - .long 0xafccafcc /* 0x30 SMCNFG */ -#endif - -#if defined PT_SYSTEM3 -MEMORY_CONFIG: - .long 0x72547254 /* 0x0 MDCNFG */ - .long 0xAAAAAA7F /* 0x04 MDCAS00 */ - .long 0xAAAAAAAA /* 0x08 MDCAS01 */ - .long 0xAAAAAAAA /* 0x0c MDCAS02 */ - .long 0x00004380 /* 0x10 MCS0 */ - .long 0xfef5212c /* 0x14 MCS1 */ - .long 0x994a994a /* 0x18 MECR */ - .long 0x023600c1 /* 0x1C MDREFR */ - .long 0xAAAAAA7F /* 0x20 MDCAS20 */ - .long 0xAAAAAAAA /* 0x24 MDCAS21 */ - .long 0xAAAAAAAA /* 0x28 MDCAS22 */ - .long 0x00002249 /* 0x2C MCS2 */ - .long 0xafccafcc /* 0x30 SMCNFG */ -#endif - + .long MDCAS00_VALUE /* 0x04 MDCAS00 */ + .long MDCAS01_VALUE /* 0x08 MDCAS01 */ + .long MDCAS02_VALUE /* 0x0c MDCAS02 */ + .long MSC0_VALUE /* 0x10 MSC0 */ + .long MSC1_VALUE /* 0x14 MSC1 */ + .long MECR_VALUE /* 0x18 MECR */ + .long 0xdeadbeef /* 0x1C MDREFR */ + .long MDCAS20_VALUE /* 0x20 MDCAS20 */ + .long MDCAS21_VALUE /* 0x24 MDCAS21 */ + .long MDCAS22_VALUE /* 0x28 MDCAS22 */ + .long MSC2_VALUE /* 0x2C MSC2 */ + .long SMCNFG_VALUE /* 0x30 SMCNFG */ .globl memsetup memsetup: @@ -115,21 +97,27 @@ ldr r2, [r1, #MDCAS22 ] str r2, [r0, #MDCAS22 ] - /* clear K1DB2 K2DB2 */ + /* clear KxDB2 */ ldr r2, [ r0, #MDREFR ] - bic r2, r2, #(MDREFR_K1DB2 | MDREFR_K2DB2) + bic r2, r2, #MDREFR_K0DB2 + bic r2, r2, #MDREFR_K1DB2 + bic r2, r2, #MDREFR_K2DB2 str r2, [ r0, #MDREFR ] - /* set TRASR and DRI, K1DB2 K2DB2 */ + /* set TRASR and DRI, KxDB2 */ ldr r2, [ r0, #MDREFR ] orr r2, r2, #MDREFR_TRASR(7) orr r2, r2, #MDREFR_DRI(12) - orr r2, r2, #(MDREFR_K1DB2 | MDREFR_K2DB2) + orr r2, r2, #MDREFR_K0DB2 + orr r2, r2, #MDREFR_K1DB2 + orr r2, r2, #MDREFR_K2DB2 str r2, [ r0, #MDREFR ] - /* set K1RUN K2RUN */ + /* set KxRUN */ ldr r2, [ r0, #MDREFR ] - orr r2, r2, #(MDREFR_K1RUN | MDREFR_K2RUN) + orr r2, r2, #MDREFR_K0RUN + orr r2, r2, #MDREFR_K1RUN + orr r2, r2, #MDREFR_K2RUN str r2, [ r0, #MDREFR ] /* clear SLFRSH */ @@ -158,7 +146,7 @@ str r2, [r0, #MDCNFG] /* OPTIONALLY enable Autopowerup/down */ -#if defined PT_SYSTEM3 +#if 0 ldr r2, [ r0, #MDREFR ] orr r2, r2, #MDREFR_EAPD orr r2, r2, #MDREFR_KAPD @@ -171,10 +159,13 @@ ldr r2, [r1, #MCS1 ] str r2, [r0, #MCS1 ] - ldr r2, [r1, #MECR ] - str r2, [r0, #MECR ] - ldr r2, [r1, #MCS2 ] str r2, [r0, #MCS2 ] + + ldr r2, [r1, #SMCNFG ] + str r2, [r0, #SMCNFG ] + + ldr r2, [r1, #MECR ] + str r2, [r0, #MECR ] mov pc, r5 |
From: Stefan E. <se...@us...> - 2001-10-29 11:39:10
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv7076 Modified Files: memsetup.h Log Message: - added defines for static memory setup Index: memsetup.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/memsetup.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- memsetup.h 2001/10/07 15:27:35 1.2 +++ memsetup.h 2001/10/29 11:39:07 1.3 @@ -67,8 +67,28 @@ #define MDREFR_K1DB2 (1 << 22) #define MDREFR_K2RUN (1 << 25) #define MDREFR_K2DB2 (1 << 26) -#define MDREFR_EAPD (1 << 28) -#define MDREFR_KAPD (1 << 29) +#define MDREFR_EAPD (1 << 28) +#define MDREFR_KAPD (1 << 29) #define MDREFR_SLFRSH (1 << 31) + +/********************************************************************** + * Static Memory Config + */ +#undef MSC_RDF +#undef MSC_RDN +#undef MSC_RRR + +#define MSC_RT_ROMFLASH 0 +#define MSC_RT_SRAM_012 1 +#define MSC_RT_VARLAT_345 1 +#define MSC_RT_BURST4 2 +#define MSC_RT_BURST8 3 + +#define MSC_RBW32 (0 << 2) +#define MSC_RBW16 (1 << 2) + +#define MSC_RDF(n_) (((n_)&0x1f)<<3) +#define MSC_RDN(n_) (((n_)&0x1f)<<8) +#define MSC_RRR(n_) (((n_)&0x7)<<13) #endif |
From: Stefan E. <se...@us...> - 2001-10-29 11:36:48
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv6433 Modified Files: assabet.h clart.h h3600.h system3.h Log Message: - added system dependent memory configuration (used in memsetup-sa1110.S) Index: assabet.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/assabet.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- assabet.h 2001/10/14 20:24:32 1.1 +++ assabet.h 2001/10/29 11:36:45 1.2 @@ -28,6 +28,7 @@ +#include <blob/memsetup.h> /* boot CPU speed */ @@ -58,7 +59,23 @@ /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) - +/* Memory configuration */ +#ifdef BLOB_NEED_MEMCONFIG +#warning "use defines from memsetup.h for better readability" +# define MDCNFG_VALUE 0x72547254 /* 0x0 MDCNFG */ +# define MDCAS00_VALUE 0xAAAAAA7F /* 0x04 MDCAS00 */ +# define MDCAS01_VALUE 0xAAAAAAAA /* 0x08 MDCAS01 */ +# define MDCAS02_VALUE 0xAAAAAAAA /* 0x0c MDCAS02 */ +# define MSC0_VALUE 0x4b384370 /* 0x10 MCS0 */ +# define MSC1_VALUE 0x22212419 /* 0x14 MCS1 */ +# define MECR_VALUE 0x994a994a /* 0x18 MECR */ +# define MDREFR_VALUE DO_NOT_USE_THIS_VALUE__GETS_AUTOMAGICALLY_COMPUTED +# define MDCAS20_VALUE 0xAAAAAA7F /* 0x20 MDCAS20 */ +# define MDCAS21_VALUE 0xAAAAAAAA /* 0x24 MDCAS21 */ +# define MDCAS22_VALUE 0xAAAAAAAA /* 0x28 MDCAS22 */ +# define MSC2_VALUE 0x42196669 /* 0x2C MCS2 */ +# define SMCNFG_VALUE 0xafccafcc /* 0x30 SMCNFG */ +#endif #endif Index: clart.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/clart.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- clart.h 2001/10/14 20:24:32 1.1 +++ clart.h 2001/10/29 11:36:45 1.2 @@ -26,39 +26,45 @@ #ifndef BLOB_ARCH_CLART_H #define BLOB_ARCH_CLART_H - - - - /* boot CPU speed */ #define CPU_SPEED (0x0b) - /* GPIO for the LED */ #define LED_GPIO (0x00800000) /* GPIO 23 */ - /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0400000) - /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00400000) - /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) - /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) - - +/* Memory configuration */ +#ifdef BLOB_NEED_MEMCONFIG +#warning "use defines from memsetup.h for better readability" +# define MDCNFG_VALUE 0x72547254 /* 0x0 MDCNFG */ +# define MDCAS00_VALUE 0xAAAAAA7F /* 0x04 MDCAS00 */ +# define MDCAS01_VALUE 0xAAAAAAAA /* 0x08 MDCAS01 */ +# define MDCAS02_VALUE 0xAAAAAAAA /* 0x0c MDCAS02 */ +# define MSC0_VALUE 0x4b384370 /* 0x10 MCS0 */ +# define MSC1_VALUE 0x22212419 /* 0x14 MCS1 */ +# define MECR_VALUE 0x994a994a /* 0x18 MECR */ +# define MDREFR_VALUE DO_NOT_USE_THIS_VALUE__GETS_AUTOMAGICALLY_COMPUTED +# define MDCAS20_VALUE 0xAAAAAA7F /* 0x20 MDCAS20 */ +# define MDCAS21_VALUE 0xAAAAAAAA /* 0x24 MDCAS21 */ +# define MDCAS22_VALUE 0xAAAAAAAA /* 0x28 MDCAS22 */ +# define MSC2_VALUE 0x42196669 /* 0x2C MCS2 */ +# define SMCNFG_VALUE 0xafccafcc /* 0x30 SMCNFG */ +#endif #endif Index: h3600.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/h3600.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- h3600.h 2001/10/27 21:04:20 1.1 +++ h3600.h 2001/10/29 11:36:45 1.2 @@ -26,10 +26,6 @@ #ifndef BLOB_ARCH_H3600_H #define BLOB_ARCH_H3600_H - - - - /* boot CPU speed */ #define CPU_SPEED (0x0a) @@ -57,8 +53,23 @@ /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) - - +/* Memory configuration */ +#ifdef BLOB_NEED_MEMCONFIG +#warning "use defines from memsetup.h for better readability" +# define MDCNFG_VALUE 0x72547254 /* 0x0 MDCNFG */ +# define MDCAS00_VALUE 0xAAAAAA7F /* 0x04 MDCAS00 */ +# define MDCAS01_VALUE 0xAAAAAAAA /* 0x08 MDCAS01 */ +# define MDCAS02_VALUE 0xAAAAAAAA /* 0x0c MDCAS02 */ +# define MSC0_VALUE 0x4b384370 /* 0x10 MCS0 */ +# define MSC1_VALUE 0x22212419 /* 0x14 MCS1 */ +# define MECR_VALUE 0x994a994a /* 0x18 MECR */ +# define MDREFR_VALUE DO_NOT_USE_THIS_VALUE__GETS_AUTOMAGICALLY_COMPUTED +# define MDCAS20_VALUE 0xAAAAAA7F /* 0x20 MDCAS20 */ +# define MDCAS21_VALUE 0xAAAAAAAA /* 0x24 MDCAS21 */ +# define MDCAS22_VALUE 0xAAAAAAAA /* 0x28 MDCAS22 */ +# define MSC2_VALUE 0x42196669 /* 0x2C MCS2 */ +# define SMCNFG_VALUE 0xafccafcc /* 0x30 SMCNFG */ +#endif #endif Index: system3.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/system3.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- system3.h 2001/10/14 20:24:32 1.1 +++ system3.h 2001/10/29 11:36:45 1.2 @@ -26,12 +26,14 @@ #ifndef BLOB_ARCH_SYSTEM3_H #define BLOB_ARCH_SYSTEM3_H - - - +#undef CPU_SPEED_133 /* boot CPU speed */ -#define CPU_SPEED (0x05) +#ifdef CPU_SPEED_133 +# define CPU_SPEED (0x05) +#else +# define CPU_SPEED (0x0a) +#endif /* GPIO for the LED */ @@ -59,6 +61,49 @@ #define RAMDISK_SIZE (8 * 1024) +/* Memory configuration */ +#ifdef BLOB_NEED_MEMCONFIG +#define MSC0_VALUE_66_150 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF(10) | MSC_RDN(2) | MSC_RRR(1) +#define MSC0_VALUE_66_120 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF( 8) | MSC_RDN(2) | MSC_RRR(1) +#define MSC0_VALUE_66_100 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF( 7) | MSC_RDN(2) | MSC_RRR(1) +#define MSC1_VALUE_66 MSC_RT_ROMFLASH | MSC_RBW16 | MSC_RDF(5) | MSC_RDN(1) | MSC_RRR(1) | ((MSC_RT_VARLAT_345 | MSC_RBW16 | MSC_RDF(30) | MSC_RDN(30) | MSC_RRR(7))<<16) +#define MSC2_VALUE_66 MSC_RT_VARLAT_345 | MSC_RBW32 | MSC_RDF(7) | MSC_RDN(2) | MSC_RRR(1) +#define MECR_VALUE_66 0 +#define MSC0_VALUE_100_150 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF(16) | MSC_RDN(3) | MSC_RRR(2) +#define MSC0_VALUE_100_120 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF(13) | MSC_RDN(3) | MSC_RRR(2) +#define MSC0_VALUE_100_100 MSC_RT_ROMFLASH | MSC_RBW32 | MSC_RDF(11) | MSC_RDN(3) | MSC_RRR(2) +#define MSC1_VALUE_100 MSC_RT_ROMFLASH | MSC_RBW16 | MSC_RDF(5) | MSC_RDN(1) | MSC_RRR(1)| ((MSC_RT_VARLAT_345 | MSC_RBW16 | MSC_RDF(30) | MSC_RDN(30) | MSC_RRR(7))<<16) +#define MSC2_VALUE_100 MSC_RT_VARLAT_345 | MSC_RBW32 | MSC_RDF(9) | MSC_RDN(2) | MSC_RRR(1) +#define MECR_VALUE_100 0 + +#ifndef CPU_SPEED_133 +// 206 Mhz +# define MDCAS00_VALUE 0xAAAAAA9F +# define MDCAS01_VALUE 0xAAAAAAAA +# define MDCAS02_VALUE 0xAAAAAAAA +# define MDCAS20_VALUE 0xAAAAAA9F +# define MDCAS21_VALUE 0xAAAAAAAA +# define MDCAS22_VALUE 0xAAAAAAAA +# define MSC0_VALUE MSC0_VALUE_100_150 +# define MSC1_VALUE MSC1_VALUE_100 +# define MSC2_VALUE MSC2_VALUE_100 +# define MECR_VALUE MECR_VALUE_100 +# define SMCNFG_VALUE 0 +#else +// 133 Mhz +# define MDCAS00_VALUE 0xAAAAAA9F +# define MDCAS01_VALUE 0xAAAAAAAA +# define MDCAS02_VALUE 0xAAAAAAAA +# define MDCAS20_VALUE 0xAAAAAA9F +# define MDCAS21_VALUE 0xAAAAAAAA +# define MDCAS22_VALUE 0xAAAAAAAA +# define MSC0_VALUE MSC0_VALUE_66_150 +# define MSC1_VALUE MSC1_VALUE_66 +# define MSC2_VALUE MSC2_VALUE_66 +# define MECR_VALUE MECR_VALUE_66 +# define SMCNFG_VALUE 0 +#endif +#endif #endif |
From: Erik M. <er...@us...> - 2001-10-28 22:15:02
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv19686 Modified Files: reboot.c Log Message: Fix compiler warning by include the proper include file :) Index: reboot.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/reboot.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- reboot.c 2001/10/28 20:32:15 1.5 +++ reboot.c 2001/10/28 22:15:00 1.6 @@ -31,6 +31,7 @@ #include <blob/command.h> #include <blob/errno.h> #include <blob/error.h> +#include <blob/init.h> #include <blob/main.h> #include <blob/serial.h> #include <blob/time.h> |
From: Erik M. <er...@us...> - 2001-10-28 22:14:22
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv19570 Modified Files: Makefile.am ld-script start.S Added Files: stack.S Log Message: Also move the diag stack into the .bss section --- NEW FILE: stack.S --- /* * stack.S: diag stack * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: stack.S,v 1.1 2001/10/28 22:14:20 erikm Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ .ident "$Id: stack.S,v 1.1 2001/10/28 22:14:20 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif .section ".stack" /* 8kB stack should be enough */ .space (8 * 1024) Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/diag/Makefile.am,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- Makefile.am 2001/10/09 17:55:04 1.4 +++ Makefile.am 2001/10/28 22:14:20 1.5 @@ -36,6 +36,7 @@ # be linked in the wrong order! diag_elf32_SOURCES = \ start.S \ + stack.S \ command_hist.c \ commands.c \ initcalls.c \ @@ -47,7 +48,8 @@ diag_elf32_DEPENDENCIES = \ @LCD@ \ - @DIAG_PLATFORM_OBJ@ + @DIAG_PLATFORM_OBJ@ \ + ld-script diag_elf32_LDFLAGS += \ -Wl,-T,${srcdir}/ld-script Index: ld-script =================================================================== RCS file: /cvsroot/blob/blob/src/diag/ld-script,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- ld-script 2001/10/07 22:09:54 1.1 +++ ld-script 2001/10/28 22:14:20 1.2 @@ -52,6 +52,15 @@ /* the BSS section should be the last section */ . = ALIGN(4); - .bss : { *(.bss) } -} + .bss : { + __bss_start = .; + /* first the real BSS data */ + *(.bss) + /* and next the stack */ + . = ALIGN(4); + *(.stack) + __stack_end = .; + __bss_end = .; + } +} Index: start.S =================================================================== RCS file: /cvsroot/blob/blob/src/diag/start.S,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- start.S 2001/10/07 22:09:54 1.1 +++ start.S 2001/10/28 22:14:20 1.2 @@ -26,15 +26,30 @@ .globl _start _start: - /* set up the stack pointer */ - ldr r0, MEM_START - add r1, r0, #(1024 * 1024) - sub sp, r1, #0x04 + /* clear the BSS section */ + ldr r1, bss_start + ldr r0, bss_end + sub r0, r0, r1 + /* r1 = start address */ + /* r0 = #number of bytes */ + mov r2, #0 + +clear_bss: + stmia r1!, {r2} + subs r0, r0, #4 + bne clear_bss + + /* setup the stack pointer */ + ldr r0, stack_end + sub sp, r0, #4 + loop: bl main /* if main ever returns we just call it again */ - b loop + b _start -/* main memory starts at 0xc0000000 */ -MEM_START: .long 0xc0000000 + +bss_start: .word __bss_start +bss_end: .word __bss_end +stack_end: .word __stack_end |
From: Erik M. <er...@us...> - 2001-10-28 20:39:41
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv31022 Modified Files: Makefile.am start.S Added Files: chain.S Log Message: This is quite a large cleanup: - Add a chain loader (chain.S) so blob can be called from other bootloaders - Add an extra target to the Makefile.am: blob-chain - Remove the chain loading capabilities from start.S - Remove memory cleaning and stack setup from start.S --- NEW FILE: chain.S --- /* * chain.S: blob chain loader * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: chain.S,v 1.1 2001/10/28 20:39:37 erikm Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ /* * This is a blob first stage loader that can be called with a * hostile non-linux compatible bootloader, so you'll get a linux * compatible chain loader. It's also nice for debugging blob. * * This loader is position independent. */ .ident "$Id: chain.S,v 1.1 2001/10/28 20:39:37 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/arch.h> .text .globl _start _start: /* store our start location */ sub r0, pc, #8 str r0, START /* init LED */ bl ledinit /* assume that the CPU and the memory are already set up at * this point. also assume that interrupts are disabled, and if * not, there is a valid reason for it. */ /* since we're probably running from RAM, we assume that the * RAM is not broken, so we don't want to run a memory tester at * the part of memory where we are loaded. */ relocate: /* get a clue where we are running so we know what to copy */ ldr r0, START /* relocate the second stage loader */ add r2, r0, #(128 * 1024) /* blob is 128kB */ add r0, r0, #0x400 /* skip first 1024 bytes */ ldr r1, MEM_START add r1, r1, #0x400 /* skip over here as well */ /* r0 = source address * r1 = target address * r2 = source end address */ copy_loop: ldmia r0!, {r3-r10} stmia r1!, {r3-r10} cmp r0, r2 ble copy_loop /* turn off the LED. if it stays off it is an indication that * we didn't make it into the C code */ bl led_off /* blob is copied to ram, so jump to it */ ldr r0, MEM_START add r0, r0, #0x400 mov pc, r0 START: .word 0x00000000 MEM_START: .word MEMORY_START Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/blob/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- Makefile.am 2001/10/27 21:04:20 1.8 +++ Makefile.am 2001/10/28 20:39:37 1.9 @@ -25,9 +25,12 @@ bin_PROGRAMS = \ blob-start-elf32 \ blob-start \ + blob-start-chain-elf32 \ + blob-start-chain \ blob-rest-elf32 \ blob-rest \ - blob + blob \ + blob-chain INCLUDES += \ @@ -49,7 +52,8 @@ memsetup-sa1110.S blob_start_elf32_DEPENDENCIES = \ - @MEMSETUP@ + @MEMSETUP@ \ + start-ld-script blob_start_elf32_LDFLAGS += \ -Wl,-T,${srcdir}/start-ld-script @@ -68,7 +72,33 @@ +# ---- Blob first stage chain loader -------------------------------- + +# WARNING: chain.S *must* be the first file, otherwise the target will +# be linked in the wrong order! +blob_start_chain_elf32_SOURCES = \ + chain.S \ + ledasm.S + +blob_start_chain_elf32_DEPENDENCIES =\ + start-ld-script + +blob_start_chain_elf32_LDFLAGS += \ + -Wl,-T,${srcdir}/start-ld-script + +blob_start_chain_elf32_LDADD += \ + -lgcc + + +blob_start_chain_SOURCES = + +blob-start-chain: blob-start-chain-elf32 + $(OBJCOPY) $(OCFLAGS) $< $@ + + + + # ---- Blob second stage --------------------------------------------- # WARNING: trampoline.S *must* be the first file, otherwise the target @@ -76,6 +106,7 @@ blob_rest_elf32_SOURCES = \ trampoline.S \ flashasm.S \ + stack.S \ testmem2.S \ commands.c \ flash.c \ @@ -113,7 +144,8 @@ @BLOB_FLASH_OBJS@ \ @CHKMEM@ \ @DEBUG@ \ - @CLOCK@ + @CLOCK@ \ + rest-ld-script blob_rest_elf32_LDFLAGS += \ @@ -148,7 +180,20 @@ rm -f $@ dd if=blob-start of=$@ bs=1k conv=sync dd if=blob-rest of=$@ bs=1k seek=1 - chmod +x blob + chmod +x $@ + + + + +# ---- Final blob chain loader binary -------------------------------- + +blob_chain_SOURCES = + +blob-chain: blob-start-chain blob-rest + rm -f $@ + dd if=blob-start-chain of=$@ bs=1k conv=sync + dd if=blob-rest of=$@ bs=1k seek=1 + chmod +x $@ Index: start.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/start.S,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- start.S 2001/10/14 22:37:43 1.3 +++ start.S 2001/10/28 20:39:37 1.4 @@ -71,13 +71,13 @@ #define RCSR 0x04 /* main memory starts at 0xc0000000 */ -MEM_START: .long MEMORY_START +MEM_START: .word MEMORY_START /* The initial CPU speed. Note that the SA11x0 CPUs can be safely overclocked: * 190 MHz CPUs are able to run at 221 MHz, 133 MHz CPUs can do 190 Mhz. */ -cpuspeed: .long CPU_SPEED +cpuspeed: .word CPU_SPEED @@ -88,14 +88,9 @@ mov r1, #0x00 str r1, [r0, #ICMR] - /* if we're running from RAM, we don't want to setup and clear again */ - and r0, pc, #0xff000000 - teq r0, #0 - bne relocate - /* switch CPU to correct speed */ ldr r0, PWR_BASE - LDR r1, cpuspeed + ldr r1, cpuspeed str r1, [r0, #PPCR] @@ -139,27 +134,8 @@ bne mem_test_loop - /* the first megabyte is OK, so let's clear it */ - mov r0, #((1024 * 1024) / (8 * 4)) /* 1MB in steps of 32 bytes */ - ldr r1, MEM_START - mov r2, #0 - mov r3, #0 - mov r4, #0 - mov r5, #0 - mov r6, #0 - mov r7, #0 - mov r8, #0 - mov r9, #0 - -clear_loop: - stmia r1!, {r2-r9} - subs r0, r0, #(8 * 4) - bne clear_loop - - -relocate: - /* get a clue where we are running, so we know what to copy */ - and r0, pc, #0xff000000 /* we don't care about the low bits */ +relocate: + adr r0, _start /* relocate the second stage loader */ add r2, r0, #(128 * 1024) /* blob is 128kB */ @@ -184,13 +160,8 @@ bl led_off - /* set up the stack pointer */ - ldr r0, MEM_START - add r1, r0, #(1024 * 1024) - sub sp, r1, #0x04 - - /* blob is copied to ram, so jump to it */ + ldr r0, MEM_START add r0, r0, #0x400 mov pc, r0 |
From: Erik M. <er...@us...> - 2001-10-28 20:34:43
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv30674 Modified Files: rest-ld-script trampoline.S Added Files: stack.S Log Message: - Move the stack into the .bss section - Actually clear the .bss section before we jump to C code --- NEW FILE: stack.S --- /* * stack.S: blob stack * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: stack.S,v 1.1 2001/10/28 20:34:41 erikm Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ .ident "$Id: stack.S,v 1.1 2001/10/28 20:34:41 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif .section ".stack" /* 8kB stack should be enough */ .space (8 * 1024) Index: rest-ld-script =================================================================== RCS file: /cvsroot/blob/blob/src/blob/rest-ld-script,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- rest-ld-script 2001/10/07 19:04:25 1.1 +++ rest-ld-script 2001/10/28 20:34:41 1.2 @@ -53,12 +53,22 @@ . = ALIGN(4); .ptaglist : { __ptagtable_begin = .; - *(.ptaglist) + *(.ptaglist) __ptagtable_end = .; } - /* the BSS section should be the last section */ + /* the BSS section should *always* be the last section */ . = ALIGN(4); - .bss : { *(.bss) } + .bss : { + __bss_start = .; + /* first the real BSS data */ + *(.bss) + + /* and next the stack */ + . = ALIGN(4); + *(.stack) + __stack_end = .; + __bss_end = .; + } } Index: trampoline.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/trampoline.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- trampoline.S 2001/10/07 19:34:17 1.2 +++ trampoline.S 2001/10/28 20:34:41 1.3 @@ -24,11 +24,35 @@ #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif - + .text .globl _trampoline _trampoline: + /* clear the BSS section */ + ldr r1, bss_start + ldr r0, bss_end + sub r0, r0, r1 + + /* r1 = start address */ + /* r0 = #number of bytes */ + mov r2, #0 + +clear_bss: + stmia r1!, {r2} + subs r0, r0, #4 + bne clear_bss + + /* setup the stack pointer */ + ldr r0, stack_end + sub sp, r0, #4 + + /* jump to C code */ bl main /* if main ever returns we just call it again */ b _trampoline + + +bss_start: .word __bss_start +bss_end: .word __bss_end +stack_end: .word __stack_end |
From: Erik M. <er...@us...> - 2001-10-28 20:32:18
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv30028 Modified Files: reboot.c Log Message: Disable subsystems before we call the new blob. Most important is that this disables the i-cache so we don't get strange aborts because of overwritten code. Index: reboot.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/reboot.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- reboot.c 2001/10/14 20:24:32 1.4 +++ reboot.c 2001/10/28 20:32:15 1.5 @@ -29,8 +29,10 @@ #include <blob/arch.h> #include <blob/command.h> +#include <blob/errno.h> +#include <blob/error.h> +#include <blob/main.h> #include <blob/serial.h> -#include <blob/sa1100.h> #include <blob/time.h> @@ -40,9 +42,19 @@ { void (*blob)(void) = (void (*)(void))BLOB_RAM_BASE; + /* sanity check */ + if(blob_status.blobType == fromFlash) { + printerrprefix(); + SerialOutputString("blob not downloaded\n"); + return -EINVAL; + } + SerialOutputString("Restarting blob from RAM...\n\n"); msleep(500); + + /* disable subsystems that want to be disabled */ + exit_subsystems(); blob(); |
From: Erik M. <er...@us...> - 2001-10-28 20:30:17
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv29911 Modified Files: main.c Log Message: Cosmetical changes Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- main.c 2001/10/27 21:05:12 1.5 +++ main.c 2001/10/28 20:30:15 1.6 @@ -405,7 +405,7 @@ SerialOutputString("Bootloader : " PACKAGE "\n"); SerialOutputString("Version : " VERSION "\n"); - SerialOutputString(" flash\nBlocksize : 0x"); + SerialOutputString("Blocksize : 0x"); SerialOutputHex(blob_status.blockSize); SerialOutputString("\nDownload speed: "); |
From: Erik M. <er...@us...> - 2001-10-28 20:29:07
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv29574 Modified Files: ledasm.S Log Message: First switch off the LED before we start blinking so it is easier to count the number of blinks. Index: ledasm.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/ledasm.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- ledasm.S 2001/10/14 20:24:32 1.2 +++ ledasm.S 2001/10/28 20:29:05 1.3 @@ -94,10 +94,10 @@ blinky: /* blink LED. clobbers r0 and r1 */ mov r2, lr - bl led_off - bl wait_loop bl led_on bl wait_loop + bl led_off + bl wait_loop mov pc, r2 @@ -108,6 +108,10 @@ mov r4, lr mov r3, r0 + /* switch LED off if it wasn't already off */ + bl led_off + bl wait_loop + blink0: bl blinky subs r3, r3, #1 |
From: Erik M. <er...@us...> - 2001-10-28 20:27:40
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv29407 Modified Files: h3600.c Log Message: Remember the EGPIO register cause it is write-only Index: h3600.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/h3600.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- h3600.c 2001/10/27 21:04:20 1.1 +++ h3600.c 2001/10/28 20:27:38 1.2 @@ -34,7 +34,7 @@ /* flash descriptor for H3600 flash */ -/* 2x Intel ??? (16MB) */ +/* 2x 28F640J3A (16MB) */ static flash_descriptor_t h3600_flash_descriptors[] = { { @@ -61,8 +61,14 @@ /* H3600 EGPIO register */ -static u32 *egpio = (u32 *)0x49000000; +static u32 *EGPIO = (u32 *)0x49000000; +/* the EGPIO register is write only, so we need a shadow register to + * remember the state + */ +static u32 shadow_egpio; + + /* taken from Linux include/asm-arm/arch-sa1100/h3600.h */ #define EGPIO_H3600_VPP_ON (1 << 0) #define EGPIO_H3600_RS232_ON (1 << 7) /* UART3 transceiver force on. Active high. */ @@ -71,7 +77,8 @@ static void h3600_init_egpio(void) { /* enable RS232 tranceiver */ - *egpio = EGPIO_H3600_RS232_ON; + shadow_egpio = EGPIO_H3600_RS232_ON; + *EGPIO = shadow_egpio; } |
From: Erik M. <er...@us...> - 2001-10-28 20:26:08
|
Update of /cvsroot/blob/blob/src/diag In directory usw-pr-cvs1:/tmp/cvs-serv29187 Modified Files: main.c Log Message: Print the architecture over here as well. Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/diag/main.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- main.c 2001/10/07 22:09:54 1.1 +++ main.c 2001/10/28 20:26:06 1.2 @@ -44,7 +44,7 @@ /* call subsystems */ init_subsystems(); - SerialOutputString("\ndiag version " VERSION "\n" + SerialOutputString("\ndiag version " VERSION " for " BOARD_NAME "\n" "Copyright (C) 2001 " "Stefan Eletzhofer and Erik Mouw\n"); SerialOutputString("diag comes with ABSOLUTELY NO WARRANTY; " |
From: Erik M. <er...@us...> - 2001-10-28 20:25:06
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv28934 Modified Files: configure.in Log Message: Change the board name to a more "official" name now we actually print it in main.c Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- configure.in 2001/10/27 21:04:20 1.21 +++ configure.in 2001/10/28 20:25:02 1.22 @@ -79,7 +79,7 @@ AC_MSG_CHECKING(target board) case "$board_name" in assabet) - AC_MSG_RESULT(Assabet) + board_name="Intel Assabet" AC_DEFINE(ASSABET) AC_DEFINE(USE_SERIAL1) BLOB_PLATFORM_OBJ="assabet.o" @@ -88,7 +88,7 @@ use_lcd="no" ;; brutus) - AC_MSG_RESULT(Brutus) + board_name="Intel Brutus" AC_DEFINE(BRUTUS) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="brutus.o" @@ -98,7 +98,7 @@ use_lcd="no" ;; creditlart) - AC_MSG_RESULT(CreditLART) + board_name="Delft University of Technology CreditLART" AC_DEFINE(CLART) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="clart.o" @@ -107,7 +107,7 @@ use_lcd="no" ;; h3600) - AC_MSG_RESULT(Ipaq H3600) + board_name="Compaq Ipaq H3600 series" AC_DEFINE(H3600) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="h3600.o" @@ -117,7 +117,7 @@ use_lcd="no" ;; lart) - AC_MSG_RESULT(LART) + board_name="Delft University of Technology LART" AC_DEFINE(LART) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="lart.o" @@ -126,7 +126,7 @@ use_lcd="no" ;; nesa) - AC_MSG_RESULT(NESA) + board_name="NESA" AC_DEFINE(NESA) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="nesa.o" @@ -135,7 +135,7 @@ use_lcd="no" ;; pleb) - AC_MSG_RESULT(PLEB) + board_name="University of New South Wales PLEB" AC_DEFINE(PLEB) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="pleb.o" @@ -145,7 +145,7 @@ use_lcd="no" ;; shannon) - AC_MSG_RESULT(SHANNON) + board_name="TuxScreen (Shannon)" AC_DEFINE(SHANNON) AC_DEFINE(USE_SERIAL3) BLOB_PLATFORM_OBJ="shannon.o" @@ -154,7 +154,7 @@ use_lcd="no" ;; system3) - AC_MSG_RESULT(PTSystem3) + board_name="PT System3" AC_DEFINE(PT_SYSTEM3) AC_DEFINE(USE_SERIAL1) BLOB_PLATFORM_OBJ="system3.o" @@ -171,6 +171,7 @@ esac dnl define board name in configuration +AC_MSG_RESULT("${board_name}") AC_DEFINE_UNQUOTED(BOARD_NAME, "${board_name}") |
From: Erik M. <er...@us...> - 2001-10-27 21:05:40
|
Update of /cvsroot/blob/blob/utils/build In directory usw-pr-cvs1:/tmp/cvs-serv1164/utils/build Modified Files: build_Makefile build_all Log Message: Add h3600 to the build tools Index: build_Makefile =================================================================== RCS file: /cvsroot/blob/blob/utils/build/build_Makefile,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- build_Makefile 2001/09/27 21:39:41 1.3 +++ build_Makefile 2001/10/27 21:05:37 1.4 @@ -12,7 +12,9 @@ # published by the Free Software Foundation. # -archs = assabet brutus creditlart lart nesa pleb system3 shannon +archs = \ + assabet brutus creditlart h3600 lart\ + nesa pleb system3 shannon debug-archs = $(foreach a, $(archs), $(a)-debug) all-archs = $(archs) $(debug-archs) Index: build_all =================================================================== RCS file: /cvsroot/blob/blob/utils/build/build_all,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- build_all 2001/09/27 21:39:42 1.3 +++ build_all 2001/10/27 21:05:37 1.4 @@ -12,10 +12,10 @@ # published by the Free Software Foundation. # -archs="assabet brutus creditlart lart nesa pleb system3 shannon" +archs="assabet brutus creditlart h3600 lart nesa pleb system3 shannon" linux_prefix=~/LART/build/linux/elinux blob_src=~/src/sourceforge/blob -extra_flags="--enable-clock-scaling --enable-memtest" +extra_flags="--enable-all-features" export CC=arm-linux-gcc |
From: Erik M. <er...@us...> - 2001-10-27 21:05:14
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv1011/src/blob Modified Files: main.c Log Message: Print for what board this version of blob was build Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- main.c 2001/10/24 12:28:25 1.4 +++ main.c 2001/10/27 21:05:12 1.5 @@ -105,7 +105,8 @@ /* Print the required GPL string */ SerialOutputString("\nConsider yourself LARTed!\n\n"); - SerialOutputString(PACKAGE " version " VERSION "\n" + SerialOutputString(PACKAGE " version " VERSION " for " + BOARD_NAME "\n" "Copyright (C) 1999 2000 2001 " "Jan-Derk Bakker and Erik Mouw\n"); SerialOutputString(PACKAGE " comes with ABSOLUTELY NO WARRANTY; " |
From: Erik M. <er...@us...> - 2001-10-27 21:04:23
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv791/include/blob Modified Files: linux.h arch.h Log Message: Initial support for the Compaq Ipaq H3600 series Index: linux.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/linux.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- linux.h 2001/10/07 15:17:49 1.1 +++ linux.h 2001/10/27 21:04:20 1.2 @@ -38,6 +38,8 @@ # define ARCH_NUMBER (16) #elif defined CLART # define ARCH_NUMBER (68) +#elif defined H3600 +# define ARCH_NUMBER (22) #elif defined LART # define ARCH_NUMBER (27) #elif defined NESA Index: arch.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- arch.h 2001/10/14 20:24:32 1.1 +++ arch.h 2001/10/27 21:04:20 1.2 @@ -43,6 +43,8 @@ # include <blob/arch/brutus.h> #elif defined CLART # include <blob/arch/clart.h> +#elif defined H3600 +# include <blob/arch/h3600.h> #elif defined LART # include <blob/arch/lart.h> #elif defined NESA |
From: Erik M. <er...@us...> - 2001-10-27 21:04:23
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv791/src/blob Modified Files: Makefile.am memsetup-sa1110.S Added Files: h3600.c Log Message: Initial support for the Compaq Ipaq H3600 series --- NEW FILE: h3600.c --- /* * h3600.c: Ipaq H3600 specific stuff * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: h3600.c,v 1.1 2001/10/27 21:04:20 erikm Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: h3600.c,v 1.1 2001/10/27 21:04:20 erikm Exp $" #ifdef HAVE_CONFIG_H # include <blob/config.h> #endif #include <blob/flash.h> #include <blob/init.h> /* flash descriptor for H3600 flash */ /* 2x Intel ??? (16MB) */ static flash_descriptor_t h3600_flash_descriptors[] = { { size: 2 * 128 * 1024, num: 64, lockable: 1 }, { /* NULL block */ }, }; static void init_h3600_flash_driver(void) { flash_descriptors = h3600_flash_descriptors; flash_driver = &intel32_flash_driver; } __initlist(init_h3600_flash_driver, INIT_LEVEL_OTHER_STUFF); /* H3600 EGPIO register */ static u32 *egpio = (u32 *)0x49000000; /* taken from Linux include/asm-arm/arch-sa1100/h3600.h */ #define EGPIO_H3600_VPP_ON (1 << 0) #define EGPIO_H3600_RS232_ON (1 << 7) /* UART3 transceiver force on. Active high. */ static void h3600_init_egpio(void) { /* enable RS232 tranceiver */ *egpio = EGPIO_H3600_RS232_ON; } __initlist(h3600_init_egpio, INIT_LEVEL_INITIAL_HARDWARE); Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/src/blob/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -u -d -r1.7 -r1.8 --- Makefile.am 2001/10/21 21:37:07 1.7 +++ Makefile.am 2001/10/27 21:04:20 1.8 @@ -100,6 +100,7 @@ assabet.c \ brutus.c \ clart.c \ + h3600.c \ lart.c \ nesa.c \ pleb.c \ Index: memsetup-sa1110.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/memsetup-sa1110.S,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- memsetup-sa1110.S 2001/10/25 11:50:34 1.3 +++ memsetup-sa1110.S 2001/10/27 21:04:20 1.4 @@ -51,7 +51,7 @@ MEM_REG_BASE: .long 0xa0000000 MEM_START: .long 0xc0000000 -#if (defined ASSABET) || (defined CLART) +#if (defined ASSABET) || (defined CLART) || (defined H3600) MEMORY_CONFIG: .long 0x72547254 /* 0x0 MDCNFG */ .long 0xAAAAAA7F /* 0x04 MDCAS00 */ |
From: Erik M. <er...@us...> - 2001-10-27 21:04:23
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv791/include/blob/arch Modified Files: Makefile.am Log Message: Initial support for the Compaq Ipaq H3600 series Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- Makefile.am 2001/10/14 20:24:32 1.2 +++ Makefile.am 2001/10/27 21:04:20 1.3 @@ -14,6 +14,7 @@ assabet.h \ brutus.h \ clart.h \ + h3600.h \ lart.h \ nesa.h \ pleb.h \ |
From: Erik M. <er...@us...> - 2001-10-27 21:04:23
|
Update of /cvsroot/blob/blob In directory usw-pr-cvs1:/tmp/cvs-serv791 Modified Files: configure.in acconfig.h Log Message: Initial support for the Compaq Ipaq H3600 series Index: configure.in =================================================================== RCS file: /cvsroot/blob/blob/configure.in,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- configure.in 2001/10/21 21:45:04 1.20 +++ configure.in 2001/10/27 21:04:20 1.21 @@ -106,6 +106,16 @@ use_cpu="sa1110" use_lcd="no" ;; + h3600) + AC_MSG_RESULT(Ipaq H3600) + AC_DEFINE(H3600) + AC_DEFINE(USE_SERIAL3) + BLOB_PLATFORM_OBJ="h3600.o" + AC_MSG_WARN([Warning: untested platform!]) + BLOB_FLASH_OBJS="intel32.o" + use_cpu="sa1110" + use_lcd="no" + ;; lart) AC_MSG_RESULT(LART) AC_DEFINE(LART) @@ -159,6 +169,10 @@ AC_MSG_ERROR([Unknown board name, bailing out]) ;; esac + +dnl define board name in configuration +AC_DEFINE_UNQUOTED(BOARD_NAME, "${board_name}") + if test "x$use_cpu" = "xsa1100" ; then dnl SA1100 CPU: EDORAM memory setup code Index: acconfig.h =================================================================== RCS file: /cvsroot/blob/blob/acconfig.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- acconfig.h 2001/10/09 17:49:36 1.5 +++ acconfig.h 2001/10/27 21:04:20 1.6 @@ -50,6 +50,9 @@ /* Define the package version here */ #undef VERSION +/* Define the board name over here */ +#undef BOARD_NAME + /* Define to enable run-time debug information */ #undef BLOB_DEBUG @@ -62,6 +65,9 @@ /* Define for CreditLART boards */ #undef CLART +/* Define for Ipaq H3600 */ +#undef H3600 + /* Define for LART boards */ #undef LART @@ -76,12 +82,6 @@ /* Define for Shannon (TuxScreen) */ #undef SHANNON - -/* Define if your system uses an SA-1100 CPU */ -#undef USE_SA1100 - -/* Define if your system uses an SA-1110 CPU */ -#undef USE_SA1110 /* Define if your sytem uses serial port 1 */ #undef USE_SERIAL1 |
From: Erik M. <er...@us...> - 2001-10-27 21:04:23
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv791/include/blob/arch Added Files: h3600.h Log Message: Initial support for the Compaq Ipaq H3600 series --- NEW FILE: h3600.h --- /* * h3600.h: Ipaq H3600 specific defines * * Copyright (C) 2001 Erik Mouw (J.A...@it...) * * $Id: h3600.h,v 1.1 2001/10/27 21:04:20 erikm Exp $ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ident "$Id: h3600.h,v 1.1 2001/10/27 21:04:20 erikm Exp $" #ifndef BLOB_ARCH_H3600_H #define BLOB_ARCH_H3600_H /* boot CPU speed */ #define CPU_SPEED (0x0a) /* GPIO for the LED */ #define LED_GPIO (0x00000000) /* No LED */ /* where do various parts live in RAM */ #define BLOB_RAM_BASE (0xc0100000) #define KERNEL_RAM_BASE (0xC0008000) #define PARAM_RAM_BASE (0xc0110000) #define RAMDISK_RAM_BASE (0xC0800000) /* and where do they live in flash */ #define BLOB_BLOCK_OFFSET (0x00000000) #define KERNEL_BLOCK_OFFSET (0x00008000) #define RAMDISK_BLOCK_OFFSET (0x00800000) /* the position of the kernel boot parameters */ #define BOOT_PARAMS (0xc0000100) /* the size (in kbytes) to which the compressed ramdisk expands */ #define RAMDISK_SIZE (8 * 1024) #endif |
From: Erik M. <er...@us...> - 2001-10-25 11:50:38
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv11446 Modified Files: memsetup-sa1110.S Log Message: Add the URL for the extremely hard to find SDRAM configurator on Intel's website. Index: memsetup-sa1110.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/memsetup-sa1110.S,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- memsetup-sa1110.S 2001/10/25 09:27:34 1.2 +++ memsetup-sa1110.S 2001/10/25 11:50:34 1.3 @@ -25,9 +25,12 @@ * Intel Corporation, "Intel StrongARM SA-1110 Microprocessor * Advanced Developer's manual, December 1999 * + * Intel has a very hard to find SDRAM configurator on their web site: + * http://appzone.intel.com/hcd/sa1110/memory/index.asp + * * NOTE: This code assumes that an SA1110 CPU *always* uses SDRAM. This * appears to be true, but it might be possible that somebody designs a - * board with mixed EDODRAM/SDRAM memory. -- Erik + * board with mixed EDODRAM/SDRAM memory (which is a bad idea). -- Erik * * 04-10-2001: SELETZ * - separated memory config for multiple platform support |
From: Erik M. <er...@us...> - 2001-10-25 09:59:26
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv21403/src/blob Modified Files: amd32.c flash.c intel16.c intel32.c nullflash.c Log Message: Just a couple of cosmetical changes Index: amd32.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/amd32.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- amd32.c 2001/10/21 21:35:11 1.1 +++ amd32.c 2001/10/25 09:59:23 1.2 @@ -186,6 +186,6 @@ /* flash driver structure */ flash_driver_t amd32_flash_driver = { - flash_erase: flash_erase_amd32, - flash_write: flash_write_amd32, + erase: flash_erase_amd32, + write: flash_write_amd32, }; Index: flash.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/flash.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- flash.c 2001/10/24 12:28:25 1.6 +++ flash.c 2001/10/25 09:59:23 1.7 @@ -172,7 +172,7 @@ SerialOutputByte('\n'); /* dirty block */ - rv = flash_driver->flash_erase(cur); + rv = flash_driver->erase(cur); if(rv < 0) { printerrprefix(); @@ -215,7 +215,7 @@ u32 nscandown = 0; u32 nskip = 0; -#if BLOB_DEBUG +#if defined BLOB_DEBUG SerialOutputString(__FUNCTION__ "(): flashing 0x"); SerialOutputHex(nwords); SerialOutputString(" ("); @@ -236,7 +236,7 @@ } /* different, so write to this location */ - rv = flash_driver->flash_write(&dst[i], &src[i]); + rv = flash_driver->write(&dst[i], &src[i]); nwrite++; if(rv == 0) { @@ -249,7 +249,7 @@ SerialOutputString("..."); /* erase block at current location */ - rv = flash_driver->flash_erase(&dst[i]); + rv = flash_driver->erase(&dst[i]); nerase++; if(rv < 0) { /* something is obviously wrong */ Index: intel16.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/intel16.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- intel16.c 2001/10/21 21:35:11 1.1 +++ intel16.c 2001/10/25 09:59:23 1.2 @@ -167,6 +167,6 @@ /* flash driver structure */ flash_driver_t intel16_flash_driver = { - flash_erase: flash_erase_intel16, - flash_write: flash_write_intel16, + erase: flash_erase_intel16, + write: flash_write_intel16, }; Index: intel32.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/intel32.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- intel32.c 2001/10/21 21:35:11 1.1 +++ intel32.c 2001/10/25 09:59:23 1.2 @@ -115,6 +115,6 @@ /* flash driver structure */ flash_driver_t intel32_flash_driver = { - flash_erase: flash_erase_intel32, - flash_write: flash_write_intel32, + erase: flash_erase_intel32, + write: flash_write_intel32, }; Index: nullflash.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/nullflash.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- nullflash.c 2001/10/21 21:42:09 1.2 +++ nullflash.c 2001/10/25 09:59:23 1.3 @@ -37,7 +37,7 @@ { #ifdef BLOB_DEBUG printerrprefix(); - SerialOutputString("No flash_erase() function\n"); + SerialOutputString("No flash erase() function\n"); #endif return -EFLASHERASE; } @@ -49,7 +49,7 @@ { #ifdef BLOB_DEBUG printerrprefix(); - SerialOutputString("No flash_write() function\n"); + SerialOutputString("No flash write() function\n"); #endif return -EFLASHPGM; } @@ -59,6 +59,6 @@ /* flash driver structure */ flash_driver_t null_flash_driver = { - flash_erase: flash_erase_null, - flash_write: flash_write_null, + erase: flash_erase_null, + write: flash_write_null, }; |
From: Erik M. <er...@us...> - 2001-10-25 09:59:26
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv21403/include/blob Modified Files: flash.h Log Message: Just a couple of cosmetical changes Index: flash.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/flash.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- flash.h 2001/10/24 12:28:25 1.5 +++ flash.h 2001/10/25 09:59:23 1.6 @@ -47,8 +47,8 @@ typedef int (*flash_write_func_t)(u32 *, const u32 *); typedef struct { - flash_erase_func_t flash_erase; - flash_write_func_t flash_write; + flash_erase_func_t erase; + flash_write_func_t write; } flash_driver_t; /* implemented flash drivers */ |
From: Erik M. <er...@us...> - 2001-10-25 09:28:06
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv15454/src/blob Modified Files: assabet.c Log Message: It helps a *lot* if you enable the RS232 tranceiver on the Assabet... Index: assabet.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/assabet.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- assabet.c 2001/10/21 21:38:34 1.3 +++ assabet.c 2001/10/25 09:28:04 1.4 @@ -55,3 +55,19 @@ } __initlist(init_assabet_flash_driver, INIT_LEVEL_OTHER_STUFF); + + + + +#define RS232_ENABLE 0x00001000 +#define GREEN_LED_ENABLE 0x00004000 + +static void assabet_init_bcr(void) +{ + u32 *bcr = (u32 *)0x12000000; + + *bcr = RS232_ENABLE | GREEN_LED_ENABLE; +} + + +__initlist(assabet_init_bcr, INIT_LEVEL_INITIAL_HARDWARE); |
From: Erik M. <er...@us...> - 2001-10-25 09:27:37
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv15346/src/blob Modified Files: memsetup-sa1110.S Log Message: minor adjustments to the Assabet memory setup Index: memsetup-sa1110.S =================================================================== RCS file: /cvsroot/blob/blob/src/blob/memsetup-sa1110.S,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- memsetup-sa1110.S 2001/10/07 15:51:01 1.1 +++ memsetup-sa1110.S 2001/10/25 09:27:34 1.2 @@ -43,6 +43,7 @@ #include <blob/memsetup.h> + .text MEM_REG_BASE: .long 0xa0000000 MEM_START: .long 0xc0000000 @@ -53,10 +54,10 @@ .long 0xAAAAAA7F /* 0x04 MDCAS00 */ .long 0xAAAAAAAA /* 0x08 MDCAS01 */ .long 0xAAAAAAAA /* 0x0c MDCAS02 */ - .long 0x4b904b90 /* 0x10 MCS0 */ + .long 0x4b384370 /* 0x10 MCS0 */ .long 0x22212419 /* 0x14 MCS1 */ .long 0x994a994a /* 0x18 MECR */ - .long 0x4dbc0317 /* 0x1C MDREFR */ + .long 0x49fc0327 /* 0x1C MDREFR */ .long 0xAAAAAA7F /* 0x20 MDCAS20 */ .long 0xAAAAAAAA /* 0x24 MDCAS21 */ .long 0xAAAAAAAA /* 0x28 MDCAS22 */ |