pcmcia.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * linux/include/asm-arm/arch-pxa/pcmcia.h
  3.  *
  4.  * Author: George Davis
  5.  * Created: Jan 10, 2002
  6.  * Copyright: MontaVista Software Inc.
  7.  * 
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License version 2 as
  10.  * published by the Free Software Foundation.
  11.  *
  12.  *
  13.  * Originally based upon linux/include/asm-arm/arch-sa1100/pcmcia.h
  14.  *
  15.  */
  16. #ifndef _ASM_ARCH_PCMCIA
  17. #define _ASM_ARCH_PCMCIA
  18. /* Ideally, we'd support up to MAX_SOCK sockets, but PXA250 only
  19.  * provides support for a maximum of two.
  20.  */
  21. #define PXA_PCMCIA_MAX_SOCK   (2)
  22. #ifndef __ASSEMBLY__
  23. struct pcmcia_init {
  24.   void (*handler)(int irq, void *dev, struct pt_regs *regs);
  25. };
  26. struct pcmcia_state {
  27.   unsigned detect: 1,
  28.             ready: 1,
  29.              bvd1: 1,
  30.              bvd2: 1,
  31.            wrprot: 1,
  32.             vs_3v: 1,
  33.             vs_Xv: 1;
  34. };
  35. struct pcmcia_state_array {
  36.   unsigned int size;
  37.   struct pcmcia_state *state;
  38. };
  39. struct pcmcia_configure {
  40.   unsigned sock: 8,
  41.             vcc: 8,
  42.             vpp: 8,
  43.          output: 1,
  44.         speaker: 1,
  45.           reset: 1;
  46. };
  47. struct pcmcia_irq_info {
  48.   unsigned int sock;
  49.   unsigned int irq;
  50. };
  51. struct pcmcia_low_level {
  52.   int (*init)(struct pcmcia_init *);
  53.   int (*shutdown)(void);
  54.   int (*socket_state)(struct pcmcia_state_array *);
  55.   int (*get_irq_info)(struct pcmcia_irq_info *);
  56.   int (*configure_socket)(const struct pcmcia_configure *);
  57. };
  58. extern struct pcmcia_low_level *pcmcia_low_level;
  59. #endif  /* __ASSEMBLY__ */
  60. #endif