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...> - 2002-04-30 19:00:37
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv23823 Modified Files: pcmcia.c Log Message: - BUGFIX: MEMb() macro was using u16 instead of u8. - corrected the previous checked in fixes Index: pcmcia.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/pcmcia.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- pcmcia.c 29 Apr 2002 18:13:36 -0000 1.5 +++ pcmcia.c 30 Apr 2002 19:00:29 -0000 1.6 @@ -24,6 +24,10 @@ * $Id$ * * $Log$ + * Revision 1.6 2002/04/30 19:00:29 seletz + * - BUGFIX: MEMb() macro was using u16 instead of u8. + * - corrected the previous checked in fixes + * * Revision 1.5 2002/04/29 18:13:36 choover * fix -Wall warnings * @@ -73,7 +77,7 @@ #define WEAK_SYM __attribute__ (( weak )) #define MEM(adr) (*((u32 *)(adr))) -#define MEMb(adr) (*((u16 *)(adr))) +#define MEMb(adr) (*((u8 *)(adr))) #define SET(reg,bit) ((reg) |= (1<<(bit))) #define CLR(reg,bit) ((reg) &= ~(1<<(bit))) @@ -438,7 +442,7 @@ case CISTPL_CONFIG: config_base = (*(p+6) << 8) + (*(p+4)); pcmcia_slots[slot].config_base = config_base; - _DBG( "%s: config_base=%p\n", __FUNCTION__, &config_base ); + _DBG( "%s: config_base=0x%04x\n", __FUNCTION__, config_base ); default: break; } @@ -497,8 +501,8 @@ goto DONE; } - _DBG( "%s: base=%p\n", __FUNCTION__, &(pcmcia_slots[slot].base)); - _DBG( "%s: attr_base=%p\n", __FUNCTION__, &(pcmcia_slots[slot].attr_base)); + _DBG( "%s: base=%p\n", __FUNCTION__, (void *)pcmcia_slots[slot].base); + _DBG( "%s: attr_base=%p\n", __FUNCTION__, (void *)pcmcia_slots[slot].attr_base); if ( base ) *base = pcmcia_slots[slot].base; if ( attr ) *attr = pcmcia_slots[slot].attr_base; |
From: Tim R. <Ti...@Ri...> - 2002-04-30 01:57:57
|
I intend to remove it once I get things working. I should only bloat you if you have --enable-{jffs2|cramfs|zImage} all of which need testing before being deployed. Erik Mouw wrote: > > On Sat, Apr 27, 2002 at 04:19:22AM -0700, Tim Riker wrote: > > Update of /cvsroot/blob/blob/src/blob > > In directory usw-pr-cvs1:/tmp/cvs-serv17007/src/blob > > > > Modified Files: > > load_kernel.c > > Log Message: > > display md5 to debug loading > > I keep on saying this: only do MD5 when the user *explicitly* asked for > it with --enable-md5. > > Erik > > -- > J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty > of Information Technology and Systems, Delft University of Technology, > PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 > Fax: +31-15-2781843 Email: J.A...@it... > WWW: http://www-ict.its.tudelft.nl/~erik/ -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Erik M. <J.A...@it...> - 2002-04-29 21:55:06
|
On Mon, Apr 29, 2002 at 10:40:18AM +0200, Stefan Eletzhofer wrote: > On Fri, Apr 26, 2002 at 01:09:03PM -0700, Christopher Hoover wrote: > > > > ide.c compilation fails ... with complaints about SA1111_BASE > > > > i also get a warning about switching to asm/hardware/sa1111.h -- because i'm using a 2.5.x kernel > > Oh well. > > In 2.5 the sa1111 and sa11x0 headerfiles changed yet _again_. > > IMHO it's time to get our own header files (generated by a script > from the kernel header files). > > Opinions? I think we want include/asm-arm/ and include/linux/ (if necessary) and put the necessary headers from a known-good kernel version over there. If the user wants to override that, he can still use the --with-linux-prefix configure flag. Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Erik M. <J.A...@it...> - 2002-04-29 21:51:48
|
On Sat, Apr 27, 2002 at 04:19:22AM -0700, Tim Riker wrote: > Update of /cvsroot/blob/blob/src/blob > In directory usw-pr-cvs1:/tmp/cvs-serv17007/src/blob > > Modified Files: > load_kernel.c > Log Message: > display md5 to debug loading I keep on saying this: only do MD5 when the user *explicitly* asked for it with --enable-md5. Erik -- J.A.K. (Erik) Mouw, Information and Communication Theory Group, Faculty of Information Technology and Systems, Delft University of Technology, PO BOX 5031, 2600 GA Delft, The Netherlands Phone: +31-15-2783635 Fax: +31-15-2781843 Email: J.A...@it... WWW: http://www-ict.its.tudelft.nl/~erik/ |
From: Tim R. <tim...@us...> - 2002-04-29 21:32:47
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv22046/src/blob Modified Files: amd32.c Log Message: amd can be locked, but not supported yet Index: amd32.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/amd32.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- amd32.c 2 Jan 2002 01:23:18 -0000 1.4 +++ amd32.c 29 Apr 2002 21:32:43 -0000 1.5 @@ -185,9 +185,7 @@ static int flash_lock_block_amd32(u32 *blockStart) { - /* FIXME: if AMD flash can be locked, this function should be - * fleshed out -- Erik - */ + /* FIXME: this function should be fleshed out -- Erik */ return 0; } @@ -196,9 +194,7 @@ static int flash_unlock_block_amd32(u32 *blockStart) { - /* FIXME: if AMD flash can be unlocked, this function should - * be fleshed out -- Erik - */ + /* FIXME: this function should be fleshed out -- Erik */ return 0; } @@ -207,9 +203,7 @@ static int flash_query_block_lock_amd32(u32 *blockStart) { - /* FIXME: if AMD flash can be queried, this function should be - * fleshed out -- Erik - */ + /* FIXME: this function should be fleshed out -- Erik */ return 0; } |
From: Christopher H. <ch...@us...> - 2002-04-29 18:13:42
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv9882/src/lib Modified Files: pcmcia.c Log Message: fix -Wall warnings Index: pcmcia.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/pcmcia.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- pcmcia.c 27 Apr 2002 04:59:59 -0000 1.4 +++ pcmcia.c 29 Apr 2002 18:13:36 -0000 1.5 @@ -24,6 +24,9 @@ * $Id$ * * $Log$ + * Revision 1.5 2002/04/29 18:13:36 choover + * fix -Wall warnings + * * Revision 1.4 2002/04/27 04:59:59 timriker * turn on ide and pcmcia again, fix pcmcia compiles (but not features) for non sa1111 systems * @@ -121,7 +124,7 @@ /********************************************************************** * Modulglobale Variable */ -static char *module_version = "$Id$"; +#ident "$Id$" #ifdef PCMCIA_DEBUG static int dbg = 1; @@ -435,7 +438,7 @@ case CISTPL_CONFIG: config_base = (*(p+6) << 8) + (*(p+4)); pcmcia_slots[slot].config_base = config_base; - _DBG( "%s: config_base=%p\n", __FUNCTION__, config_base ); + _DBG( "%s: config_base=%p\n", __FUNCTION__, &config_base ); default: break; } @@ -494,8 +497,8 @@ goto DONE; } - _DBG( "%s: base=%p\n", __FUNCTION__, pcmcia_slots[slot].base); - _DBG( "%s: attr_base=%p\n", __FUNCTION__, pcmcia_slots[slot].attr_base); + _DBG( "%s: base=%p\n", __FUNCTION__, &(pcmcia_slots[slot].base)); + _DBG( "%s: attr_base=%p\n", __FUNCTION__, &(pcmcia_slots[slot].attr_base)); if ( base ) *base = pcmcia_slots[slot].base; if ( attr ) *attr = pcmcia_slots[slot].attr_base; |
From: Christopher H. <ch...@us...> - 2002-04-29 18:08:39
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv7816/src/lib Modified Files: md5support.c Log Message: add util.h include to squelch warning Index: md5support.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/md5support.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- md5support.c 27 Apr 2002 11:18:10 -0000 1.2 +++ md5support.c 29 Apr 2002 18:08:33 -0000 1.3 @@ -32,7 +32,7 @@ #include <blob/md5support.h> #include <blob/serial.h> #include <blob/types.h> - +#include <blob/util.h> |
From: Stefan E. <se...@us...> - 2002-04-29 09:37:16
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv32431 Modified Files: sa1111.h Log Message: - dont include the kernel headers anymore. They changed during 2.4.xx and now they changed in 2.5.xx again. Let's have our own header (created from the kernel header, w/o the physical/virtual address access macros). Index: sa1111.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/sa1111.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- sa1111.h 11 Feb 2002 16:54:23 -0000 1.5 +++ sa1111.h 29 Apr 2002 09:37:11 -0000 1.6 @@ -1,5 +1,6 @@ /* - * sa1111.h: wrapper file to include asm/arch-sa1100/SA-1111.h + * sa1111.h: Defines and macros for accessing the SA1111. Created from + * the kernel source. * * Copyright (C) 2001 Stefan Eletzhofer <ste...@ww...> * @@ -28,18 +29,529 @@ #include <blob/arch.h> -#ifndef SA1111_BASE -# error "Define SA1111_BASE address in architecture specific include file" -#endif +#define SA1111_VBASE 0x40000000 + +/* + * 26 bits of the SA-1110 address bus are available to the SA-1111. + * Use these when feeding target addresses to the DMA engines. + */ +#define MEM_REG(adr) (*((u32 *)(adr))) + +#define SA1111_ADDR_WIDTH (26) +#define SA1111_ADDR_MASK ((1<<SA1111_ADDR_WIDTH)-1) +#define SA1111_DMA_ADDR(x) ((x)&SA1111_ADDR_MASK) + +/* + * Don't ask the (SAC) DMA engines to move less than this amount. + */ + +#define SA1111_SAC_DMA_MIN_XFER (0x800) + +/* + * SA1111 register definitions. + */ +#define SA1111_REG(x) MEM_REG(SA1111_VBASE + (x)) + +/* System Bus Interface (SBI) + * + * Registers + * SKCR Control Register + * SMCR Shared Memory Controller Register + * SKID ID Register + */ +#define SA1111_SKCR 0x0000 +#define SA1111_SMCR 0x0004 +#define SA1111_SKID 0x0008 + +#define SBI_SKCR SA1111_REG(SA1111_SKCR) +#define SBI_SMCR SA1111_REG(SA1111_SMCR) +#define SBI_SKID SA1111_REG(SA1111_SKID) + +#define SKCR_PLL_BYPASS (1<<0) +#define SKCR_RCLKEN (1<<1) +#define SKCR_SLEEP (1<<2) +#define SKCR_DOZE (1<<3) +#define SKCR_VCO_OFF (1<<4) +#define SKCR_SCANTSTEN (1<<5) +#define SKCR_CLKTSTEN (1<<6) +#define SKCR_RDYEN (1<<7) +#define SKCR_SELAC (1<<8) +#define SKCR_OPPC (1<<9) +#define SKCR_PLLTSTEN (1<<10) +#define SKCR_USBIOTSTEN (1<<11) +/* + * Don't believe the specs! Take them, throw them outside. Leave them + * there for a week. Spit on them. Walk on them. Stamp on them. + * Pour gasoline over them and finally burn them. Now think about coding. + * - The October 1999 errata (278260-007) says its bit 13, 1 to enable. + * - The Feb 2001 errata (278260-010) says that the previous errata + * (278260-009) is wrong, and its bit actually 12, fixed in spec + * 278242-003. + * - The SA1111 manual (278242) says bit 12, but 0 to enable. + * - Reality is bit 13, 1 to enable. + * -- rmk + */ +#define SKCR_OE_EN (1<<13) + +#define SMCR_DTIM (1<<0) +#define SMCR_MBGE (1<<1) +#define SMCR_DRAC_0 (1<<2) +#define SMCR_DRAC_1 (1<<3) +#define SMCR_DRAC_2 (1<<4) +#define SMCR_DRAC Fld(3, 2) +#define SMCR_CLAT (1<<5) + +#define SKID_SIREV_MASK (0x000000f0) +#define SKID_MTREV_MASK (0x0000000f) +#define SKID_ID_MASK (0xffffff00) +#define SKID_SA1111_ID (0x690cc200) + +/* + * System Controller + * + * Registers + * SKPCR Power Control Register + * SKCDR Clock Divider Register + * SKAUD Audio Clock Divider Register + * SKPMC PS/2 Mouse Clock Divider Register + * SKPTC PS/2 Track Pad Clock Divider Register + * SKPEN0 PWM0 Enable Register + * SKPWM0 PWM0 Clock Register + * SKPEN1 PWM1 Enable Register + * SKPWM1 PWM1 Clock Register + */ + +#define SKPCR SA1111_REG(0x0200) +#define SKCDR SA1111_REG(0x0204) +#define SKAUD SA1111_REG(0x0208) +#define SKPMC SA1111_REG(0x020c) +#define SKPTC SA1111_REG(0x0210) +#define SKPEN0 SA1111_REG(0x0214) +#define SKPWM0 SA1111_REG(0x0218) +#define SKPEN1 SA1111_REG(0x021c) +#define SKPWM1 SA1111_REG(0x0220) + +#define SKPCR_UCLKEN (1<<0) +#define SKPCR_ACCLKEN (1<<1) +#define SKPCR_I2SCLKEN (1<<2) +#define SKPCR_L3CLKEN (1<<3) +#define SKPCR_SCLKEN (1<<4) +#define SKPCR_PMCLKEN (1<<5) +#define SKPCR_PTCLKEN (1<<6) +#define SKPCR_DCLKEN (1<<7) +#define SKPCR_PWMCLKEN (1<<8) + +/* + * USB Host controller + */ + +#define USB_OHCI_OP_BASE SA1111_REG(0x0400) +#define USB_STATUS SA1111_REG(0x0518) +#define USB_RESET SA1111_REG(0x051c) +#define USB_INTERRUPTEST SA1111_REG(0x0520) + +#define USB_RESET_FORCEIFRESET (1 << 0) +#define USB_RESET_FORCEHCRESET (1 << 1) +#define USB_RESET_CLKGENRESET (1 << 2) +#define USB_RESET_SIMSCALEDOWN (1 << 3) +#define USB_RESET_USBINTTEST (1 << 4) +#define USB_RESET_SLEEPSTBYEN (1 << 5) +#define USB_RESET_PWRSENSELOW (1 << 6) +#define USB_RESET_PWRCTRLLOW (1 << 7) + +/* + * Serial Audio Controller + * + * Registers + * SACR0 Serial Audio Common Control Register + * SACR1 Serial Audio Alternate Mode (I2C/MSB) Control Register + * SACR2 Serial Audio AC-link Control Register + * SASR0 Serial Audio I2S/MSB Interface & FIFO Status Register + * SASR1 Serial Audio AC-link Interface & FIFO Status Register + * SASCR Serial Audio Status Clear Register + * L3_CAR L3 Control Bus Address Register + * L3_CDR L3 Control Bus Data Register + * ACCAR AC-link Command Address Register + * ACCDR AC-link Command Data Register + * ACSAR AC-link Status Address Register + * ACSDR AC-link Status Data Register + * SADTCS Serial Audio DMA Transmit Control/Status Register + * SADTSA Serial Audio DMA Transmit Buffer Start Address A + * SADTCA Serial Audio DMA Transmit Buffer Count Register A + * SADTSB Serial Audio DMA Transmit Buffer Start Address B + * SADTCB Serial Audio DMA Transmit Buffer Count Register B + * SADRCS Serial Audio DMA Receive Control/Status Register + * SADRSA Serial Audio DMA Receive Buffer Start Address A + * SADRCA Serial Audio DMA Receive Buffer Count Register A + * SADRSB Serial Audio DMA Receive Buffer Start Address B + * SADRCB Serial Audio DMA Receive Buffer Count Register B + * SAITR Serial Audio Interrupt Test Register + * SADR Serial Audio Data Register (16 x 32-bit) + */ + +#define SACR0 SA1111_REG(0x0600) +#define SACR1 SA1111_REG(0x0604) +#define SACR2 SA1111_REG(0x0608) +#define SASR0 SA1111_REG(0x060c) +#define SASR1 SA1111_REG(0x0610) +#define SASCR SA1111_REG(0x0618) +#define L3_CAR SA1111_REG(0x061c) +#define L3_CDR SA1111_REG(0x0620) +#define ACCAR SA1111_REG(0x0624) +#define ACCDR SA1111_REG(0x0628) +#define ACSAR SA1111_REG(0x062c) +#define ACSDR SA1111_REG(0x0630) +#define SADTCS SA1111_REG(0x0634) +#define SADTSA SA1111_REG(0x0638) +#define SADTCA SA1111_REG(0x063c) +#define SADTSB SA1111_REG(0x0640) +#define SADTCB SA1111_REG(0x0644) +#define SADRCS SA1111_REG(0x0648) +#define SADRSA SA1111_REG(0x064c) +#define SADRCA SA1111_REG(0x0650) +#define SADRSB SA1111_REG(0x0654) +#define SADRCB SA1111_REG(0x0658) +#define SAITR SA1111_REG(0x065c) +#define SADR SA1111_REG(0x0680) + +#define SACR0_ENB (1<<0) +#define SACR0_BCKD (1<<2) +#define SACR0_RST (1<<3) + +#define SACR1_AMSL (1<<0) +#define SACR1_L3EN (1<<1) +#define SACR1_L3MB (1<<2) +#define SACR1_DREC (1<<3) +#define SACR1_DRPL (1<<4) +#define SACR1_ENLBF (1<<5) + +#define SACR2_TS3V (1<<0) +#define SACR2_TS4V (1<<1) +#define SACR2_WKUP (1<<2) +#define SACR2_DREC (1<<3) +#define SACR2_DRPL (1<<4) +#define SACR2_ENLBF (1<<5) +#define SACR2_RESET (1<<6) + +#define SASR0_TNF (1<<0) +#define SASR0_RNE (1<<1) +#define SASR0_BSY (1<<2) +#define SASR0_TFS (1<<3) +#define SASR0_RFS (1<<4) +#define SASR0_TUR (1<<5) +#define SASR0_ROR (1<<6) +#define SASR0_L3WD (1<<16) +#define SASR0_L3RD (1<<17) + +#define SASR1_TNF (1<<0) +#define SASR1_RNE (1<<1) +#define SASR1_BSY (1<<2) +#define SASR1_TFS (1<<3) +#define SASR1_RFS (1<<4) +#define SASR1_TUR (1<<5) +#define SASR1_ROR (1<<6) +#define SASR1_CADT (1<<16) +#define SASR1_SADR (1<<17) +#define SASR1_RSTO (1<<18) +#define SASR1_CLPM (1<<19) +#define SASR1_CRDY (1<<20) +#define SASR1_RS3V (1<<21) +#define SASR1_RS4V (1<<22) + +#define SASCR_TUR (1<<5) +#define SASCR_ROR (1<<6) +#define SASCR_DTS (1<<16) +#define SASCR_RDD (1<<17) +#define SASCR_STO (1<<18) + +#define SADTCS_TDEN (1<<0) +#define SADTCS_TDIE (1<<1) +#define SADTCS_TDBDA (1<<3) +#define SADTCS_TDSTA (1<<4) +#define SADTCS_TDBDB (1<<5) +#define SADTCS_TDSTB (1<<6) +#define SADTCS_TBIU (1<<7) + +#define SADRCS_RDEN (1<<0) +#define SADRCS_RDIE (1<<1) +#define SADRCS_RDBDA (1<<3) +#define SADRCS_RDSTA (1<<4) +#define SADRCS_RDBDB (1<<5) +#define SADRCS_RDSTB (1<<6) +#define SADRCS_RBIU (1<<7) + +#define SAD_CS_DEN (1<<0) +#define SAD_CS_DIE (1<<1) /* Not functional on metal 1 */ +#define SAD_CS_DBDA (1<<3) /* Not functional on metal 1 */ +#define SAD_CS_DSTA (1<<4) +#define SAD_CS_DBDB (1<<5) /* Not functional on metal 1 */ +#define SAD_CS_DSTB (1<<6) +#define SAD_CS_BIU (1<<7) /* Not functional on metal 1 */ + +#define SAITR_TFS (1<<0) +#define SAITR_RFS (1<<1) +#define SAITR_TUR (1<<2) +#define SAITR_ROR (1<<3) +#define SAITR_CADT (1<<4) +#define SAITR_SADR (1<<5) +#define SAITR_RSTO (1<<6) +#define SAITR_TDBDA (1<<8) +#define SAITR_TDBDB (1<<9) +#define SAITR_RDBDA (1<<10) +#define SAITR_RDBDB (1<<11) + +/* + * General-Purpose I/O Interface + * + * Registers + * PA_DDR GPIO Block A Data Direction + * PA_DRR/PA_DWR GPIO Block A Data Value Register (read/write) + * PA_SDR GPIO Block A Sleep Direction + * PA_SSR GPIO Block A Sleep State + * PB_DDR GPIO Block B Data Direction + * PB_DRR/PB_DWR GPIO Block B Data Value Register (read/write) + * PB_SDR GPIO Block B Sleep Direction + * PB_SSR GPIO Block B Sleep State + * PC_DDR GPIO Block C Data Direction + * PC_DRR/PC_DWR GPIO Block C Data Value Register (read/write) + * PC_SDR GPIO Block C Sleep Direction + * PC_SSR GPIO Block C Sleep State + */ + +#define PA_DDR SA1111_REG(0x1000) +#define PA_DRR SA1111_REG(0x1004) +#define PA_DWR SA1111_REG(0x1004) +#define PA_SDR SA1111_REG(0x1008) +#define PA_SSR SA1111_REG(0x100c) +#define PB_DDR SA1111_REG(0x1010) +#define PB_DRR SA1111_REG(0x1014) +#define PB_DWR SA1111_REG(0x1014) +#define PB_SDR SA1111_REG(0x1018) +#define PB_SSR SA1111_REG(0x101c) +#define PC_DDR SA1111_REG(0x1020) +#define PC_DRR SA1111_REG(0x1024) +#define PC_DWR SA1111_REG(0x1024) +#define PC_SDR SA1111_REG(0x1028) +#define PC_SSR SA1111_REG(0x102c) + +/* + * Interrupt Controller + * + * Registers + * INTTEST0 Test register 0 + * INTTEST1 Test register 1 + * INTEN0 Interrupt Enable register 0 + * INTEN1 Interrupt Enable register 1 + * INTPOL0 Interrupt Polarity selection 0 + * INTPOL1 Interrupt Polarity selection 1 + * INTTSTSEL Interrupt source selection + * INTSTATCLR0 Interrupt Status/Clear 0 + * INTSTATCLR1 Interrupt Status/Clear 1 + * INTSET0 Interrupt source set 0 + * INTSET1 Interrupt source set 1 + * WAKE_EN0 Wake-up source enable 0 + * WAKE_EN1 Wake-up source enable 1 + * WAKE_POL0 Wake-up polarity selection 0 + * WAKE_POL1 Wake-up polarity selection 1 + */ + +#define SA1111_INTTEST0 0x1600 +#define SA1111_INTTEST1 0x1604 +#define SA1111_INTEN0 0x1608 +#define SA1111_INTEN1 0x160c +#define SA1111_INTPOL0 0x1610 +#define SA1111_INTPOL1 0x1614 +#define SA1111_INTTSTSEL 0x1618 +#define SA1111_INTSTATCLR0 0x161c +#define SA1111_INTSTATCLR1 0x1620 +#define SA1111_INTSET0 0x1624 +#define SA1111_INTSET1 0x1628 +#define SA1111_WAKE_EN0 0x162c +#define SA1111_WAKE_EN1 0x1630 +#define SA1111_WAKE_POL0 0x1634 +#define SA1111_WAKE_POL1 0x1638 + +#define INTTEST0 SA1111_REG(SA1111_INTTEST0) +#define INTTEST1 SA1111_REG(SA1111_INTTEST1) +#define INTEN0 SA1111_REG(SA1111_INTEN0) +#define INTEN1 SA1111_REG(SA1111_INTEN1) +#define INTPOL0 SA1111_REG(SA1111_INTPOL0) +#define INTPOL1 SA1111_REG(SA1111_INTPOL1) +#define INTTSTSEL SA1111_REG(SA1111_INTTSTSEL) +#define INTSTATCLR0 SA1111_REG(SA1111_INTSTATCLR0) +#define INTSTATCLR1 SA1111_REG(SA1111_INTSTATCLR1) +#define INTSET0 SA1111_REG(SA1111_INTSET0) +#define INTSET1 SA1111_REG(SA1111_INTSET1) +#define WAKE_EN0 SA1111_REG(SA1111_WAKE_EN0) +#define WAKE_EN1 SA1111_REG(SA1111_WAKE_EN1) +#define WAKE_POL0 SA1111_REG(SA1111_WAKE_POL0) +#define WAKE_POL1 SA1111_REG(SA1111_WAKE_POL1) + +/* + * PS/2 Trackpad and Mouse Interfaces + * + * Registers (prefix kbd applies to trackpad interface, mse to mouse) + * KBDCR Control Register + * KBDSTAT Status Register + * KBDDATA Transmit/Receive Data register + * KBDCLKDIV Clock Division Register + * KBDPRECNT Clock Precount Register + * KBDTEST1 Test register 1 + * KBDTEST2 Test register 2 + * KBDTEST3 Test register 3 + * KBDTEST4 Test register 4 + * MSECR + * MSESTAT + * MSEDATA + * MSECLKDIV + * MSEPRECNT + * MSETEST1 + * MSETEST2 + * MSETEST3 + * MSETEST4 + * + */ + +#define KBDCR SA1111_REG(0x0a00) +#define KBDSTAT SA1111_REG(0x0a04) +#define KBDDATA SA1111_REG(0x0a08) +#define KBDCLKDIV SA1111_REG(0x0a0c) +#define KBDPRECNT SA1111_REG(0x0a10) +#define MSECR SA1111_REG(0x0c00) +#define MSESTAT SA1111_REG(0x0c04) +#define MSEDATA SA1111_REG(0x0c08) +#define MSECLKDIV SA1111_REG(0x0c0c) +#define MSEPRECNT SA1111_REG(0x0c10) + +#define KBDCR_ENA 0x08 +#define KBDCR_FKD 0x02 +#define KBDCR_FKC 0x01 + +#define KBDSTAT_TXE 0x80 +#define KBDSTAT_TXB 0x40 +#define KBDSTAT_RXF 0x20 +#define KBDSTAT_RXB 0x10 +#define KBDSTAT_ENA 0x08 +#define KBDSTAT_RXP 0x04 +#define KBDSTAT_KBD 0x02 +#define KBDSTAT_KBC 0x01 + +#define KBDCLKDIV_DivVal Fld(4,0) + +#define MSECR_ENA 0x08 +#define MSECR_FKD 0x02 +#define MSECR_FKC 0x01 + +#define MSESTAT_TXE 0x80 +#define MSESTAT_TXB 0x40 +#define MSESTAT_RXF 0x20 +#define MSESTAT_RXB 0x10 +#define MSESTAT_ENA 0x08 +#define MSESTAT_RXP 0x04 +#define MSESTAT_MSD 0x02 +#define MSESTAT_MSC 0x01 + +#define MSECLKDIV_DivVal Fld(4,0) + +#define KBDTEST1_CD 0x80 +#define KBDTEST1_RC1 0x40 +#define KBDTEST1_MC 0x20 +#define KBDTEST1_C Fld(2,3) +#define KBDTEST1_T2 0x40 +#define KBDTEST1_T1 0x20 +#define KBDTEST1_T0 0x10 +#define KBDTEST2_TICBnRES 0x08 +#define KBDTEST2_RKC 0x04 +#define KBDTEST2_RKD 0x02 +#define KBDTEST2_SEL 0x01 +#define KBDTEST3_ms_16 0x80 +#define KBDTEST3_us_64 0x40 +#define KBDTEST3_us_16 0x20 +#define KBDTEST3_DIV8 0x10 +#define KBDTEST3_DIn 0x08 +#define KBDTEST3_CIn 0x04 +#define KBDTEST3_KD 0x02 +#define KBDTEST3_KC 0x01 +#define KBDTEST4_BC12 0x80 +#define KBDTEST4_BC11 0x40 +#define KBDTEST4_TRES 0x20 +#define KBDTEST4_CLKOE 0x10 +#define KBDTEST4_CRES 0x08 +#define KBDTEST4_RXB 0x04 +#define KBDTEST4_TXB 0x02 +#define KBDTEST4_SRX 0x01 + +#define MSETEST1_CD 0x80 +#define MSETEST1_RC1 0x40 +#define MSETEST1_MC 0x20 +#define MSETEST1_C Fld(2,3) +#define MSETEST1_T2 0x40 +#define MSETEST1_T1 0x20 +#define MSETEST1_T0 0x10 +#define MSETEST2_TICBnRES 0x08 +#define MSETEST2_RKC 0x04 +#define MSETEST2_RKD 0x02 +#define MSETEST2_SEL 0x01 +#define MSETEST3_ms_16 0x80 +#define MSETEST3_us_64 0x40 +#define MSETEST3_us_16 0x20 +#define MSETEST3_DIV8 0x10 +#define MSETEST3_DIn 0x08 +#define MSETEST3_CIn 0x04 +#define MSETEST3_KD 0x02 +#define MSETEST3_KC 0x01 +#define MSETEST4_BC12 0x80 +#define MSETEST4_BC11 0x40 +#define MSETEST4_TRES 0x20 +#define MSETEST4_CLKOE 0x10 +#define MSETEST4_CRES 0x08 +#define MSETEST4_RXB 0x04 +#define MSETEST4_TXB 0x02 +#define MSETEST4_SRX 0x01 + +/* + * PCMCIA Interface + * + * Registers + * PCSR Status Register + * PCCR Control Register + * PCSSR Sleep State Register + */ + -#define SA1111_p2v(x) (x) -#define SA1101_p2v(PhAdd) (PhAdd) -#define io_p2v(x) (x) -#define __REG(x) (*((volatile u32 *)io_p2v(x))) -#define __REGP(x) (*((volatile u32 *)io_p2v(x))) -/* Tell SA-1111.h to shut up; we're including it anyway. Nyah nyah ;-) */ -#define __ASM_ARCH_HARDWARE_H -#include <asm-arm/arch-sa1100/SA-1111.h> + + +#define PCCR SA1111_REG(0x1800) +#define PCSSR SA1111_REG(0x1804) +#define PCSR SA1111_REG(0x1808) + +#define PCSR_S0_READY (1<<0) +#define PCSR_S1_READY (1<<1) +#define PCSR_S0_DETECT (1<<2) +#define PCSR_S1_DETECT (1<<3) +#define PCSR_S0_VS1 (1<<4) +#define PCSR_S0_VS2 (1<<5) +#define PCSR_S1_VS1 (1<<6) +#define PCSR_S1_VS2 (1<<7) +#define PCSR_S0_WP (1<<8) +#define PCSR_S1_WP (1<<9) +#define PCSR_S0_BVD1 (1<<10) +#define PCSR_S0_BVD2 (1<<11) +#define PCSR_S1_BVD1 (1<<12) +#define PCSR_S1_BVD2 (1<<13) + +#define PCCR_S0_RST (1<<0) +#define PCCR_S1_RST (1<<1) +#define PCCR_S0_FLT (1<<2) +#define PCCR_S1_FLT (1<<3) +#define PCCR_S0_PWAITEN (1<<4) +#define PCCR_S1_PWAITEN (1<<5) +#define PCCR_S0_PSE (1<<6) +#define PCCR_S1_PSE (1<<7) + +#define PCSSR_S0_SLEEP (1<<0) +#define PCSSR_S1_SLEEP (1<<1) #endif + |
From: Stefan E. <ste...@el...> - 2002-04-29 08:40:24
|
On Fri, Apr 26, 2002 at 01:09:03PM -0700, Christopher Hoover wrote: > > ide.c compilation fails ... with complaints about SA1111_BASE > > i also get a warning about switching to asm/hardware/sa1111.h -- because i'm using a 2.5.x kernel Oh well. In 2.5 the sa1111 and sa11x0 headerfiles changed yet _again_. IMHO it's time to get our own header files (generated by a script from the kernel header files). Opinions? > > -ch > > > _______________________________________________ > blob-cvs-commit mailing list > blo...@li... > https://lists.sourceforge.net/lists/listinfo/blob-cvs-commit -- Eletztrick Computing - Customized Linux Development Stefan Eletzhofer Gottlieb-Daimler-Strasse 10 88214 Ravensburg GERMANY http://www.eletztrick.de |
From: Christopher H. <ch...@us...> - 2002-04-29 08:15:20
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv8283/include/blob Modified Files: pcmcia.h Log Message: Define PCMCIA symbols for BADGE4; otherwise build fails. Index: pcmcia.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/pcmcia.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- pcmcia.h 27 Apr 2002 04:59:59 -0000 1.5 +++ pcmcia.h 29 Apr 2002 08:15:17 -0000 1.6 @@ -76,7 +76,7 @@ */ #define PCMCIA_MAX_SLOTS 2 -#if defined(PT_SYSTEM3) || defined(IDR) || defined(SHANNON) +#if defined(BADGE4) || defined(IDR) || defined(PT_SYSTEM3) || defined(SHANNON) # define PCMCIA_S0_BASE 0x20000000 # define PCMCIA_S0_ATTR_BASE 0x28000000 # define PCMCIA_S1_BASE 0x30000000 |
From: Tim R. <Ti...@Ri...> - 2002-04-27 23:12:52
|
no idea. still investigating. Russ Dill wrote: > > On Sat, 2002-04-27 at 04:33, Tim Riker wrote: > > There were a few places in blob that were using md5s and expecting to > > put the results in a u32. md5 digests are 4 u32s. > > > > load_kernel is now used instead of a raw copy if you --enable jffs2, > > cramfs or zImage. > > > > There is a bug someplace at least with shannon. When the image is loaded > > at boot the md5 is different that if you just type "load kernel". > > > > and the image loaded on boot fails to decompress, but a manually loaded > > image boots. > > > > thats a bit confusing, why would the rootfs be the place where there is > a difference? -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Russ D. <Rus...@as...> - 2002-04-27 22:36:02
|
On Sat, 2002-04-27 at 04:33, Tim Riker wrote: > There were a few places in blob that were using md5s and expecting to > put the results in a u32. md5 digests are 4 u32s. > > load_kernel is now used instead of a raw copy if you --enable jffs2, > cramfs or zImage. > > There is a bug someplace at least with shannon. When the image is loaded > at boot the md5 is different that if you just type "load kernel". > > and the image loaded on boot fails to decompress, but a manually loaded > image boots. > thats a bit confusing, why would the rootfs be the place where there is a difference? |
From: Russ D. <Rus...@as...> - 2002-04-27 22:33:03
|
On Sat, 2002-04-27 at 02:13, Tim Riker wrote: > I just did: > > blob> erase kernel > erasing dirty block at 0x00020000 > erasing dirty block at 0x00040000 > erasing dirty block at 0x00060000 > erasing dirty block at 0x00080000 > erasing dirty block at 0x000a0000 > erasing dirty block at 0x000c0000 > erasing dirty block at 0x000e0000 > blob> erase ramdisk > erasing dirty block at 0x00100000 > time for an audit on the AMD flash code, until then, don't erase the kernel and ramdisk without reseting. |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:22
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv16839/src/lib Modified Files: md5support.c Log Message: ugh.. use printf so user space testing works Index: md5support.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/md5support.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- md5support.c 6 Jan 2002 18:59:40 -0000 1.1 +++ md5support.c 27 Apr 2002 11:18:10 -0000 1.2 @@ -53,7 +53,7 @@ else c += '0'; - serial_write(c); + printf("%c",c); c = d[i] & 0x0f; if(c > 9) @@ -61,7 +61,7 @@ else c += '0'; - serial_write(c); + printf("%c",c); } return i; |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:22
|
Update of /cvsroot/blob/blob/utils/test In directory usw-pr-cvs1:/tmp/cvs-serv16914/utils/test Modified Files: Makefile.am Log Message: test md5 Index: Makefile.am =================================================================== RCS file: /cvsroot/blob/blob/utils/test/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 27 Apr 2002 06:53:26 -0000 1.3 +++ Makefile.am 27 Apr 2002 11:18:44 -0000 1.4 @@ -6,6 +6,8 @@ load_kernel_test_OBJECTS = \ load_kernel_test.o \ load_kernel.o \ +md5.o \ +md5support.o \ mini_inflate.o \ error.o \ util.o \ @@ -18,6 +20,8 @@ EXTRA_load_kernel_test_SOURCES = \ load_kernel.c \ +md5.c \ +md5support.c \ mini_inflate.c \ error.c \ util.c \ @@ -47,7 +51,7 @@ load_kernel_test: $(load_kernel_test_OBJECTS) gcc $(CFLAGS) -o $@ $(load_kernel_test_OBJECTS) -$(load_kernel_test_extra_SOURCES): +$(EXTRA_load_kernel_test_SOURCES): ln -s ../../src/*/$@ CLEANFILE = load_kernel_test *~ |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:21
|
Update of /cvsroot/blob/blob/src/commands In directory usw-pr-cvs1:/tmp/cvs-serv16634/src/commands Modified Files: md5chk.c Log Message: digest is 4 u32s Index: md5chk.c =================================================================== RCS file: /cvsroot/blob/blob/src/commands/md5chk.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- md5chk.c 17 Apr 2002 19:39:51 -0000 1.2 +++ md5chk.c 27 Apr 2002 11:16:55 -0000 1.3 @@ -60,7 +60,7 @@ { int ret = 0; u32 address, len; - u32 digest; + u32 digest[4]; if ( argc < 3 ) ERR( -EINVAL ); @@ -76,9 +76,9 @@ dprintf("adr=0x%08x, len=0x%08x\n", address, len ); - md5_buffer( (const char *)address, len, &digest ); + md5_buffer( (const char *)address, len, digest ); - print_md5_digest(&digest); + print_md5_digest(digest); serial_write( '\n' ); |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:20
|
Update of /cvsroot/blob/blob/src/commands In directory usw-pr-cvs1:/tmp/cvs-serv16509/src/commands Modified Files: dlfile.c Log Message: digest is 4 u32s Index: dlfile.c =================================================================== RCS file: /cvsroot/blob/blob/src/commands/dlfile.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- dlfile.c 17 Apr 2002 19:39:51 -0000 1.1 +++ dlfile.c 27 Apr 2002 11:16:26 -0000 1.2 @@ -65,7 +65,7 @@ { int ret = 0; u32 address, len; - u32 digest; + u32 digest[4]; if ( argc < 3 ) ERR( -EINVAL ); @@ -121,9 +121,9 @@ } /* do a md5 sum of the downloaded data */ - md5_buffer( (const char *)address, len, &digest ); + md5_buffer( (const char *)address, len, digest ); SerialOutputString("md5 checksum: "); - print_md5_digest(&digest); + print_md5_digest(digest); serial_write( '\n' ); |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:18
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv17007/src/blob Modified Files: load_kernel.c Log Message: display md5 to debug loading Index: load_kernel.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/load_kernel.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- load_kernel.c 27 Apr 2002 10:26:50 -0000 1.5 +++ load_kernel.c 27 Apr 2002 11:19:20 -0000 1.6 @@ -38,6 +38,8 @@ #include <blob/error.h> #include <blob/load_kernel.h> #include <blob/util.h> +#include <blob/md5.h> +#include <blob/md5support.h> #ifdef CONFIG_CRAMFS_SUPPORT extern struct kernel_loader cramfs_load; @@ -77,6 +79,7 @@ { int i; u32 size; + u32 digest[4]; for (i = 0; loader[i] && !loader[i]->check_magic(part); i++) ; @@ -99,6 +102,9 @@ blob_status->kernelType = fromFlash; printf("loaded 0x%08x (%d) bytes\n", size, size); + md5_buffer( (const char *)KERNEL_RAM_BASE, size, &digest[0] ); + print_md5_digest(&digest[0]); + printf("\n"); return(ENOERROR); } |
From: Tim R. <tim...@us...> - 2002-04-27 12:38:10
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv16760/src/lib Modified Files: md5.c Log Message: add blob path Index: md5.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/md5.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- md5.c 6 Jan 2002 18:59:40 -0000 1.1 +++ md5.c 27 Apr 2002 11:17:42 -0000 1.2 @@ -24,7 +24,7 @@ /* Written by Ulrich Drepper <dr...@gn...>, 1995. */ #ifdef HAVE_CONFIG_H -# include <config.h> +# include <blob/config.h> #endif #include <blob/md5.h> |
From: Tim R. <Ti...@Ri...> - 2002-04-27 11:35:12
|
There were a few places in blob that were using md5s and expecting to put the results in a u32. md5 digests are 4 u32s. load_kernel is now used instead of a raw copy if you --enable jffs2, cramfs or zImage. There is a bug someplace at least with shannon. When the image is loaded at boot the md5 is different that if you just type "load kernel". and the image loaded on boot fails to decompress, but a manually loaded image boots. I'm getting: Kernel command line: console=ttySA0,115200 console=tty1 root=/dev/mtdblock1 init=/linuxrc ... Using static partition definition Creating 2 MTD partitions on "SA1100 flash": 0x00000000-0x00020000 : "BLOB boot loader" 0x00020000-0x00400000 : "rootfs" ... Freeing init memory: 72K jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000300: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000304: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000308: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000030c: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000310: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000314: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000318: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0000031c: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000320: 0x0071 instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x00000324: 0x0071 instead Further such events for this erase block will not be printed on shannon with a fixed up kernel and a valid jffs2 filesystem on mtdblock1 can't find the 0x0071 anywhere. thoughts? -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Tim R. <tim...@us...> - 2002-04-27 10:34:01
|
Update of /cvsroot/blob/blob/include/blob/arch In directory usw-pr-cvs1:/tmp/cvs-serv7626/include/blob/arch Modified Files: shannon.h Log Message: use load_kernel if any of zimage, jffs2, cramfs are defined Index: shannon.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/arch/shannon.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- shannon.h 17 Apr 2002 05:32:40 -0000 1.11 +++ shannon.h 27 Apr 2002 10:26:49 -0000 1.12 @@ -91,11 +91,18 @@ #define BLOB_FLASH_LEN (64 * 1024) #define PARAM_FLASH_BASE (BLOB_FLASH_BASE + BLOB_FLASH_LEN) #define PARAM_FLASH_LEN (64 * 1024) -#define KERNEL_FLASH_BASE (PARAM_FLASH_BASE + PARAM_FLASH_LEN) -#define KERNEL_FLASH_LEN ((1024 - 128) * 1024) +#define KERNEL_FLASH_LEN ((1024 - 128) * 1024) /* RAM_LEN if load_kernel */ #define LOAD_RAMDISK 0 /* leave ramdisk in flash */ + +#if defined(CONFIG_CRAMFS_SUPPORT) || defined(CONFIG_JFFS2_SUPPORT) +#define KERNEL_FLASH_BASE (PARAM_FLASH_BASE + PARAM_FLASH_LEN) +#define RAMDISK_FLASH_BASE KERNEL_FLASH_BASE +#define RAMDISK_FLASH_LEN (4 * 1024 * 1024 - BLOB_FLASH_LEN - PARAM_FLASH_LEN) +#else +#define KERNEL_FLASH_BASE (PARAM_FLASH_BASE + PARAM_FLASH_LEN) #define RAMDISK_FLASH_BASE (KERNEL_FLASH_BASE + KERNEL_FLASH_LEN) #define RAMDISK_FLASH_LEN (4 * 1024 * 1024 - BLOB_FLASH_LEN - PARAM_FLASH_LEN - KERNEL_FLASH_LEN) +#endif #define PARAM_START PARAM_FLASH_BASE #define PARAM_LEN PARAM_FLASH_LEN |
From: Tim R. <tim...@us...> - 2002-04-27 10:33:56
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv7626/src/blob Modified Files: load_kernel.c main.c shannon.c Log Message: use load_kernel if any of zimage, jffs2, cramfs are defined Index: load_kernel.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/load_kernel.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- load_kernel.c 27 Apr 2002 07:32:40 -0000 1.4 +++ load_kernel.c 27 Apr 2002 10:26:50 -0000 1.5 @@ -33,6 +33,8 @@ #endif #include <blob/arch.h> +#include <blob/command.h> +#include <blob/errno.h> #include <blob/error.h> #include <blob/load_kernel.h> #include <blob/util.h> @@ -71,21 +73,12 @@ printf("."); } - - -void load_kernel(blob_status_t *blob_status) +int load_kernel_part(blob_status_t *blob_status, struct part_info *part) { int i; u32 size; - struct part_info part; - -/* FIXME this is hardcoded, should use flash[].size */ -#define MAIN_BLOCK_SIZE 2 * 64 * 1024 - part.erasesize = MAIN_BLOCK_SIZE; - part.size = KERNEL_FLASH_LEN; - part.offset = (char *) KERNEL_FLASH_BASE; - for (i = 0; loader[i] && !loader[i]->check_magic(&part); i++) + for (i = 0; loader[i] && !loader[i]->check_magic(part); i++) ; if (!loader[i]) { @@ -96,9 +89,9 @@ } else { printf("loading kernel from %s ...", loader[i]->name); if ((size = loader[i]->load_kernel((u32 *)KERNEL_RAM_BASE, - &part, "/boot/linux")) == 0) { + part, "/boot/linux")) == 0) { eprintf("error loading kernel!\n"); - return; + return(EINVAL); } } @@ -106,4 +99,49 @@ blob_status->kernelType = fromFlash; printf("loaded 0x%08x (%d) bytes\n", size, size); + return(ENOERROR); +} + +int load_kernel(blob_status_t *blob_status) +{ + struct part_info part; + +/* FIXME this is hardcoded, should use flash[].size */ +#define MAIN_BLOCK_SIZE 2 * 64 * 1024 + part.erasesize = MAIN_BLOCK_SIZE; + part.size = KERNEL_FLASH_LEN; + part.offset = (char *) KERNEL_FLASH_BASE; + + return load_kernel_part(blob_status, &part); +} + +#if defined(CONFIG_CRAMFS_SUPPORT) || defined(CONFIG_ZIMAGE_SUPPORT) || defined(CONFIG_JFFS2_SUPPORT) +static int loadkernel_cmd(int argc, char *argv[]) +{ + struct part_info part; + static blob_status_t blob_status; + +/* FIXME this is hardcoded, should use flash[].size */ +#define RAMDISK_BLOCK_SIZE 2 * 64 * 1024 + part.erasesize = RAMDISK_BLOCK_SIZE; + part.size = RAMDISK_FLASH_LEN; + part.offset = (char *) RAMDISK_FLASH_BASE; + blob_status.kernelSize = 0; + return load_kernel_part(&blob_status, &part); } + +static char loadkernel_help[] = "loadkernel\n" +"Use dynamic methods: " +#ifdef CONFIG_CRAMFS_SUPPORT +"cramfs " +#endif +#ifdef CONFIG_ZIMAGE_SUPPORT +"zImage " +#endif +#ifdef CONFIG_JFFS2_SUPPORT +"jffs2 " +#endif +"to load the kernel from ramdisk\n"; + +__commandlist(loadkernel_cmd, "loadkernel", loadkernel_help); +#endif Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- main.c 27 Apr 2002 08:10:31 -0000 1.44 +++ main.c 27 Apr 2002 10:26:50 -0000 1.45 @@ -56,7 +56,7 @@ #include <blob/util.h> #include <blob/uucodec.h> #include <blob/xmodem.h> - +#include <blob/load_kernel.h> static int do_reload(char *what); @@ -433,11 +433,17 @@ type = blob_status.paramType; #endif } else if(strncmp(argv[1], "kernel", 7) == 0) { +#if KERNEL_FLASH_BASE == RAMDISK_FLASH_BASE + printerrprefix(); + printf("configured for kernel in ramdisk\n", argv[1]); + return -EINVAL; +#else src = (u32 *)KERNEL_RAM_BASE; dst = (u32 *)KERNEL_FLASH_BASE; numBytes = blob_status.kernelSize; maxSize = KERNEL_FLASH_LEN; type = blob_status.kernelType; +#endif } else if(strncmp(argv[1], "ramdisk", 8) == 0) { src = (u32 *)RAMDISK_RAM_BASE; dst = (u32 *)RAMDISK_FLASH_BASE; @@ -636,12 +642,16 @@ printf("Loading paramater block from flash "); #endif } else if(strncmp(what, "kernel", 7) == 0) { +#if defined(CONFIG_CRAMFS_SUPPORT) || defined(CONFIG_ZIMAGE_SUPPORT) || defined(CONFIG_JFFS2_SUPPORT) + return load_kernel(&blob_status); +#else dst = (u32 *)KERNEL_RAM_BASE; src = (u32 *)KERNEL_FLASH_BASE; numWords = KERNEL_FLASH_LEN / 4; blob_status.kernelSize = 0; blob_status.kernelType = fromFlash; printf("Loading kernel from flash "); +#endif } else if(strncmp(what, "ramdisk", 8) == 0) { dst = (u32 *)RAMDISK_RAM_BASE; src = (u32 *)RAMDISK_FLASH_BASE; Index: shannon.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/shannon.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- shannon.c 27 Apr 2002 08:10:31 -0000 1.10 +++ shannon.c 27 Apr 2002 10:26:50 -0000 1.11 @@ -70,7 +70,7 @@ serial_driver = &sa11x0_serial_driver; /* tweak blob config */ - blob_status.boot_delay = 0; + blob_status.boot_delay = 1; } __initlist(shannon_init_hardware, INIT_LEVEL_DRIVER_SELECTION); |
From: Tim R. <tim...@us...> - 2002-04-27 10:33:54
|
Update of /cvsroot/blob/blob/include/blob In directory usw-pr-cvs1:/tmp/cvs-serv7626/include/blob Modified Files: load_kernel.h Log Message: use load_kernel if any of zimage, jffs2, cramfs are defined Index: load_kernel.h =================================================================== RCS file: /cvsroot/blob/blob/include/blob/load_kernel.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- load_kernel.h 27 Apr 2002 07:32:40 -0000 1.5 +++ load_kernel.h 27 Apr 2002 10:26:49 -0000 1.6 @@ -73,6 +73,6 @@ /* the modules call this every 0x40000 bytes to update a progress bar */ inline void ldr_update_progress(void); -void load_kernel(blob_status_t *blob_status); +int load_kernel(blob_status_t *blob_status); #endif |
From: Tim R. <Ti...@Ri...> - 2002-04-27 09:15:00
|
I just did: blob> erase kernel erasing dirty block at 0x00020000 erasing dirty block at 0x00040000 erasing dirty block at 0x00060000 erasing dirty block at 0x00080000 erasing dirty block at 0x000a0000 erasing dirty block at 0x000c0000 erasing dirty block at 0x000e0000 blob> erase ramdisk erasing dirty block at 0x00100000 and blob hung. I had to jtag to recover. Russ, thoughts? -- Tim Riker - http://rikers.org/ - short SIGs! <g> All I need to know I could have learned in Kindergarten ... if I'd just been paying attention. |
From: Tim R. <tim...@us...> - 2002-04-27 08:33:56
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv16681/src/blob Modified Files: idr.c main.c shannon.c Log Message: set boot_delay in platform source, allow 0 value Index: idr.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/idr.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- idr.c 13 Feb 2002 00:08:54 -0000 1.9 +++ idr.c 27 Apr 2002 08:10:31 -0000 1.10 @@ -25,6 +25,7 @@ # include <blob/config.h> #endif +#include <blob/main.h> #include <blob/flash.h> #include <blob/init.h> #include <blob/serial.h> @@ -120,6 +121,9 @@ { /* select serial driver */ serial_driver = &sa11x0_serial_driver; + + /* tweak blob config */ + blob_status.boot_delay = 1; } __initlist(idr_init_hardware, INIT_LEVEL_DRIVER_SELECTION); Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- main.c 19 Apr 2002 20:00:46 -0000 1.43 +++ main.c 27 Apr 2002 08:10:31 -0000 1.44 @@ -45,7 +45,6 @@ #include <blob/flash.h> #include <blob/init.h> #include <blob/led.h> -#include <blob/load_kernel.h> #include <blob/main.h> #include <blob/md5.h> #include <blob/md5support.h> @@ -86,14 +85,9 @@ blob_status.terminalSpeed = TERMINAL_SPEED; blob_status.load_ramdisk = LOAD_RAMDISK; blob_status.cmdline[0] = '\0'; -#if defined(IDR) || defined(SHANNON) - /* This should be configurable in the arch header */ - blob_status.boot_delay = 1; -#else blob_status.boot_delay = 10; -#endif - /* call subsystems */ + /* call subsystems (blob_status.* may change) */ init_subsystems(); /* call serial_init() because the default 9k6 speed might not @@ -139,21 +133,26 @@ if(blob_status.load_ramdisk) do_reload("ramdisk"); - if (blob_status.boot_delay > 0) { + if (blob_status.boot_delay > -1) { int i; int retval = 0; - /* wait 10 seconds before starting autoboot */ + /* wait boot_delay seconds before starting autoboot */ printf("Autoboot (%i seconds) in progress, press any key to stop ", blob_status.boot_delay); - for(i = 0; i < blob_status.boot_delay; i++) { - serial_write('.'); - retval = SerialInputBlock(commandline, 1, 1); + if (blob_status.boot_delay == 0) { + retval = SerialInputBlock(commandline, 1, 0); + } else { + for(i = 0; i < blob_status.boot_delay; i++) { + serial_write('.'); - if(retval > 0) - break; + retval = SerialInputBlock(commandline, 1, 1); + + if(retval > 0) + break; + } } /* no key was pressed, so proceed booting the kernel */ Index: shannon.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/shannon.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- shannon.c 26 Feb 2002 17:19:56 -0000 1.9 +++ shannon.c 27 Apr 2002 08:10:31 -0000 1.10 @@ -25,6 +25,7 @@ # include <blob/config.h> #endif +#include <blob/main.h> #include <blob/flash.h> #include <blob/init.h> #include <blob/serial.h> @@ -67,6 +68,9 @@ { /* select serial driver */ serial_driver = &sa11x0_serial_driver; + + /* tweak blob config */ + blob_status.boot_delay = 0; } __initlist(shannon_init_hardware, INIT_LEVEL_DRIVER_SELECTION); |