111 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			111 lines
		
	
	
	
		
			2.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								** 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
							 |