diff options
| -rw-r--r-- | CHANGELOG | 2 | ||||
| -rw-r--r-- | board/kup4k/kup4k.c | 22 | ||||
| -rw-r--r-- | common/cmd_ide.c | 6 | ||||
| -rw-r--r-- | common/cmd_pcmcia.c | 398 | ||||
| -rw-r--r-- | include/configs/KUP4K.h | 2 | 
5 files changed, 211 insertions, 219 deletions
| @@ -2,6 +2,8 @@  Changes since for U-Boot 0.1.0:  ====================================================================== +* Add LED indication for IDE activity on KUP4K board +  * Fix startup problems with VFD display on TRAB  * Patch by Pierre Aubert, 20 Nov 2002 diff --git a/board/kup4k/kup4k.c b/board/kup4k/kup4k.c index 86e1c812c..aeafa6af3 100644 --- a/board/kup4k/kup4k.c +++ b/board/kup4k/kup4k.c @@ -288,12 +288,22 @@ int misc_init_r (void)  {  	DECLARE_GLOBAL_DATA_PTR; +#ifdef CONFIG_STATUS_LED +	volatile immap_t	*immap = (immap_t *)CFG_IMMR; +#endif  #ifdef CONFIG_KUP4K_LOGO  	bd_t *bd = gd->bd;  	lcd_logo(bd);  #endif /* CONFIG_KUP4K_LOGO */ +#ifdef CONFIG_IDE_LED +	/* Configure PA8 as output port */ +	immap->im_ioport.iop_padir |= 0x80; +	immap->im_ioport.iop_paodr |= 0x80; +	immap->im_ioport.iop_papar &= ~0x80; +	immap->im_ioport.iop_padat |= 0x80; /* turn it off */ +#endif  	return(0);  } @@ -422,3 +432,15 @@ void lcd_logo(bd_t *bd){  }  #endif /* CONFIG_KUP4K_LOGO */ +#ifdef CONFIG_IDE_LED +void ide_led (uchar led, uchar status) +{ +	volatile immap_t	*immap = (immap_t *)CFG_IMMR; +	/* We have one led for both pcmcia slots */ +	if (status) { /* led on */ +		immap->im_ioport.iop_padat &= ~0x80; +	} else { +		immap->im_ioport.iop_padat |= 0x80; +	} +} +#endif diff --git a/common/cmd_ide.c b/common/cmd_ide.c index 7b455086a..d082d5e9b 100644 --- a/common/cmd_ide.c +++ b/common/cmd_ide.c @@ -132,8 +132,12 @@ static  block_dev_desc_t ide_dev_desc[CFG_IDE_MAXDEVICE];  /* ------------------------------------------------------------------------- */  #ifdef CONFIG_IDE_LED +#ifndef CONFIG_KUP4K  static void  ide_led   (uchar led, uchar status);  #else +extern void  ide_led   (uchar led, uchar status); +#endif +#else  #ifndef CONFIG_AMIGAONEG3SE  #define ide_led(a,b)	/* dummy */  #else @@ -1347,7 +1351,7 @@ static void ide_reset (void)  /* ------------------------------------------------------------------------- */ -#if defined(CONFIG_IDE_LED) && !defined(CONFIG_AMIGAONEG3SE) +#if defined(CONFIG_IDE_LED) && !defined(CONFIG_AMIGAONEG3SE) && !defined(CONFIG_KUP4K)  static	uchar	led_buffer = 0;		/* Buffer for current LED status	*/ diff --git a/common/cmd_pcmcia.c b/common/cmd_pcmcia.c index 4c799a52d..8a3491ede 100644 --- a/common/cmd_pcmcia.c +++ b/common/cmd_pcmcia.c @@ -88,7 +88,7 @@ static u_int m8xx_get_graycode(u_int size);  static u_int m8xx_get_speed(u_int ns, u_int is_io);  #endif -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  /* look up table for pgcrx registers */ @@ -101,7 +101,7 @@ static u_int *pcmcia_pgcrx[2] = {  const char *indent = "\t   "; -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #if (CONFIG_COMMANDS & CFG_CMD_PCMCIA) @@ -126,7 +126,7 @@ int do_pinit (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])  }  #endif	/* CFG_CMD_PCMCIA */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_LWMON)  # define  CFG_PCMCIA_TIMING	(PCMCIA_SHT(9) | PCMCIA_SST(3) | PCMCIA_SL(12)) @@ -185,7 +185,7 @@ int pcmcia_on (void)  			break;  		    }  		case 6: -		case 2: {	/* map I/O window for command/ctrl reg block */ +		case 2: {	/* map I/O window for cmd/ctrl reg block */  			win->or = (	PCMCIA_BSIZE_1K  				|	PCMCIA_PPS_8  				|	PCMCIA_PRS_IO @@ -206,15 +206,15 @@ int pcmcia_on (void)  		++win;  	} -	for (i = 0, rc = 0, slot = _slot_; i < PCMCIA_SOCKETS_NO; i++, slot = !slot) { +	for (i=0, rc=0, slot=_slot_; i<PCMCIA_SOCKETS_NO; i++, slot = !slot) {  		/* turn off voltage */  		if ((rc = voltage_set(slot, 0, 0)))  			continue; -		 +  		/* Enable external hardware */  		if ((rc = hardware_enable(slot)))  			continue; -		 +  #ifdef CONFIG_IDE_8xx_PCCARD  		if ((rc = check_ide_device(i)))  			continue; @@ -223,7 +223,7 @@ int pcmcia_on (void)  	return (rc);  } -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #if (CONFIG_COMMANDS & CFG_CMD_PCMCIA) @@ -261,7 +261,7 @@ static int pcmcia_off (void)  #endif	/* CFG_CMD_PCMCIA */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #ifdef CONFIG_IDE_8xx_PCCARD @@ -280,8 +280,8 @@ static int check_ide_device (int slot)  	int found = 0;  	int i; -	addr = (volatile uchar *)(CFG_PCMCIA_MEM_ADDR +  -							  CFG_PCMCIA_MEM_SIZE * (slot * 4)); +	addr = (volatile uchar *)(CFG_PCMCIA_MEM_ADDR + +				  CFG_PCMCIA_MEM_SIZE * (slot * 4));  	debug ("PCMCIA MEM: %08X\n", addr);  	start = p = (volatile uchar *) addr; @@ -354,17 +354,17 @@ static int check_ide_device (int slot)  }  #endif	/* CONFIG_IDE_8xx_PCCARD */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------------- */ -/* board specific stuff:							*/ -/* voltage_set(), hardware_enable() and hardware_disable()			*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* board specific stuff:						*/ +/* voltage_set(), hardware_enable() and hardware_disable()		*/ +/* -------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------------- */ -/* RPX Boards from Embedded Planet						*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* RPX Boards from Embedded Planet					*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_RPXCLASSIC) || defined(CONFIG_RPXLITE) @@ -431,9 +431,9 @@ static int hardware_disable(int slot)  #endif	/* CFG_CMD_PCMCIA */  #endif	/* CONFIG_RPXCLASSIC */ -/* ---------------------------------------------------------------------------- */ -/* (F)ADS Boards from Motorola							*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* (F)ADS Boards from Motorola						*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_ADS) || defined(CONFIG_FADS) @@ -509,9 +509,9 @@ static int hardware_disable(int slot)  #endif	/* (F)ADS */ -/* ---------------------------------------------------------------------------- */ -/* TQM8xxL Boards by TQ Components						*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* TQM8xxL Boards by TQ Components					*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_TQM8xxL) @@ -545,17 +545,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -597,7 +594,7 @@ static int hardware_enable(int slot)  		immap->im_ioport.iop_pcdat |= 0x0002;  		puts (" 3.3V card found: ");  	} -	immap->im_ioport.iop_pcdir |=  (0x0002 | 0x0004); +	immap->im_ioport.iop_pcdir |= (0x0002 | 0x0004);  #if 0  	/*  VCC switch error flag, PCMCIA slot INPACK_ pin */  	cp->cp_pbdir &= ~(0x0020 | 0x0010); @@ -635,11 +632,8 @@ static int hardware_disable(int slot)  	/* remove all power */  	immap->im_ioport.iop_pcdat &= ~(0x0002 | 0x0004); -	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(_slot_) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg; @@ -670,9 +664,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(_slot_); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -701,7 +695,7 @@ static int voltage_set(int slot, int vcc, int vpp)  		(pcmp->pcmc_pipr & 0x00008000) ? "only 5 V" : "can do 3.3V");  	immap->im_ioport.iop_pcdat |= reg; -	immap->im_ioport.iop_pcdir |=  (0x0002 | 0x0004); +	immap->im_ioport.iop_pcdir |= (0x0002 | 0x0004);  	if (reg) {  		debug ("PCMCIA powered at %sV\n",  			(reg&0x0004) ? "5.0" : "3.3"); @@ -725,9 +719,9 @@ done:  #endif	/* TQM8xxL */ -/* ---------------------------------------------------------------------------- */ -/* LWMON Board									*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* LWMON Board								*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_LWMON) @@ -759,7 +753,7 @@ static int hardware_enable(int slot)  	reg = pic_read  (0x60);  	debug ("[%d] PIC read: reg_60 = 0x%02x\n", __LINE__, reg);  	reg &= ~0x10; -	/* reg |=  0x08; Vpp not needed */ +	/* reg |= 0x08; Vpp not needed */  	pic_write (0x60, reg);  #ifdef DEBUG  	reg = pic_read  (0x60); @@ -782,17 +776,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -826,7 +817,7 @@ static int hardware_enable(int slot)  	}  	/*  switch VCC on */ -	val |=  MAX1604_OP_SUS | MAX1604_VCCBON; +	val |= MAX1604_OP_SUS | MAX1604_VCCBON;  	i2c_init  (CFG_I2C_SPEED, CFG_I2C_SLAVE);  	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1); @@ -866,10 +857,8 @@ static int hardware_disable(int slot)  	i2c_write (CFG_I2C_POWER_A_ADDR, 0, 0, &val, 1);  	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(_slot_) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg; @@ -911,9 +900,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(_slot_); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -962,81 +951,79 @@ done:  #endif	/* LWMON */ -/* ---------------------------------------------------------------------------- */ -/* GTH board by Corelatus AB                                                    */ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* GTH board by Corelatus AB						*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_GTH)  #define PCMCIA_BOARD_MSG "GTH COMPACT FLASH" -static int voltage_set(int slot, int vcc, int vpp) -{  /* Do nothing */ -  return 0; +static int voltage_set (int slot, int vcc, int vpp) +{	/* Do nothing */ +	return 0;  }  static int hardware_enable (int slot)  { -  volatile immap_t	*immap; -  volatile cpm8xx_t	*cp; -  volatile pcmconf8xx_t	*pcmp; -  volatile sysconf8xx_t	*sysp; -  uint reg, mask; - -  debug ("hardware_enable: GTH Slot %c\n", 'A'+slot); +	volatile immap_t *immap; +	volatile cpm8xx_t *cp; +	volatile pcmconf8xx_t *pcmp; +	volatile sysconf8xx_t *sysp; +	uint reg, mask; -  immap = (immap_t *)CFG_IMMR; -  sysp  = (sysconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_siu_conf)); -  pcmp  = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia)); -  cp    = (cpm8xx_t *)(&(((immap_t *)CFG_IMMR)->im_cpm)); +	debug ("hardware_enable: GTH Slot %c\n", 'A' + slot); -  /* clear interrupt state, and disable interrupts */ -  pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_); -  pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); +	immap = (immap_t *) CFG_IMMR; +	sysp = (sysconf8xx_t *) (&(((immap_t *) CFG_IMMR)->im_siu_conf)); +	pcmp = (pcmconf8xx_t *) (&(((immap_t *) CFG_IMMR)->im_pcmcia)); +	cp = (cpm8xx_t *) (&(((immap_t *) CFG_IMMR)->im_cpm)); -  /* disable interrupts & DMA */ -  PCMCIA_PGCRX(_slot_) = 0; +	/* clear interrupt state, and disable interrupts */ +	pcmp->pcmc_pscr = PCMCIA_MASK (_slot_); +	pcmp->pcmc_per &= ~PCMCIA_MASK (_slot_); -  /* -   * Disable PCMCIA buffers (isolate the interface) -   * and assert RESET signal -   */ -  debug ("Disable PCMCIA buffers and assert RESET\n"); -  reg  =  PCMCIA_PGCRX(_slot_); -  reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -  reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ -  PCMCIA_PGCRX(_slot_) = reg; -  udelay(500); +	/* +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal +	 */ +	debug ("Disable PCMCIA buffers and assert RESET\n"); +	reg = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;	/* active low  */ +	PCMCIA_PGCRX (_slot_) = reg; +	udelay (500); -  /* -   * Make sure there is a card in the slot, then configure the interface. -   */ -  udelay(10000); -  debug ("[%d] %s: PIPR(%p)=0x%x\n", -		__LINE__,__FUNCTION__, -		&(pcmp->pcmc_pipr),pcmp->pcmc_pipr); -  if (pcmp->pcmc_pipr & 0x98000000) { -    printf ("   No Card found\n"); -    return (1); -  } +	/* +	 * Make sure there is a card in the slot, +	 * then configure the interface. +	 */ +	udelay (10000); +	debug ("[%d] %s: PIPR(%p)=0x%x\n", +		__LINE__, __FUNCTION__, +		&(pcmp->pcmc_pipr), pcmp->pcmc_pipr); +	if (pcmp->pcmc_pipr & 0x98000000) { +		printf ("   No Card found\n"); +		return (1); +	} -  mask = PCMCIA_VS1(slot) | PCMCIA_VS2(slot); -  reg  = pcmp->pcmc_pipr; -  debug ("PIPR: 0x%x ==> VS1=o%s, VS2=o%s\n", -		reg, -		(reg&PCMCIA_VS1(slot))?"n":"ff", -		(reg&PCMCIA_VS2(slot))?"n":"ff"); +	mask = PCMCIA_VS1 (slot) | PCMCIA_VS2 (slot); +	reg = pcmp->pcmc_pipr; +	debug ("PIPR: 0x%x ==> VS1=o%s, VS2=o%s\n", +		   reg, +		   (reg & PCMCIA_VS1 (slot)) ? "n" : "ff", +		   (reg & PCMCIA_VS2 (slot)) ? "n" : "ff"); -  debug ("Enable PCMCIA buffers and stop RESET\n"); -  reg  =  PCMCIA_PGCRX(_slot_); -  reg &= ~__MY_PCMCIA_GCRX_CXRESET;	/* active high */ -  reg &= ~__MY_PCMCIA_GCRX_CXOE;		/* active low  */ -  PCMCIA_PGCRX(_slot_) = reg; +	debug ("Enable PCMCIA buffers and stop RESET\n"); +	reg  =  PCMCIA_PGCRX (_slot_); +	reg &= ~__MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg &= ~__MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	PCMCIA_PGCRX (_slot_) = reg; -  udelay(250000);	/* some cards need >150 ms to come up :-( */ +	udelay (250000);	/* some cards need >150 ms to come up :-( */ -  debug ("# hardware_enable done\n"); +	debug ("# hardware_enable done\n"); -  return 0; +	return 0;  }  #if (CONFIG_COMMANDS & CFG_CMD_PCMCIA)  static int hardware_disable(int slot) @@ -1046,9 +1033,9 @@ static int hardware_disable(int slot)  #endif	/* CFG_CMD_PCMCIA */  #endif	/* CONFIG_GTH */ -/* ---------------------------------------------------------------------------- */ -/* ICU862 Boards by Cambridge Broadband Ltd.					*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* ICU862 Boards by Cambridge Broadband Ltd.				*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_ICU862) @@ -1087,17 +1074,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1125,13 +1109,13 @@ static int hardware_enable(int slot)  	reg  = cp->cp_pbdat;  	if ((pipr & mask) == mask) { -		reg |=  (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ -			 TPS2205_VCC3);				/* 3V off	*/ +		reg |= (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ +			TPS2205_VCC3);				/* 3V off	*/  		reg &= ~(TPS2205_VCC5);				/* 5V on	*/  		puts (" 5.0V card found: ");  	} else { -		reg |=  (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ -			 TPS2205_VCC5);				/* 5V off	*/ +		reg |= (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ +			TPS2205_VCC5);				/* 5V off	*/  		reg &= ~(TPS2205_VCC3);				/* 3V on	*/  		puts (" 3.3V card found: ");  	} @@ -1188,10 +1172,8 @@ static int hardware_disable(int slot)  	cp->cp_pbdat &= ~(TPS2205_SHDN);  	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(_slot_) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg; @@ -1224,9 +1206,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(_slot_); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1298,9 +1280,9 @@ static void cfg_port_B (void)  	 * Switch off all voltages, assert shutdown  	 */  	reg  = cp->cp_pbdat; -	reg |=  (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ -		 TPS2205_VCC3    | TPS2205_VCC5    |	/* VAVCC => Hi-Z */ -		 TPS2205_SHDN);				/* enable switch */ +	reg |= (TPS2205_VPP_PGM | TPS2205_VPP_VCC |	/* VAVPP => Hi-Z */ +		TPS2205_VCC3    | TPS2205_VCC5    |	/* VAVCC => Hi-Z */ +		TPS2205_SHDN);				/* enable switch */  	cp->cp_pbdat = reg;  	cp->cp_pbpar &= ~(TPS2205_INPUTS | TPS2205_OUTPUTS); @@ -1315,9 +1297,9 @@ static void cfg_port_B (void)  #endif	/* ICU862 */ -/* ---------------------------------------------------------------------------- */ -/* C2MON Boards by TTTech Computertechnik AG					*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* C2MON Boards by TTTech Computertechnik AG				*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_C2MON) @@ -1357,17 +1339,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1453,10 +1432,8 @@ static int hardware_disable(int slot)  	pcmp  = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia));  	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(_slot_) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg; @@ -1494,9 +1471,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(_slot_); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1599,9 +1576,9 @@ static void cfg_ports (void)  #endif	/* C2MON */ -/* ---------------------------------------------------------------------------- -   MBX board from Morotola -   ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* MBX board from Morotola						*/ +/* -------------------------------------------------------------------- */  #if defined( CONFIG_MBX )  #include <../board/mbx8xx/csr.h> @@ -1687,15 +1664,12 @@ static int hardware_enable (int slot)  	pcmp->pcmc_pscr = PCMCIA_MASK (_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK (_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX (_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg = PCMCIA_PGCRX (_slot_); +	reg = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;	/* active low  */  	PCMCIA_PGCRX (_slot_) = reg; @@ -1752,9 +1726,9 @@ static int hardware_disable (int slot)  }  #endif /* CFG_CMD_PCMCIA */  #endif /* CONFIG_MBX */ -/* ---------------------------------------------------------------------------- */ -/* R360MPI Board								*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* R360MPI Board							*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_R360MPI) @@ -1788,17 +1762,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(_slot_);  	pcmp->pcmc_per &= ~PCMCIA_MASK(_slot_); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(_slot_) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1889,10 +1860,8 @@ static int hardware_disable(int slot)  	immap->im_ioport.iop_padat |= 0x0200;  	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(_slot_) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg; @@ -1923,9 +1892,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(_slot_); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(_slot_); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(_slot_) = reg;  	udelay(500); @@ -1963,8 +1932,8 @@ static int voltage_set(int slot, int vcc, int vpp)  		immap->im_ioport.iop_pcdat &= !reg;  	if (reg & 0x0400)  		immap->im_ioport.iop_padat &= !reg; -	immap->im_ioport.iop_pcdir |=  0x0200; -	immap->im_ioport.iop_padir |=  0x0400; +	immap->im_ioport.iop_pcdir |= 0x0200; +	immap->im_ioport.iop_padir |= 0x0400;  	if (reg) {  		debug ("PCMCIA powered at %sV\n",  			(reg&0x0400) ? "5.0" : "3.3"); @@ -1987,9 +1956,9 @@ done:  #endif	/* R360MPI */ -/* ---------------------------------------------------------------------------- */ -/* KUP4K Board						*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* KUP4K Board								*/ +/* -------------------------------------------------------------------- */  #if defined(CONFIG_KUP4K)  #define PCMCIA_BOARD_MSG "KUP4K" @@ -2023,17 +1992,14 @@ static int hardware_enable(int slot)  	pcmp->pcmc_pscr =  PCMCIA_MASK(slot);  	pcmp->pcmc_per &= ~PCMCIA_MASK(slot); -	/* disable interrupts & DMA */ -	PCMCIA_PGCRX(slot) = 0; -  	/* -	 * Disable PCMCIA buffers (isolate the interface) -	 * and assert RESET signal +	 * Disable interrupts, DMA, and PCMCIA buffers +	 * (isolate the interface) and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(slot); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = 0; +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(slot) = reg;  	udelay(2500); @@ -2110,16 +2076,14 @@ static int hardware_disable(int slot)  	immap = (immap_t *)CFG_IMMR;  	pcmp = (pcmconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_pcmcia));  	cp    = (cpm8xx_t *)(&(((immap_t *)CFG_IMMR)->im_cpm)); -	 +  	/* remove all power */  	if (slot)  		cp->cp_pbdat |= KUP4K_PCMCIA_B_3V3;  	/* Configure PCMCIA General Control Register */ -	PCMCIA_PGCRX(slot) = 0; -  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(slot); +	reg  = 0;  	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */  	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(slot) = reg; @@ -2156,9 +2120,9 @@ static int voltage_set(int slot, int vcc, int vpp)  	 * and assert RESET signal  	 */  	debug ("Disable PCMCIA buffers and assert RESET\n"); -	reg  =  PCMCIA_PGCRX(slot); -	reg |=  __MY_PCMCIA_GCRX_CXRESET;	/* active high */ -	reg |=  __MY_PCMCIA_GCRX_CXOE;		/* active low  */ +	reg  = PCMCIA_PGCRX(slot); +	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */ +	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */  	PCMCIA_PGCRX(slot) = reg;  	udelay(500); @@ -2213,14 +2177,14 @@ static int voltage_set(int slot, int vcc, int vpp) -/* ---------------------------------------------------------------------------- */ -/* End of Board Specific Stuff							*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* End of Board Specific Stuff						*/ +/* -------------------------------------------------------------------- */ -/* ---------------------------------------------------------------------------- */ -/* MPC8xx Specific Stuff - should go to MPC8xx directory			*/ -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */ +/* MPC8xx Specific Stuff - should go to MPC8xx directory		*/ +/* -------------------------------------------------------------------- */  /*   * Search this table to see if the windowsize is @@ -2241,7 +2205,7 @@ static const u_int m8xx_size_to_gray[M8XX_SIZES_NO] =    0x00800000, 0x00400000, 0x00100000, 0x00200000 }; -/* ---------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  static u_int m8xx_get_graycode(u_int size)  { @@ -2258,7 +2222,7 @@ static u_int m8xx_get_graycode(u_int size)  	return k;  } -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #if 0  static u_int m8xx_get_speed(u_int ns, u_int is_io) @@ -2311,7 +2275,7 @@ static u_int m8xx_get_speed(u_int ns, u_int is_io)  }  #endif -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #ifdef CONFIG_IDE_8xx_PCCARD  static void print_funcid (int func) @@ -2353,7 +2317,7 @@ static void print_funcid (int func)  }  #endif	/* CONFIG_IDE_8xx_PCCARD */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #ifdef CONFIG_IDE_8xx_PCCARD  static void print_fixed (volatile uchar *p) @@ -2411,7 +2375,7 @@ static void print_fixed (volatile uchar *p)  }  #endif	/* CONFIG_IDE_8xx_PCCARD */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #ifdef CONFIG_IDE_8xx_PCCARD @@ -2475,6 +2439,6 @@ static int identify  (volatile uchar *p)  }  #endif	/* CONFIG_IDE_8xx_PCCARD */ -/* ------------------------------------------------------------------------- */ +/* -------------------------------------------------------------------- */  #endif /* CFG_CMD_PCMCIA || (CFG_CMD_IDE && CONFIG_IDE_8xx_PCCARD) */ diff --git a/include/configs/KUP4K.h b/include/configs/KUP4K.h index 7dc1b90d1..d02ec0d63 100644 --- a/include/configs/KUP4K.h +++ b/include/configs/KUP4K.h @@ -292,7 +292,7 @@  #define	CONFIG_IDE_8xx_PCCARD	1	/* Use IDE with PC Card	Adapter	*/  #undef	CONFIG_IDE_8xx_DIRECT		/* Direct IDE    not supported	*/ -#undef	CONFIG_IDE_LED			/* LED   for ide not supported	*/ +#define CONFIG_IDE_LED			1   /* LED   for ide supported	*/  #undef	CONFIG_IDE_RESET		/* reset for ide not supported	*/  #define CFG_IDE_MAXBUS		2 |