~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-m68k/amigayle.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2 ** asm-m68k/amigayle.h -- This header defines the registers of the gayle chip
  3 **                        found on the Amiga 1200
  4 **                        This information was found by disassembling card.resource,
  5 **                        so the definitions may not be 100% correct
  6 **                        anyone has an official doc ?
  7 **
  8 ** Copyright 1997 by Alain Malek
  9 **
 10 ** This file is subject to the terms and conditions of the GNU General Public
 11 ** License.  See the file COPYING in the main directory of this archive
 12 ** for more details.
 13 **
 14 ** Created: 11/28/97 by Alain Malek
 15 */
 16 
 17 #ifndef _M68K_AMIGAYLE_H_
 18 #define _M68K_AMIGAYLE_H_
 19 
 20 #include <asm/amigahw.h>
 21 #include <asm/io.h>
 22 
 23 /* memory layout */
 24 
 25 #define GAYLE_RAM               (0x600000+zTwoBase)
 26 #define GAYLE_RAMSIZE           (0x400000)
 27 #define GAYLE_ATTRIBUTE         (0xa00000+zTwoBase)
 28 #define GAYLE_ATTRIBUTESIZE     (0x020000)
 29 #define GAYLE_IO                (0xa20000+zTwoBase)     /* 16bit and even 8bit registers */
 30 #define GAYLE_IOSIZE            (0x010000)
 31 #define GAYLE_IO_8BITODD        (0xa30000+zTwoBase)     /* odd 8bit registers */
 32 
 33 /* offset for accessing odd IO registers */
 34 #define GAYLE_ODD               (GAYLE_IO_8BITODD-GAYLE_IO-1)
 35 
 36 /* GAYLE registers */
 37 
 38 struct GAYLE {
 39         u_char cardstatus;
 40         u_char pad0[0x1000-1];
 41 
 42         u_char intreq;
 43         u_char pad1[0x1000-1];
 44 
 45         u_char inten;
 46         u_char pad2[0x1000-1];
 47 
 48         u_char config;
 49         u_char pad3[0x1000-1];
 50 };
 51 
 52 #define GAYLE_ADDRESS   (0xda8000)      /* gayle main registers base address */
 53 
 54 #define GAYLE_RESET     (0xa40000)      /* write 0x00 to start reset,
 55                                            read 1 byte to stop reset */
 56 
 57 #define gayle (*(volatile struct GAYLE *)(zTwoBase+GAYLE_ADDRESS))
 58 #define gayle_reset (*(volatile u_char *)(zTwoBase+GAYLE_RESET))
 59 
 60 #define gayle_attribute ((volatile u_char *)(GAYLE_ATTRIBUTE))
 61 
 62 #define gayle_inb(a) readb( GAYLE_IO+(a)+(((a)&1)*GAYLE_ODD) )
 63 #define gayle_outb(v,a) writeb( v, GAYLE_IO+(a)+(((a)&1)*GAYLE_ODD) )
 64 
 65 #define gayle_inw(a) readw( GAYLE_IO+(a) )
 66 #define gayle_outw(v,a) writew( v, GAYLE_IO+(a) )
 67 
 68 /* GAYLE_CARDSTATUS bit def */
 69 
 70 #define GAYLE_CS_CCDET          0x40    /* credit card detect */
 71 #define GAYLE_CS_BVD1           0x20    /* battery voltage detect 1 */
 72 #define GAYLE_CS_SC             0x20    /* credit card status change */
 73 #define GAYLE_CS_BVD2           0x10    /* battery voltage detect 2 */
 74 #define GAYLE_CS_DA             0x10    /* digital audio */
 75 #define GAYLE_CS_WR             0x08    /* write enable (1 == enabled) */
 76 #define GAYLE_CS_BSY            0x04    /* credit card busy */
 77 #define GAYLE_CS_IRQ            0x04    /* interrupt request */
 78 
 79 /* GAYLE_IRQ bit def */
 80 
 81 #define GAYLE_IRQ_IDE           0x80
 82 #define GAYLE_IRQ_CCDET         0x40
 83 #define GAYLE_IRQ_BVD1          0x20
 84 #define GAYLE_IRQ_SC            0x20
 85 #define GAYLE_IRQ_BVD2          0x10
 86 #define GAYLE_IRQ_DA            0x10
 87 #define GAYLE_IRQ_WR            0x08
 88 #define GAYLE_IRQ_BSY           0x04
 89 #define GAYLE_IRQ_IRQ           0x04
 90 #define GAYLE_IRQ_IDEACK1       0x02
 91 #define GAYLE_IRQ_IDEACK0       0x01
 92 
 93 /* GAYLE_CONFIG bit def
 94    (bit 0-1 for program voltage, bit 2-3 for access speed */
 95 
 96 #define GAYLE_CFG_0V            0x00
 97 #define GAYLE_CFG_5V            0x01
 98 #define GAYLE_CFG_12V           0x02
 99 
100 #define GAYLE_CFG_100NS         0x08
101 #define GAYLE_CFG_150NS         0x04
102 #define GAYLE_CFG_250NS         0x00
103 #define GAYLE_CFG_720NS         0x0c
104 
105 #endif /* asm-m68k/amigayle.h */
106 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.