#ifndef __VIC_H__
 
#define __VIC_H__
 
 
 
//****************************************************************************
 
// Copyright (C) 2001-2004  ARW Elktronik Germany
 
//
 
// This program is free software; you can redistribute it and/or modify
 
// it under the terms of the GNU General Public License as published by
 
// the Free Software Foundation; either version 2 of the License, or
 
// (at your option) any later version.
 
//
 
// This program is distributed in the hope that it will be useful,
 
// but WITHOUT ANY WARRANTY; without even the implied warranty of
 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
// GNU General Public License for more details.
 
//
 
// You should have received a copy of the GNU General Public License
 
// along with this program; if not, write to the Free Software
 
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
//
 
// This product is not authorized for use as critical component in
 
// life support systems without the express written approval of
 
// ARW Elektronik Germany.
 
//
 
// Please announce changes and hints to ARW Elektronik
 
//
 
// Maintainer(s): Klaus Hitschler (klaus.hitschler@gmx.de)
 
//****************************************************************************
 
 
 
//****************************************************************************
 
//
 
// vic.h - all definitions about the VIC68A chip
 
//
 
// $Log: vic.h,v $
 
// Revision 1.6  2004/08/13 19:23:26  klaus
 
// conversion to kernel-version 2.6, released version 3.0
 
//
 
// Revision 1.5  2002/10/18 21:56:28  klaus
 
// completed functional features, untested
 
//
 
// Revision 1.4  2002/10/18 21:56:28  klaus
 
// completed functional features, untested
 
//
 
// Revision 1.3  2002/10/10 18:57:46  klaus
 
// source beautyfied
 
//
 
//****************************************************************************
 
 
 
//****************************************************************************
 
// INCLUDES
 
#include <linux/types.h>
 
 
 
//****************************************************************************
 
// DEFINES
 
#ifndef __KERNEL__
 
    #define u8  __u8
 
    #define u16 __u16
 
    #define u32 __u32
 
#endif
 
 
 
#define VICR1   (u16)0x07      /* VMEbus Interrupt Control Register #..  */
 
#define VICR2   (u16)0x0b
 
#define VICR3   (u16)0x0f   
 
#define VICR4   (u16)0x13
 
#define VICR5   (u16)0x17
 
#define VICR6   (u16)0x1b
 
#define VICR7   (u16)0x1f
 
 
 
#define LICR1   (u16)0x27      /* Local interrupt control register ..     */
 
#define LICR2   (u16)0x2b
 
#define LICR3   (u16)0x2f  
 
#define LICR4   (u16)0x33
 
#define LICR5   (u16)0x37
 
#define LICR6   (u16)0x3b
 
#define LICR7   (u16)0x3f
 
#define LIVBR   (u16)0x57     /* Local interrupt vector base register     */
 
 
 
#define ICGSICR (u16)0x43     /* ICGS interrupt control register          */
 
#define ICGSVBR (u16)0x4f     /* ICGS vector base register                */
 
 
 
#define ICMSICR (u16)0x47     /* ICMS interrupt control register          */
 
#define ICMSVBR (u16)0x53     /* ICMS vector base register                */
 
 
 
#define EGICR   (u16)0x4b     /* Error group interrupt control register   */
 
#define EGIVBR  (u16)0x5b     /* Error group interrupt vector base rg     */
 
 
 
#define ICSR    (u16)0x5f     /* Interprozessor communication switch rg   */
 
#define ICR0    (u16)0x63
 
#define ICR1    (u16)0x67
 
#define ICR2    (u16)0x6b
 
#define ICR3    (u16)0x6f
 
#define ICR4    (u16)0x73
 
#define ICR5    (u16)0x77
 
#define ICR6    (u16)0x7b 
 
#define ICR7    (u16)0x7f
 
 
 
#define VIICR   (u16)0x03     /* VMEbus Interrupter Interrupt Control   */
 
#define VIRSR   (u16)0x83     /* VMEbus interrupt request status reg    */
 
#define VIVR1   (u16)0x87     /* VMEbus interrupt vector register ..    */
 
#define VIVR2   (u16)0x8b
 
#define VIVR3   (u16)0x8f
 
#define VIVR4   (u16)0x93
 
#define VIVR5   (u16)0x97
 
#define VIVR6   (u16)0x9b
 
#define VIVR7   (u16)0x9f
 
 
 
#define TTR     (u16)0xa3     /* transfer timeout register               */
 
#define LTR     (u16)0xa7     /* local timing register                   */
 
#define ICR     (u16)0xaf     /* interface configuration register        */
 
 
 
#define ARCR    (u16)0xb3     /* arbiter/requester configuration register*/
 
#define AMSR    (u16)0xb7     /* address modifier source register        */
 
#define BESR    (u16)0xbb     /* bus error source register               */
 
 
 
#define DSICR   (u16)0x23     /* DMA status interrupt control register   */
 
#define DSR     (u16)0xbf     /* DMA status register                     */
 
 
 
#define SSCR00  (u16)0xc3     /* slave select 0 control register 0       */
 
#define SSCR01  (u16)0xc7     /* slave select 0 control register 1       */
 
#define SSCR10  (u16)0xcb     /* slave select 1 control register 0       */
 
#define SSCR11  (u16)0xcf     /* slave select 1 control register 1       */
 
 
 
#define RCR     (u16)0xd3     /* release control register                */
 
 
 
#define BTDR    (u16)0xab     /* block transfer definition register      */
 
#define BTCR    (u16)0xd7     /* block transfer control register         */
 
#define BTLR0   (u16)0xdb     /* block transfer length register 0        */
 
#define BTLR1   (u16)0xdf     /* block transfer length register 1        */
 
 
 
#define SRR     (u16)0xe3     /* system reset register                   */
 
 
 
 
 
#endif // __VIC_H__