diff options
| -rw-r--r-- | doc/README.PXA_CF | 56 | ||||
| -rw-r--r-- | drivers/pcmcia/Makefile | 1 | ||||
| -rw-r--r-- | drivers/pcmcia/pxa_pcmcia.c | 93 | ||||
| -rw-r--r-- | include/pcmcia.h | 3 | 
4 files changed, 1 insertions, 152 deletions
| diff --git a/doc/README.PXA_CF b/doc/README.PXA_CF deleted file mode 100644 index 1d76b32dd..000000000 --- a/doc/README.PXA_CF +++ /dev/null @@ -1,56 +0,0 @@ - -These are brief instructions on how to add support for CF adapters to -custom designed  PXA boards. You need to set the parameters in the -config file. This should work for most implementations especially if you -follow the connections of the standard lubbock. Anyway just the block -marked memory configuration should be touched since the other parameters -are imposed by the PXA architecture. - -EDIT 2010-07-01: in common/cmd_ide.c, having CONFIG_PXA_PCMCIA defined -would cause looping on inw()/outw() rather than using insw()/outsw(), -thus making sure IDE / ATA bytes are properly swapped. This behaviour -is now controlled by CONFIG_IDE_SWAP_IO, therefore PXA boards with -PCMCIA should #define CONFIG_IDE_SWAP_IO. - -#define CONFIG_IDE_SWAP_IO - -#define CONFIG_PXA_PCMCIA 1 -#define CONFIG_PXA_IDE 1 - -#define CONFIG_PCMCIA_SLOT_A 1 -/* just to keep build system happy  */ - -#define CONFIG_SYS_PCMCIA_MEM_ADDR     0x28000000 -#define CONFIG_SYS_PCMCIA_MEM_SIZE     0x10000000 - -#define CONFIG_SYS_MECR_VAL		0x00000000 -#define CONFIG_SYS_MCMEM0_VAL		0x00004204 -#define CONFIG_SYS_MCMEM1_VAL		0x00000000 -#define CONFIG_SYS_MCATT0_VAL		0x00010504 -#define CONFIG_SYS_MCATT1_VAL		0x00000000 -#define CONFIG_SYS_MCIO0_VAL		0x00008407 -#define CONFIG_SYS_MCIO1_VAL		0x00000000 -/* memory configuration */ - -#define CONFIG_SYS_IDE_MAXBUS		1 -/* max. 1 IDE bus		*/ -#define CONFIG_SYS_IDE_MAXDEVICE	1 -/* max. 1 drive per IDE bus	*/ - -#define CONFIG_SYS_ATA_IDE0_OFFSET	0x0000 - -#define CONFIG_SYS_ATA_BASE_ADDR	0x20000000 - -/* Offset for data I/O			*/ -#define CONFIG_SYS_ATA_DATA_OFFSET	0x1f0 - -/* Offset for normal register accesses	*/ -#define CONFIG_SYS_ATA_REG_OFFSET	0x1f0 - -/* Offset for alternate registers	*/ -#define CONFIG_SYS_ATA_ALT_OFFSET	0x3f0 - - -Another important point is that maybe you have to power the pcmcia -subsystem. This is very board specific, for an example on how to -do it please search for CONFIG_EXADRON1 in cmd_pcmcia.c diff --git a/drivers/pcmcia/Makefile b/drivers/pcmcia/Makefile index 03495087d..aa477d4f9 100644 --- a/drivers/pcmcia/Makefile +++ b/drivers/pcmcia/Makefile @@ -27,7 +27,6 @@ LIB	:= $(obj)libpcmcia.o  COBJS-$(CONFIG_I82365) += i82365.o  COBJS-$(CONFIG_8xx) += mpc8xx_pcmcia.o -COBJS-$(CONFIG_PXA_PCMCIA) += pxa_pcmcia.o  COBJS-y += rpx_pcmcia.o  COBJS-$(CONFIG_IDE_TI_CARDBUS) += ti_pci1410a.o  COBJS-y += tqm8xx_pcmcia.o diff --git a/drivers/pcmcia/pxa_pcmcia.c b/drivers/pcmcia/pxa_pcmcia.c deleted file mode 100644 index d06ab746c..000000000 --- a/drivers/pcmcia/pxa_pcmcia.c +++ /dev/null @@ -1,93 +0,0 @@ -#include <common.h> -#include <config.h> - -#include <pcmcia.h> -#include <asm/arch/pxa-regs.h> -#include <asm/io.h> - -static inline void msWait(unsigned msVal) -{ -	udelay(msVal*1000); -} - -int pcmcia_on (void) -{ -	unsigned int reg_arr[] = { -		0x48000028, CONFIG_SYS_MCMEM0_VAL, -		0x4800002c, CONFIG_SYS_MCMEM1_VAL, -		0x48000030, CONFIG_SYS_MCATT0_VAL, -		0x48000034, CONFIG_SYS_MCATT1_VAL, -		0x48000038, CONFIG_SYS_MCIO0_VAL, -		0x4800003c, CONFIG_SYS_MCIO1_VAL, - -		0, 0 -	}; -	int i, rc; - -#ifdef CONFIG_EXADRON1 -	int cardDetect; -	volatile unsigned int *v_pBCRReg = -			(volatile unsigned int *) 0x08000000; -#endif - -	debug ("%s\n", __FUNCTION__); - -	i = 0; -	while (reg_arr[i]) { -		(*(volatile unsigned int *) reg_arr[i]) |= reg_arr[i + 1]; -		i += 2; -	} -	udelay (1000); - -	debug ("%s: programmed mem controller \n", __FUNCTION__); - -#ifdef CONFIG_EXADRON1 - -/*define useful BCR masks */ -#define BCR_CF_INIT_VAL			    0x00007230 -#define BCR_CF_PWRON_BUSOFF_RESETOFF_VAL    0x00007231 -#define BCR_CF_PWRON_BUSOFF_RESETON_VAL     0x00007233 -#define BCR_CF_PWRON_BUSON_RESETON_VAL      0x00007213 -#define BCR_CF_PWRON_BUSON_RESETOFF_VAL     0x00007211 - -	/* we see from the GPIO bit if the card is present */ -	cardDetect = !(GPLR0 & GPIO_bit (14)); - -	if (cardDetect) { -		printf ("No PCMCIA card found!\n"); -	} - -	/* reset the card via the BCR line */ -	*v_pBCRReg = (unsigned) BCR_CF_INIT_VAL; -	msWait (500); - -	*v_pBCRReg = (unsigned) BCR_CF_PWRON_BUSOFF_RESETOFF_VAL; -	msWait (500); - -	*v_pBCRReg = (unsigned) BCR_CF_PWRON_BUSOFF_RESETON_VAL; -	msWait (500); - -	*v_pBCRReg = (unsigned) BCR_CF_PWRON_BUSON_RESETON_VAL; -	msWait (500); - -	*v_pBCRReg = (unsigned) BCR_CF_PWRON_BUSON_RESETOFF_VAL; -	msWait (1500); - -	/* enable address bus */ -	GPCR1 = 0x01; -	/* and the first CF slot */ -	MECR = 0x00000002; - -#endif /* EXADRON 1 */ - -	rc = check_ide_device (0);	/* use just slot 0 */ - -	return rc; -} - -#if defined(CONFIG_CMD_PCMCIA) -int pcmcia_off (void) -{ -	return 0; -} -#endif diff --git a/include/pcmcia.h b/include/pcmcia.h index b60323d3c..ca0bf224f 100644 --- a/include/pcmcia.h +++ b/include/pcmcia.h @@ -313,8 +313,7 @@ extern u_int *pcmcia_pgcrx[];  #define	PCMCIA_PGCRX(slot)	(*pcmcia_pgcrx[slot])  #endif -#if defined(CONFIG_CMD_IDE) && defined(CONFIG_IDE_8xx_PCCARD) \ -	|| defined(CONFIG_PXA_PCMCIA) +#if defined(CONFIG_CMD_IDE) && defined(CONFIG_IDE_8xx_PCCARD)  extern int check_ide_device(int slot);  #endif |