Home | History | Annotate | Line # | Download | only in dev
imcreg.h revision 1.4.122.1
      1  1.4.122.1  jdolecek /*	$NetBSD: imcreg.h,v 1.4.122.1 2017/12/03 11:36:41 jdolecek Exp $	*/
      2        1.1     rafal 
      3        1.1     rafal /*
      4        1.1     rafal  * Copyright (c) 2001 Rafal K. Boni
      5        1.1     rafal  * All rights reserved.
      6        1.2    simonb  *
      7        1.1     rafal  * Redistribution and use in source and binary forms, with or without
      8        1.1     rafal  * modification, are permitted provided that the following conditions
      9        1.1     rafal  * are met:
     10        1.1     rafal  * 1. Redistributions of source code must retain the above copyright
     11        1.1     rafal  *    notice, this list of conditions and the following disclaimer.
     12        1.1     rafal  * 2. Redistributions in binary form must reproduce the above copyright
     13        1.1     rafal  *    notice, this list of conditions and the following disclaimer in the
     14        1.1     rafal  *    documentation and/or other materials provided with the distribution.
     15        1.1     rafal  * 3. The name of the author may not be used to endorse or promote products
     16        1.1     rafal  *    derived from this software without specific prior written permission.
     17        1.2    simonb  *
     18        1.1     rafal  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     19        1.1     rafal  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     20        1.1     rafal  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     21        1.1     rafal  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     22        1.1     rafal  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     23        1.1     rafal  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     24        1.1     rafal  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     25        1.1     rafal  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     26        1.1     rafal  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     27        1.1     rafal  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     28        1.1     rafal  */
     29        1.1     rafal 
     30        1.1     rafal #ifndef _ARCH_SGIMIPS_DEV_IMCREG_H_
     31        1.1     rafal #define	_ARCH_SGIMIPS_DEV_IMCREG_H_
     32        1.1     rafal 
     33        1.3    sekiya #define IMC_CPUCTRL0		0x04	/* CPU control, register 0 */
     34        1.1     rafal 
     35        1.3    sekiya #define IMC_CPUCTRL0_REFMASK	0x000f	/* # lines to refresh */
     36        1.3    sekiya #define IMC_CPUCTRL0_RFE	0x0010	/* refresh enable */
     37        1.3    sekiya #define IMC_CPUCTRL0_GPR	0x0020	/* GIO parity enable */
     38        1.3    sekiya #define IMC_CPUCTRL0_MPR	0x0040	/* memory parity enable */
     39        1.3    sekiya #define IMC_CPUCTRL0_CPR	0x0080	/* cpu bus parity enable */
     40        1.3    sekiya #define IMC_CPUCTRL0_WDOG	0x0100	/* watchdog enable */
     41        1.3    sekiya #define IMC_CPUCTRL0_SIN	0x0200	/* reset system */
     42        1.3    sekiya #define IMC_CPUCTRL0_GRR	0x0400	/* graphics reset */
     43        1.3    sekiya #define IMC_CPUCTRL0_ENLOCK	0x0800	/* enable EISA memory lock */
     44        1.3    sekiya #define IMC_CPUCTRL0_CMDPAR	0x1000	/* SysCmd parity enable */
     45        1.3    sekiya #define IMC_CPUCTRL0_INTENA	0x2000	/* enable CPU interrupts */
     46        1.3    sekiya #define IMC_CPUCTRL0_SNOOPENA	0x4000	/* enable gfx DMA snoop */
     47        1.3    sekiya #define IMC_CPUCTRL0_PROM_WRENA	0x8000	/* disable buserr on PROM
     48        1.1     rafal 						 * writes */
     49        1.1     rafal #define IMC_CPUCTRL0_WRST	0x00010000	/* warm restart (reset cpu) */
     50        1.1     rafal /* Bit 17 reserved		0x00020000	*/
     51        1.1     rafal #define IMC_CPUCTRL0_LITTLE	0x00040000	/* MC little-endian toggle */
     52        1.1     rafal #define IMC_CPUCTRL0_WRRST	0x00080000	/* cpu warm reset */
     53        1.1     rafal #define IMC_CPUCTRL0_MUXHWMSK	0x01f00000	/* MUX fifo high-water mask */
     54        1.1     rafal #define IMC_CPUCTRL0_BADPAR	0x02000000	/* generate bad parity on
     55        1.1     rafal 						 * CPU->memory writes */
     56        1.2    simonb #define IMC_CPUCTRL0_NCHKMEMPAR	0x04000000	/* disable CPU parity check
     57        1.1     rafal 						 * on memory reads. */
     58        1.1     rafal #define IMC_CPUCTRL0_BACK2	0x08000000	/* enable back2back GIO wrt */
     59        1.1     rafal #define IMC_CPUCTRL0_BUSRTMSK	0xf0000000	/* stall cycle for berr data */
     60        1.1     rafal 
     61        1.3    sekiya #define IMC_CPUCTRL1		0x0c	/* CPU control, register 1 */
     62        1.1     rafal #define IMC_CPUCTRL1_MCHWMSK	0x0000000f	/* MC FIFO high water mask */
     63        1.1     rafal #define IMC_CPUCTRL1_ABORTEN	0x00000010	/* Enable GIO bus timeouts */
     64        1.1     rafal /* Bits 5 - 11 reserved		0x00000fe0	*/
     65        1.1     rafal #define IMC_CPUCTRL1_HPCFX	0x00001000	/* HPC endian fix */
     66        1.1     rafal #define IMC_CPUCTRL1_HPCLITTLE	0x00002000	/* HPC DMA is little-endian */
     67        1.1     rafal #define IMC_CPUCTRL1_EXP0FX	0x00004000	/* EXP0 endian fix */
     68        1.1     rafal #define IMC_CPUCTRL1_EXP0LITTLE	0x00008000	/* EXP0 DMA is little-endian */
     69        1.1     rafal #define IMC_CPUCTRL1_EXP1FX	0x00010000	/* EXP1 endian fix */
     70        1.1     rafal #define IMC_CPUCTRL1_EXP1LITTLE	0x00020000	/* EXP1 DMA is little-endian */
     71        1.1     rafal 
     72        1.3    sekiya #define IMC_WDOG		0x14	/* Watchdog counter */
     73        1.1     rafal #define IMC_WDOG_MASK		0x001fffff	/* counter mask */
     74        1.1     rafal 
     75        1.3    sekiya #define IMC_SYSID		0x1c	/* MC revision register */
     76        1.1     rafal #define IMC_SYSID_REVMASK	0x0000000f	/* MC revision mask */
     77        1.1     rafal #define IMC_SYSID_HAVEISA	0x00000010	/* EISA present */
     78        1.1     rafal 
     79        1.3    sekiya #define IMC_RPSSDIV		0x2c	/* RPSS divider */
     80        1.1     rafal #define IMC_RPSSDIV_DIVMSK	0x000000ff	/* RPC divider mask */
     81        1.1     rafal #define IMC_RPSSDIV_INCMSK	0x0000ff00	/* RPC increment mask */
     82        1.1     rafal 
     83        1.3    sekiya #define IMC_EEPROM		0x34	/* EEPROM serial interface */
     84        1.1     rafal /* Bit 1 is reserved		0x00000001	*/
     85        1.1     rafal #define IMC_EEPROM_CS		0x00000002	/* EEPROM chip select */
     86        1.1     rafal #define IMC_EEPROM_SCK		0x00000004	/* EEPROM serial clock */
     87        1.1     rafal #define IMC_EEPROM_SO		0x00000008	/* Serial data to EEPROM */
     88        1.1     rafal #define IMC_EEPROM_SI		0x00000010	/* Serial data from EEPROM */
     89        1.1     rafal 
     90        1.3    sekiya #define IMC_CTRLD		0x44	/* Refresh counter preload */
     91        1.1     rafal #define IMC_CTRLD_MSK		0x000000ff	/* Counter preload mask */
     92        1.1     rafal 
     93        1.3    sekiya #define IMC_REFCTR		0x4c	/* Refresh counter */
     94        1.1     rafal #define IMC_REFCTR_MSK		0x000000ff	/* Refresh counter mask */
     95        1.1     rafal 
     96        1.3    sekiya #define IMC_GIO64ARB		0x84	/* GIO64 arbitration params */
     97        1.1     rafal #define IMC_GIO64ARB_HPC64	0x00000001	/* HPC addr size (32/64bit) */
     98        1.1     rafal #define IMC_GIO64ARB_GRX64	0x00000002	/* Gfx addr size (32/64bit) */
     99        1.1     rafal #define IMC_GIO64ARB_EXP064	0x00000004	/* EXP0 addr size (32/64bit) */
    100        1.1     rafal #define IMC_GIO64ARB_EXP164	0x00000008	/* EXP0 addr size (32/64bit) */
    101        1.1     rafal #define IMC_GIO64ARB_EISA64	0x00000010	/* EISA addr size (32/64bit) */
    102        1.1     rafal #define IMC_GIO64ARB_HPCEXP64	0x00000020	/* HPC2 addr size (32/64bit) */
    103        1.1     rafal #define IMC_GIO64ARB_GRXRT	0x00000040	/* Gfx is realtime device */
    104        1.1     rafal #define IMC_GIO64ARB_EXP0RT	0x00000080	/* EXP0 is realtime device */
    105        1.1     rafal #define IMC_GIO64ARB_EXP1RT	0x00000100	/* EXP1 is realtime device */
    106        1.1     rafal #define IMC_GIO64ARB_EISAMST	0x00000200	/* EISA can be busmaster */
    107        1.1     rafal #define IMC_GIO64ARB_ONEGIO	0x00000400	/* One one GIO64 bus */
    108        1.1     rafal #define IMC_GIO64ARB_GRXMST	0x00000800	/* Gfx can be busmaster */
    109        1.1     rafal #define IMC_GIO64ARB_EXP0MST	0x00001000	/* EXP0 can be busmaster */
    110        1.1     rafal #define IMC_GIO64ARB_EXP1MST	0x00002000	/* EXP1 can be busmaster */
    111        1.1     rafal #define IMC_GIO64ARB_EXP0PIPE	0x00004000	/* EXP0 is pipelined */
    112        1.1     rafal #define IMC_GIO64ARB_EXP1PIPE	0x00008000	/* EXP1 is pipelined */
    113        1.1     rafal 
    114        1.3    sekiya #define IMC_CPUTIME		0x8c	/* Arbiter CPU time period */
    115        1.1     rafal 
    116        1.3    sekiya #define IMC_LBTIME		0x9c	/* Arbiter long-burst time */
    117        1.1     rafal 
    118  1.4.122.1  jdolecek #define IMC_MEMCFG0		0xc4	/* Mem config, register 0 */
    119        1.1     rafal 
    120  1.4.122.1  jdolecek #define IMC_MEMCFG1		0xcc	/* Mem config, register 1 */
    121        1.1     rafal 
    122        1.3    sekiya #define IMC_CPU_MEMACC		0xd4	/* CPU mem access config */
    123        1.1     rafal 
    124        1.3    sekiya #define IMC_GIO_MEMACC		0xdc	/* GIO mem access config */
    125        1.1     rafal 
    126        1.3    sekiya #define IMC_CPU_ERRADDR		0xe4	/* CPU error address */
    127        1.1     rafal 
    128        1.3    sekiya #define IMC_CPU_ERRSTAT		0xec	/* CPU error status */
    129        1.1     rafal 
    130        1.3    sekiya #define IMC_GIO_ERRADDR		0xf4	/* GIO error address */
    131        1.1     rafal 
    132        1.3    sekiya #define IMC_GIO_ERRSTAT		0xfc	/* GIO error status */
    133        1.1     rafal 
    134        1.1     rafal #endif	/* _ARCH_SGIMIPS_DEV_IMCREG_H_ */
    135        1.1     rafal 
    136