summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG2
-rw-r--r--common/cmd_pcmcia.c7
2 files changed, 9 insertions, 0 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 2b42045..1046036 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
Changes since U-Boot 1.1.4:
======================================================================
+* Fix PCMCIA support on virtlab2
+
* Add support for VirtLab2 board
(needed because of differences in the PCMCIA hardware).
diff --git a/common/cmd_pcmcia.c b/common/cmd_pcmcia.c
index 46b703d..8e3e84b 100644
--- a/common/cmd_pcmcia.c
+++ b/common/cmd_pcmcia.c
@@ -1035,12 +1035,19 @@ static int hardware_enable(int slot)
(pcmconf8xx_t *)&(((immap_t *)CFG_IMMR)->im_pcmcia);
volatile unsigned char *powerctl =
(volatile unsigned char *)PCMCIA_CTRL;
+ volatile sysconf8xx_t *sysp =
+ (sysconf8xx_t *)(&(((immap_t *)CFG_IMMR)->im_siu_conf));
unsigned int reg, mask;
debug ("hardware_enable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);
udelay(10000);
+ /*
+ * Configure SIUMCR to enable PCMCIA port B
+ */
+ sysp->sc_siumcr &= ~SIUMCR_DBGC11; /* set DBGC to 00 */
+
/* clear interrupt state, and disable interrupts */
pcmp->pcmc_pscr = PCMCIA_MASK(slot);
pcmp->pcmc_per &= ~PCMCIA_MASK(slot);