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

TOMOYO Linux Cross Reference
Linux/arch/m68k/include/asm/amigayle.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
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 <linux/types.h>
 21 #include <asm/amigahw.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 #if 0
 63 #define gayle_inb(a) readb( GAYLE_IO+(a)+(((a)&1)*GAYLE_ODD) )
 64 #define gayle_outb(v,a) writeb( v, GAYLE_IO+(a)+(((a)&1)*GAYLE_ODD) )
 65 
 66 #define gayle_inw(a) readw( GAYLE_IO+(a) )
 67 #define gayle_outw(v,a) writew( v, GAYLE_IO+(a) )
 68 #endif
 69 
 70 /* GAYLE_CARDSTATUS bit def */
 71 
 72 #define GAYLE_CS_CCDET          0x40    /* credit card detect */
 73 #define GAYLE_CS_BVD1           0x20    /* battery voltage detect 1 */
 74 #define GAYLE_CS_SC             0x20    /* credit card status change */
 75 #define GAYLE_CS_BVD2           0x10    /* battery voltage detect 2 */
 76 #define GAYLE_CS_DA             0x10    /* digital audio */
 77 #define GAYLE_CS_WR             0x08    /* write enable (1 == enabled) */
 78 #define GAYLE_CS_BSY            0x04    /* credit card busy */
 79 #define GAYLE_CS_IRQ            0x04    /* interrupt request */
 80 
 81 /* GAYLE_IRQ bit def */
 82 
 83 #define GAYLE_IRQ_IDE           0x80
 84 #define GAYLE_IRQ_CCDET         0x40
 85 #define GAYLE_IRQ_BVD1          0x20
 86 #define GAYLE_IRQ_SC            0x20
 87 #define GAYLE_IRQ_BVD2          0x10
 88 #define GAYLE_IRQ_DA            0x10
 89 #define GAYLE_IRQ_WR            0x08
 90 #define GAYLE_IRQ_BSY           0x04
 91 #define GAYLE_IRQ_IRQ           0x04
 92 #define GAYLE_IRQ_IDEACK1       0x02
 93 #define GAYLE_IRQ_IDEACK0       0x01
 94 
 95 /* GAYLE_CONFIG bit def
 96    (bit 0-1 for program voltage, bit 2-3 for access speed */
 97 
 98 #define GAYLE_CFG_0V            0x00
 99 #define GAYLE_CFG_5V            0x01
100 #define GAYLE_CFG_12V           0x02
101 
102 #define GAYLE_CFG_100NS         0x08
103 #define GAYLE_CFG_150NS         0x04
104 #define GAYLE_CFG_250NS         0x00
105 #define GAYLE_CFG_720NS         0x0c
106 
107 struct gayle_ide_platform_data {
108         unsigned long base;
109         unsigned long irqport;
110         int explicit_ack;       /* A1200 IDE needs explicit ack */
111 };
112 
113 #endif /* asm-m68k/amigayle.h */
114 

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

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php