Update of /cvsroot/linux-mips/linux/drivers/pcmcia
In directory usw-pr-cvs1:/tmp/cvs-serv32242/drivers/pcmcia
Modified Files:
au1000_generic.c au1000_pb1x00.c
Log Message:
Replaced readl/writel type of macros with au_readl/au_writel since
we need to enable software byte swapping in BE mode, but register
accesses should not be swapped. The Pb1x00 boards are now mostly BE
safe, but some external peripherals (external to the SOC) are not yet
usable in BE mode. USB has not been tested in BE mode either.
Index: au1000_generic.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/drivers/pcmcia/au1000_generic.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- au1000_generic.c 22 Apr 2002 23:28:50 -0000 1.11
+++ au1000_generic.c 1 May 2002 18:00:30 -0000 1.12
@@ -168,9 +168,9 @@
/* setup the static bus controller */
timing3 = 0x100e3a07;
- writel(0x00000002, MEM_STCFG3); /* type = PCMCIA */
- writel(timing3, MEM_STTIME3);
- writel(0x10000000, MEM_STADDR3); /* any PCMCIA select */
+ au_writel(0x00000002, MEM_STCFG3); /* type = PCMCIA */
+ au_writel(timing3, MEM_STTIME3);
+ au_writel(0x10000000, MEM_STADDR3); /* any PCMCIA select */
au_sync_delay(1);
pcmcia_socket =
Index: au1000_pb1x00.c
===================================================================
RCS file: /cvsroot/linux-mips/linux/drivers/pcmcia/au1000_pb1x00.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- au1000_pb1x00.c 22 Apr 2002 23:28:50 -0000 1.3
+++ au1000_pb1x00.c 1 May 2002 18:00:30 -0000 1.4
@@ -71,14 +71,14 @@
u16 pcr;
pcr = PCR_SLOT_0_RST | PCR_SLOT_1_RST;
- writew(0x8000, PB1000_MDR); /* clear pcmcia interrupt */
+ au_writel(0x8000, PB1000_MDR); /* clear pcmcia interrupt */
au_sync_delay(100);
- writew(0x4000, PB1000_MDR); /* enable pcmcia interrupt */
+ au_writel(0x4000, PB1000_MDR); /* enable pcmcia interrupt */
au_sync();
pcr |= SET_VCC_VPP(VCC_HIZ,VPP_HIZ,0);
pcr |= SET_VCC_VPP(VCC_HIZ,VPP_HIZ,1);
- writew(pcr, PB1000_PCR);
+ au_writel(pcr, PB1000_PCR);
au_sync_delay(20);
return PCMCIA_NUM_SOCKS;
@@ -86,9 +86,9 @@
#else /* fixme -- take care of the Pb1500 at some point */
u16 pcr;
- pcr = readw(PB1100_MEM_PCMCIA) & ~0xf; /* turn off power */
+ pcr = au_readw(PB1100_MEM_PCMCIA) & ~0xf; /* turn off power */
pcr &= ~(PB1100_PC_DEASSERT_RST | PB1100_PC_DRV_EN);
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(500);
return PCMCIA_NUM_SOCKS;
#endif
@@ -101,14 +101,14 @@
pcr = PCR_SLOT_0_RST | PCR_SLOT_1_RST;
pcr |= SET_VCC_VPP(VCC_HIZ,VPP_HIZ,0);
pcr |= SET_VCC_VPP(VCC_HIZ,VPP_HIZ,1);
- writew(pcr, PB1000_PCR);
+ au_writel(pcr, PB1000_PCR);
au_sync_delay(20);
return 0;
#else
u16 pcr;
- pcr = readw(PB1100_MEM_PCMCIA) & ~0xf; /* turn off power */
+ pcr = au_readw(PB1100_MEM_PCMCIA) & ~0xf; /* turn off power */
pcr &= ~(PB1100_PC_DEASSERT_RST | PB1100_PC_DRV_EN);
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(2);
return 0;
#endif
@@ -118,17 +118,17 @@
pb1x00_pcmcia_socket_state(unsigned sock, struct pcmcia_state *state)
{
u32 inserted0, inserted1;
- unsigned short vs0, vs1;
+ u16 vs0, vs1;
#ifdef CONFIG_MIPS_PB1000
- vs0 = vs1 = readw(PB1000_ACR1);
+ vs0 = vs1 = (u16)au_readl(PB1000_ACR1);
inserted0 = !(vs0 & (ACR1_SLOT_0_CD1 | ACR1_SLOT_0_CD2));
inserted1 = !(vs1 & (ACR1_SLOT_1_CD1 | ACR1_SLOT_1_CD2));
vs0 = (vs0 >> 4) & 0x3;
vs1 = (vs1 >> 12) & 0x3;
#else
- vs0 = (readw(PB1100_BOARD_STATUS) >> 4) & 0x3;
- inserted0 = !((readl(SYS_PINSTATERD) >> 9) & 0x1); /* gpio 9 */
+ vs0 = (au_readw(PB1100_BOARD_STATUS) >> 4) & 0x3;
+ inserted0 = !((au_readl(SYS_PINSTATERD) >> 9) & 0x1); /* gpio 9 */
#endif
state->ready = 0;
@@ -207,7 +207,7 @@
if(configure->sock > PCMCIA_MAX_SOCK) return -1;
#ifdef CONFIG_MIPS_PB1000
- pcr = readw(PB1000_PCR);
+ pcr = au_readl(PB1000_PCR);
if (configure->sock == 0) {
pcr &= ~(PCR_SLOT_0_VCC0 | PCR_SLOT_0_VCC1 |
@@ -317,12 +317,12 @@
if (configure->reset) {
pcr |= PCR_SLOT_0_RST;
}
- writew(pcr, PB1000_PCR);
+ au_writel(pcr, PB1000_PCR);
au_sync_delay(300);
#else
- pcr = readw(PB1100_MEM_PCMCIA) & ~0xf;
+ pcr = au_readw(PB1100_MEM_PCMCIA) & ~0xf;
DEBUG(KERN_INFO "Vcc %dV Vpp %dV, pcr %x, reset %d\n",
configure->vcc, configure->vpp, pcr, configure->reset);
@@ -381,20 +381,20 @@
break;
}
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(300);
if (!configure->reset) {
pcr |= PB1100_PC_DRV_EN;
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(100);
pcr |= PB1100_PC_DEASSERT_RST;
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(100);
}
else {
pcr &= ~(PB1100_PC_DEASSERT_RST | PB1100_PC_DRV_EN);
- writew(pcr, PB1100_MEM_PCMCIA);
+ au_writew(pcr, PB1100_MEM_PCMCIA);
au_sync_delay(100);
}
#endif
|