162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * linux/arch/sh/boards/renesas/sh7763rdp/irq.c 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Renesas Solutions SH7763RDP Support. 662306a36Sopenharmony_ci * 762306a36Sopenharmony_ci * Copyright (C) 2008 Renesas Solutions Corp. 862306a36Sopenharmony_ci * Copyright (C) 2008 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> 962306a36Sopenharmony_ci */ 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci#include <linux/init.h> 1262306a36Sopenharmony_ci#include <linux/irq.h> 1362306a36Sopenharmony_ci#include <asm/io.h> 1462306a36Sopenharmony_ci#include <asm/irq.h> 1562306a36Sopenharmony_ci#include <mach/sh7763rdp.h> 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define INTC_BASE (0xFFD00000) 1862306a36Sopenharmony_ci#define INTC_INT2PRI7 (INTC_BASE+0x4001C) 1962306a36Sopenharmony_ci#define INTC_INT2MSKCR (INTC_BASE+0x4003C) 2062306a36Sopenharmony_ci#define INTC_INT2MSKCR1 (INTC_BASE+0x400D4) 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci/* 2362306a36Sopenharmony_ci * Initialize IRQ setting 2462306a36Sopenharmony_ci */ 2562306a36Sopenharmony_civoid __init init_sh7763rdp_IRQ(void) 2662306a36Sopenharmony_ci{ 2762306a36Sopenharmony_ci /* GPIO enabled */ 2862306a36Sopenharmony_ci __raw_writel(1 << 25, INTC_INT2MSKCR); 2962306a36Sopenharmony_ci 3062306a36Sopenharmony_ci /* enable GPIO interrupts */ 3162306a36Sopenharmony_ci __raw_writel((__raw_readl(INTC_INT2PRI7) & 0xFF00FFFF) | 0x000F0000, 3262306a36Sopenharmony_ci INTC_INT2PRI7); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci /* USBH enabled */ 3562306a36Sopenharmony_ci __raw_writel(1 << 17, INTC_INT2MSKCR1); 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci /* GETHER enabled */ 3862306a36Sopenharmony_ci __raw_writel(1 << 16, INTC_INT2MSKCR1); 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci /* DMAC enabled */ 4162306a36Sopenharmony_ci __raw_writel(1 << 8, INTC_INT2MSKCR); 4262306a36Sopenharmony_ci} 43