uboot/arch/microblaze/include/asm/microblaze_intc.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * (C) Copyright 2007 Michal Simek
   4 *
   5 * Michal  SIMEK <monstr@monstr.cz>
   6 */
   7
   8#include <irq_func.h>
   9
  10typedef volatile struct microblaze_intc_t {
  11        int isr; /* interrupt status register */
  12        int ipr; /* interrupt pending register */
  13        int ier; /* interrupt enable register */
  14        int iar; /* interrupt acknowledge register */
  15        int sie; /* set interrupt enable bits */
  16        int cie; /* clear interrupt enable bits */
  17        int ivr; /* interrupt vector register */
  18        int mer; /* master enable register */
  19} microblaze_intc_t;
  20
  21struct irq_action {
  22        interrupt_handler_t *handler; /* pointer to interrupt rutine */
  23        void *arg;
  24        int count; /* number of interrupt */
  25};
  26
  27/**
  28 * Register and unregister interrupt handler rutines
  29 *
  30 * @param irq   IRQ number
  31 * @param hdlr  Interrupt handler rutine
  32 * @param arg   Pointer to argument which is passed to int. handler rutine
  33 * @return      0 if registration pass, 1 if unregistration pass,
  34 *              or an error code < 0 otherwise
  35 */
  36int install_interrupt_handler(int irq, interrupt_handler_t *hdlr,
  37                                       void *arg);
  38