aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2008-11-26 18:41:01 +0000
committerFlorian Fainelli <florian@openwrt.org>2008-11-26 18:41:01 +0000
commit1c77ec0587c585f53a7bb8b3979a0303a1527a66 (patch)
treedb8aff070beeb2621ee6c857ee2de73e8a70dd5e /target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h
parentbd060db789def791e6ae5efc2fbf4329f3d056d3 (diff)
downloadupstream-1c77ec0587c585f53a7bb8b3979a0303a1527a66.tar.gz
upstream-1c77ec0587c585f53a7bb8b3979a0303a1527a66.tar.bz2
upstream-1c77ec0587c585f53a7bb8b3979a0303a1527a66.zip
Flatten brcm63xx patches, should make our life easier to patch files now ;)
SVN-Revision: 13368
Diffstat (limited to 'target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h')
-rw-r--r--target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h b/target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h
new file mode 100644
index 0000000000..85de86696a
--- /dev/null
+++ b/target/linux/brcm63xx/files/drivers/pcmcia/bcm63xx_pcmcia.h
@@ -0,0 +1,65 @@
+#ifndef BCM63XX_PCMCIA_H_
+#define BCM63XX_PCMCIA_H_
+
+#include <linux/types.h>
+#include <linux/timer.h>
+#include <pcmcia/ss.h>
+#include <bcm63xx_dev_pcmcia.h>
+
+/* socket polling rate in ms */
+#define BCM63XX_PCMCIA_POLL_RATE 500
+
+enum {
+ CARD_CARDBUS = (1 << 0),
+
+ CARD_PCCARD = (1 << 1),
+
+ CARD_5V = (1 << 2),
+
+ CARD_3V = (1 << 3),
+
+ CARD_XV = (1 << 4),
+
+ CARD_YV = (1 << 5),
+};
+
+struct bcm63xx_pcmcia_socket {
+ struct pcmcia_socket socket;
+
+ /* platform specific data */
+ struct bcm63xx_pcmcia_platform_data *pd;
+
+ /* all regs access are protected by this spinlock */
+ spinlock_t lock;
+
+ /* pcmcia registers resource */
+ struct resource *reg_res;
+
+ /* base remapped address of registers */
+ void __iomem *base;
+
+ /* whether a card is detected at the moment */
+ int card_detected;
+
+ /* type of detected card (mask of above enum) */
+ u8 card_type;
+
+ /* keep last socket status to implement event reporting */
+ unsigned int old_status;
+
+ /* backup of requested socket state */
+ socket_state_t requested_state;
+
+ /* timer used for socket status polling */
+ struct timer_list timer;
+
+ /* attribute/common memory resources */
+ struct resource *attr_res;
+ struct resource *common_res;
+ struct resource *io_res;
+
+ /* base address of io memory */
+ void __iomem *io_base;
+};
+
+#endif /* BCM63XX_PCMCIA_H_ */