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