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

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2. ** asm-m68k/pcmcia.h -- Amiga Linux PCMCIA Definitions
  3. **
  4. ** Copyright 1997 by Alain Malek
  5. **
  6. ** This file is subject to the terms and conditions of the GNU General Public
  7. ** License.  See the file COPYING in the main directory of this archive
  8. ** for more details.
  9. **
  10. ** Created: 12/10/97 by Alain Malek
  11. */
  12. #ifndef __AMIGA_PCMCIA_H__
  13. #define __AMIGA_PCMCIA_H__
  14. #include <asm/amigayle.h>
  15. /* prototypes */
  16. void pcmcia_reset(void);
  17. int pcmcia_copy_tuple(unsigned char tuple_id, void *tuple, int max_len);
  18. void pcmcia_program_voltage(int voltage);
  19. void pcmcia_access_speed(int speed);
  20. void pcmcia_write_enable(void);
  21. void pcmcia_write_disable(void);
  22. static inline u_char pcmcia_read_status(void)
  23. {
  24. return (gayle.cardstatus & 0x7c);
  25. }
  26. static inline u_char pcmcia_get_intreq(void)
  27. {
  28. return (gayle.intreq);
  29. }
  30. static inline void pcmcia_ack_int(u_char intreq)
  31. {
  32. gayle.intreq = 0xf8;
  33. }
  34. static inline void pcmcia_enable_irq(void)
  35. {
  36. gayle.inten |= GAYLE_IRQ_IRQ;
  37. }
  38. static inline void pcmcia_disable_irq(void)
  39. {
  40. gayle.inten &= ~GAYLE_IRQ_IRQ;
  41. }
  42. #define PCMCIA_INSERTED (gayle.cardstatus & GAYLE_CS_CCDET)
  43. /* valid voltages for pcmcia_ProgramVoltage */
  44. #define PCMCIA_0V 0
  45. #define PCMCIA_5V 5
  46. #define PCMCIA_12V 12
  47. /* valid speeds for pcmcia_AccessSpeed */
  48. #define PCMCIA_SPEED_100NS 100
  49. #define PCMCIA_SPEED_150NS 150
  50. #define PCMCIA_SPEED_250NS 250
  51. #define PCMCIA_SPEED_720NS 720
  52. /* PCMCIA Tuple codes */
  53. #define CISTPL_NULL 0x00
  54. #define CISTPL_DEVICE 0x01
  55. #define CISTPL_LONGLINK_CB 0x02
  56. #define CISTPL_CONFIG_CB 0x04
  57. #define CISTPL_CFTABLE_ENTRY_CB 0x05
  58. #define CISTPL_LONGLINK_MFC 0x06
  59. #define CISTPL_BAR 0x07
  60. #define CISTPL_CHECKSUM 0x10
  61. #define CISTPL_LONGLINK_A 0x11
  62. #define CISTPL_LONGLINK_C 0x12
  63. #define CISTPL_LINKTARGET 0x13
  64. #define CISTPL_NO_LINK 0x14
  65. #define CISTPL_VERS_1 0x15
  66. #define CISTPL_ALTSTR 0x16
  67. #define CISTPL_DEVICE_A 0x17
  68. #define CISTPL_JEDEC_C 0x18
  69. #define CISTPL_JEDEC_A 0x19
  70. #define CISTPL_CONFIG 0x1a
  71. #define CISTPL_CFTABLE_ENTRY 0x1b
  72. #define CISTPL_DEVICE_OC 0x1c
  73. #define CISTPL_DEVICE_OA 0x1d
  74. #define CISTPL_DEVICE_GEO 0x1e
  75. #define CISTPL_DEVICE_GEO_A 0x1f
  76. #define CISTPL_MANFID 0x20
  77. #define CISTPL_FUNCID 0x21
  78. #define CISTPL_FUNCE 0x22
  79. #define CISTPL_SWIL 0x23
  80. #define CISTPL_END 0xff
  81. /* FUNCID */
  82. #define CISTPL_FUNCID_MULTI 0x00
  83. #define CISTPL_FUNCID_MEMORY 0x01
  84. #define CISTPL_FUNCID_SERIAL 0x02
  85. #define CISTPL_FUNCID_PARALLEL 0x03
  86. #define CISTPL_FUNCID_FIXED 0x04
  87. #define CISTPL_FUNCID_VIDEO 0x05
  88. #define CISTPL_FUNCID_NETWORK 0x06
  89. #define CISTPL_FUNCID_AIMS 0x07
  90. #define CISTPL_FUNCID_SCSI 0x08
  91. #endif