162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci * 362306a36Sopenharmony_ci * include/asm-sh/dreamcast/sysasic.h 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Definitions for the Dreamcast System ASIC and related peripherals. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (c) 2001 M. R. Brown <mrbrown@linuxdc.org> 862306a36Sopenharmony_ci * Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org> 962306a36Sopenharmony_ci * 1062306a36Sopenharmony_ci * This file is part of the LinuxDC project (www.linuxdc.org) 1162306a36Sopenharmony_ci */ 1262306a36Sopenharmony_ci#ifndef __ASM_SH_DREAMCAST_SYSASIC_H 1362306a36Sopenharmony_ci#define __ASM_SH_DREAMCAST_SYSASIC_H 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include <asm/irq.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci/* Hardware events - 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci Each of these events correspond to a bit within the Event Mask Registers/ 2062306a36Sopenharmony_ci Event Status Registers. Because of the virtual IRQ numbering scheme, a 2162306a36Sopenharmony_ci base offset must be used when calculating the virtual IRQ that each event 2262306a36Sopenharmony_ci takes. 2362306a36Sopenharmony_ci*/ 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci#define HW_EVENT_IRQ_BASE (48 + 16) 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci/* IRQ 13 */ 2862306a36Sopenharmony_ci#define HW_EVENT_VSYNC (HW_EVENT_IRQ_BASE + 5) /* VSync */ 2962306a36Sopenharmony_ci#define HW_EVENT_MAPLE_DMA (HW_EVENT_IRQ_BASE + 12) /* Maple DMA complete */ 3062306a36Sopenharmony_ci#define HW_EVENT_GDROM_DMA (HW_EVENT_IRQ_BASE + 14) /* GD-ROM DMA complete */ 3162306a36Sopenharmony_ci#define HW_EVENT_G2_DMA (HW_EVENT_IRQ_BASE + 15) /* G2 DMA complete */ 3262306a36Sopenharmony_ci#define HW_EVENT_PVR2_DMA (HW_EVENT_IRQ_BASE + 19) /* PVR2 DMA complete */ 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci/* IRQ 11 */ 3562306a36Sopenharmony_ci#define HW_EVENT_GDROM_CMD (HW_EVENT_IRQ_BASE + 32) /* GD-ROM cmd. complete */ 3662306a36Sopenharmony_ci#define HW_EVENT_AICA_SYS (HW_EVENT_IRQ_BASE + 33) /* AICA-related */ 3762306a36Sopenharmony_ci#define HW_EVENT_EXTERNAL (HW_EVENT_IRQ_BASE + 35) /* Ext. (expansion) */ 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci#define HW_EVENT_IRQ_MAX (HW_EVENT_IRQ_BASE + 95) 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ci/* arch/sh/boards/mach-dreamcast/irq.c */ 4262306a36Sopenharmony_ciextern int systemasic_irq_demux(int); 4362306a36Sopenharmony_ciextern void systemasic_irq_init(void); 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci#endif /* __ASM_SH_DREAMCAST_SYSASIC_H */ 4662306a36Sopenharmony_ci 47