162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *	include/asm-mips/dec/kn02ca.h
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci *	Personal DECstation 5000/xx (Maxine or KN02-CA) definitions.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci *	Copyright (C) 2002, 2003  Maciej W. Rozycki
862306a36Sopenharmony_ci */
962306a36Sopenharmony_ci#ifndef __ASM_MIPS_DEC_KN02CA_H
1062306a36Sopenharmony_ci#define __ASM_MIPS_DEC_KN02CA_H
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#include <asm/dec/kn02xa.h>		/* For common definitions. */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci/*
1562306a36Sopenharmony_ci * CPU interrupt bits.
1662306a36Sopenharmony_ci */
1762306a36Sopenharmony_ci#define KN02CA_CPU_INR_HALT	6	/* HALT from ACCESS.Bus */
1862306a36Sopenharmony_ci#define KN02CA_CPU_INR_CASCADE	5	/* I/O ASIC cascade */
1962306a36Sopenharmony_ci#define KN02CA_CPU_INR_BUS	4	/* memory, I/O bus read/write errors */
2062306a36Sopenharmony_ci#define KN02CA_CPU_INR_RTC	3	/* DS1287 RTC */
2162306a36Sopenharmony_ci#define KN02CA_CPU_INR_TIMER	2	/* ARC periodic timer */
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci/*
2462306a36Sopenharmony_ci * I/O ASIC interrupt bits.  Star marks denote non-IRQ status bits.
2562306a36Sopenharmony_ci */
2662306a36Sopenharmony_ci#define KN02CA_IO_INR_FLOPPY	15	/* 82077 FDC */
2762306a36Sopenharmony_ci#define KN02CA_IO_INR_NVRAM	14	/* (*) NVRAM clear jumper */
2862306a36Sopenharmony_ci#define KN02CA_IO_INR_POWERON	13	/* (*) ACCESS.Bus/power-on reset */
2962306a36Sopenharmony_ci#define KN02CA_IO_INR_TC0	12	/* TURBOchannel slot #0 */
3062306a36Sopenharmony_ci#define KN02CA_IO_INR_TIMER	12	/* ARC periodic timer (?) */
3162306a36Sopenharmony_ci#define KN02CA_IO_INR_ISDN	11	/* Am79C30A ISDN */
3262306a36Sopenharmony_ci#define KN02CA_IO_INR_NRMOD	10	/* (*) NRMOD manufacturing jumper */
3362306a36Sopenharmony_ci#define KN02CA_IO_INR_ASC	9	/* ASC (NCR53C94) SCSI */
3462306a36Sopenharmony_ci#define KN02CA_IO_INR_LANCE	8	/* LANCE (Am7990) Ethernet */
3562306a36Sopenharmony_ci#define KN02CA_IO_INR_HDFLOPPY	7	/* (*) HD (1.44MB) floppy status */
3662306a36Sopenharmony_ci#define KN02CA_IO_INR_SCC0	6	/* SCC (Z85C30) serial #0 */
3762306a36Sopenharmony_ci#define KN02CA_IO_INR_TC1	5	/* TURBOchannel slot #1 */
3862306a36Sopenharmony_ci#define KN02CA_IO_INR_XDFLOPPY	4	/* (*) XD (2.88MB) floppy status */
3962306a36Sopenharmony_ci#define KN02CA_IO_INR_VIDEO	3	/* framebuffer */
4062306a36Sopenharmony_ci#define KN02CA_IO_INR_XVIDEO	2	/* ~framebuffer */
4162306a36Sopenharmony_ci#define KN02CA_IO_INR_AB_XMIT	1	/* ACCESS.bus transmit */
4262306a36Sopenharmony_ci#define KN02CA_IO_INR_AB_RECV	0	/* ACCESS.bus receive */
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci/*
4662306a36Sopenharmony_ci * Memory Error Register bits.
4762306a36Sopenharmony_ci */
4862306a36Sopenharmony_ci#define KN02CA_MER_INTR		(1<<27)		/* ARC IRQ status & ack */
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci/*
5162306a36Sopenharmony_ci * Memory Size Register bits.
5262306a36Sopenharmony_ci */
5362306a36Sopenharmony_ci#define KN02CA_MSR_INTREN	(1<<26)		/* ARC periodic IRQ enable */
5462306a36Sopenharmony_ci#define KN02CA_MSR_MS10EN	(1<<25)		/* 10/1ms IRQ period select */
5562306a36Sopenharmony_ci#define KN02CA_MSR_PFORCE	(0xf<<21)	/* byte lane error force */
5662306a36Sopenharmony_ci#define KN02CA_MSR_MABEN	(1<<20)		/* A side VFB address enable */
5762306a36Sopenharmony_ci#define KN02CA_MSR_LASTBANK	(0x7<<17)	/* onboard RAM bank # */
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci/*
6062306a36Sopenharmony_ci * I/O ASIC System Support Register bits.
6162306a36Sopenharmony_ci */
6262306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_14	(1<<14)		/* unused */
6362306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_13	(1<<13)		/* unused */
6462306a36Sopenharmony_ci#define KN03CA_IO_SSR_ISDN_RST	(1<<12)		/* ~ISDN (Am79C30A) reset */
6562306a36Sopenharmony_ci
6662306a36Sopenharmony_ci#define KN03CA_IO_SSR_FLOPPY_RST (1<<7)		/* ~FDC (82077) reset */
6762306a36Sopenharmony_ci#define KN03CA_IO_SSR_VIDEO_RST	(1<<6)		/* ~framebuffer reset */
6862306a36Sopenharmony_ci#define KN03CA_IO_SSR_AB_RST	(1<<5)		/* ACCESS.bus reset */
6962306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_4	(1<<4)		/* unused */
7062306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_3	(1<<4)		/* unused */
7162306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_2	(1<<2)		/* unused */
7262306a36Sopenharmony_ci#define KN03CA_IO_SSR_RES_1	(1<<1)		/* unused */
7362306a36Sopenharmony_ci#define KN03CA_IO_SSR_LED	(1<<0)		/* power LED */
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci#endif /* __ASM_MIPS_DEC_KN02CA_H */
76