[U-Boot] [PATCH] PXA: Remove PXA PCMCIA support

Marek Vasut marek.vasut at gmail.com
Mon Feb 13 09:06:05 CET 2012


Say good bye to some ancient, very broken and unused code.

Signed-off-by: Marek Vasut <marek.vasut at gmail.com>
---
 doc/README.PXA_CF           |   56 --------------------------
 drivers/pcmcia/Makefile     |    1 -
 drivers/pcmcia/pxa_pcmcia.c |   93 -------------------------------------------
 include/pcmcia.h            |    3 +-
 4 files changed, 1 insertions(+), 152 deletions(-)
 delete mode 100644 doc/README.PXA_CF
 delete mode 100644 drivers/pcmcia/pxa_pcmcia.c

diff --git a/doc/README.PXA_CF b/doc/README.PXA_CF
deleted file mode 100644
index 1d76b32..0000000
--- 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 0349508..aa477d4 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 d06ab74..0000000
--- 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 b60323d..ca0bf22 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
 
-- 
1.7.8.3



More information about the U-Boot mailing list