• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/pcmcia/
1#ifndef BCM63XX_PCMCIA_H_
2#define BCM63XX_PCMCIA_H_
3
4#include <linux/types.h>
5#include <linux/timer.h>
6#include <pcmcia/ss.h>
7#include <bcm63xx_dev_pcmcia.h>
8
9/* socket polling rate in ms */
10#define BCM63XX_PCMCIA_POLL_RATE	500
11
12enum {
13	CARD_CARDBUS = (1 << 0),
14	CARD_PCCARD = (1 << 1),
15	CARD_5V = (1 << 2),
16	CARD_3V = (1 << 3),
17	CARD_XV = (1 << 4),
18	CARD_YV = (1 << 5),
19};
20
21struct bcm63xx_pcmcia_socket {
22	struct pcmcia_socket socket;
23
24	/* platform specific data */
25	struct bcm63xx_pcmcia_platform_data *pd;
26
27	/* all regs access are protected by this spinlock */
28	spinlock_t lock;
29
30	/* pcmcia registers resource */
31	struct resource *reg_res;
32
33	/* base remapped address of registers */
34	void __iomem *base;
35
36	/* whether a card is detected at the moment */
37	int card_detected;
38
39	/* type of detected card (mask of above enum) */
40	u8 card_type;
41
42	/* keep last socket status to implement event reporting */
43	unsigned int old_status;
44
45	/* backup of requested socket state */
46	socket_state_t requested_state;
47
48	/* timer used for socket status polling */
49	struct timer_list timer;
50
51	/* attribute/common memory resources */
52	struct resource *attr_res;
53	struct resource *common_res;
54	struct resource *io_res;
55
56	/* base address of io memory */
57	void __iomem *io_base;
58};
59
60#endif /* BCM63XX_PCMCIA_H_ */
61