Path: blob/master/arch/sh/boards/board-secureedge5410.c
26424 views
// SPDX-License-Identifier: GPL-2.01/*2* Copyright (C) 2002 David McCullough <[email protected]>3* Copyright (C) 2003 Paul Mundt <[email protected]>4*5* Based on files with the following comments:6*7* Copyright (C) 2000 Kazumoto Kojima8*9* Modified for 7751 Solution Engine by10* Ian da Silva and Jeremy Siegel, 2001.11*/12#include <linux/init.h>13#include <linux/irq.h>14#include <linux/interrupt.h>15#include <linux/timer.h>16#include <linux/delay.h>17#include <linux/sched.h>18#include <asm/machvec.h>19#include <mach/secureedge5410.h>20#include <asm/irq.h>21#include <asm/io.h>22#include <cpu/timer.h>2324unsigned short secureedge5410_ioport;2526/*27* EraseConfig handling functions28*/29static irqreturn_t eraseconfig_interrupt(int irq, void *dev_id)30{31printk("SnapGear: erase switch interrupt!\n");3233return IRQ_HANDLED;34}3536static int __init eraseconfig_init(void)37{38unsigned int irq = evt2irq(0x240);3940printk("SnapGear: EraseConfig init\n");4142/* Setup "EraseConfig" switch on external IRQ 0 */43if (request_irq(irq, eraseconfig_interrupt, 0, "Erase Config", NULL))44printk("SnapGear: failed to register IRQ%d for Reset witch\n",45irq);46else47printk("SnapGear: registered EraseConfig switch on IRQ%d\n",48irq);49return 0;50}51device_initcall(eraseconfig_init);5253/*54* Initialize IRQ setting55*56* IRL0 = erase switch57* IRL1 = eth058* IRL2 = eth159* IRL3 = crypto60*/61static void __init init_snapgear_IRQ(void)62{63printk("Setup SnapGear IRQ/IPR ...\n");64/* enable individual interrupt mode for externals */65plat_irq_setup_pins(IRQ_MODE_IRQ);66}6768/*69* The Machine Vector70*/71static struct sh_machine_vector mv_snapgear __initmv = {72.mv_name = "SnapGear SecureEdge5410",73.mv_init_irq = init_snapgear_IRQ,74};757677