18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __ASM_RC32434_IRQ_H
38c2ecf20Sopenharmony_ci#define __ASM_RC32434_IRQ_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#define NR_IRQS 256
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#include <asm/mach-generic/irq.h>
88c2ecf20Sopenharmony_ci#include <asm/mach-rc32434/rb.h>
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci/* Interrupt Controller */
118c2ecf20Sopenharmony_ci#define IC_GROUP0_PEND		(REGBASE + 0x38000)
128c2ecf20Sopenharmony_ci#define IC_GROUP0_MASK		(REGBASE + 0x38008)
138c2ecf20Sopenharmony_ci#define IC_GROUP_OFFSET		0x0C
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#define NUM_INTR_GROUPS		5
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/* 16550 UARTs */
188c2ecf20Sopenharmony_ci#define GROUP0_IRQ_BASE		8	/* GRP2 IRQ numbers start here */
198c2ecf20Sopenharmony_ci					/* GRP3 IRQ numbers start here */
208c2ecf20Sopenharmony_ci#define GROUP1_IRQ_BASE		(GROUP0_IRQ_BASE + 32)
218c2ecf20Sopenharmony_ci					/* GRP4 IRQ numbers start here */
228c2ecf20Sopenharmony_ci#define GROUP2_IRQ_BASE		(GROUP1_IRQ_BASE + 32)
238c2ecf20Sopenharmony_ci					/* GRP5 IRQ numbers start here */
248c2ecf20Sopenharmony_ci#define GROUP3_IRQ_BASE		(GROUP2_IRQ_BASE + 32)
258c2ecf20Sopenharmony_ci#define GROUP4_IRQ_BASE		(GROUP3_IRQ_BASE + 32)
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci#define UART0_IRQ		(GROUP3_IRQ_BASE + 0)
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#define ETH0_DMA_RX_IRQ		(GROUP1_IRQ_BASE + 0)
308c2ecf20Sopenharmony_ci#define ETH0_DMA_TX_IRQ		(GROUP1_IRQ_BASE + 1)
318c2ecf20Sopenharmony_ci#define ETH0_RX_OVR_IRQ		(GROUP3_IRQ_BASE + 9)
328c2ecf20Sopenharmony_ci#define ETH0_TX_UND_IRQ		(GROUP3_IRQ_BASE + 10)
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci#define GPIO_MAPPED_IRQ_BASE	GROUP4_IRQ_BASE
358c2ecf20Sopenharmony_ci#define GPIO_MAPPED_IRQ_GROUP	4
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci#endif	/* __ASM_RC32434_IRQ_H */
38