Logo Search packages:      
Sourcecode: linux version File versions  Download package

amipcmcia.h

/*
** 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

Generated by  Doxygen 1.6.0   Back to index