Blame view

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