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