cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

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