diff options
author | Manuel Lauss <manuel.lauss@googlemail.com> | 2009-10-04 08:55:27 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2010-02-27 06:52:51 -0500 |
commit | 66213b3ccfc770704025ce9465fa3aaedde21b55 (patch) | |
tree | 2f74c1819b371926952c9c5b8f98ae808588e728 /arch/mips/include/asm/mach-au1x00 | |
parent | 7e50b2b741bb4f9dbddc9f56972ef82a7d4b33ed (diff) |
MIPS: PCMCIA: new socket driver for Au1000 demoboards.
New PCMCIA socket driver for all Db/Pb1xxx boards (except Pb1000),
which replaces au1000_db1x00.c and (most of) au1000_pb1x00.c.
Notable improvements:
- supports Db1000, DB/PB1100/1500/1550/1200.
- support for carddetect and statuschange IRQs.
- pcmcia socket mem/io/attr areas and irqs passed through
platform resource information.
- doesn't freeze system during card insertion/ejection like
the one it replaces.
- boardtype is automatically detected using BCSR ID register.
Run-tested on the DB1200.
Cc: Linux-PCMCIA <linux-pcmcia@lists.infradead.org>
Signed-off-by: Manuel Lauss <manuel.lauss@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/include/asm/mach-au1x00')
-rw-r--r-- | arch/mips/include/asm/mach-au1x00/au1000.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/mips/include/asm/mach-au1x00/au1000.h b/arch/mips/include/asm/mach-au1x00/au1000.h index 05078224e933..fceeca883359 100644 --- a/arch/mips/include/asm/mach-au1x00/au1000.h +++ b/arch/mips/include/asm/mach-au1x00/au1000.h | |||
@@ -1724,6 +1724,20 @@ enum soc_au1200_ints { | |||
1724 | 1724 | ||
1725 | #endif | 1725 | #endif |
1726 | 1726 | ||
1727 | /* | ||
1728 | * All Au1xx0 SOCs have a PCMCIA controller. | ||
1729 | * We setup our 32-bit pseudo addresses to be equal to the | ||
1730 | * 36-bit addr >> 4, to make it easier to check the address | ||
1731 | * and fix it. | ||
1732 | * The PCMCIA socket 0 physical attribute address is 0xF 4000 0000. | ||
1733 | * The pseudo address we use is 0xF400 0000. Any address over | ||
1734 | * 0xF400 0000 is a PCMCIA pseudo address. | ||
1735 | */ | ||
1736 | #define PCMCIA_IO_PSEUDO_PHYS (PCMCIA_IO_PHYS_ADDR >> 4) | ||
1737 | #define PCMCIA_ATTR_PSEUDO_PHYS (PCMCIA_ATTR_PHYS_ADDR >> 4) | ||
1738 | #define PCMCIA_MEM_PSEUDO_PHYS (PCMCIA_MEM_PHYS_ADDR >> 4) | ||
1739 | #define PCMCIA_PSEUDO_END (0xffffffff) | ||
1740 | |||
1727 | #ifndef _LANGUAGE_ASSEMBLY | 1741 | #ifndef _LANGUAGE_ASSEMBLY |
1728 | typedef volatile struct { | 1742 | typedef volatile struct { |
1729 | /* 0x0000 */ u32 toytrim; | 1743 | /* 0x0000 */ u32 toytrim; |