home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-ppc / ppc4xx_pic.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.7 KB  |  53 lines

  1. /*
  2.  * include/asm-ppc/ppc4xx_pic.h
  3.  *
  4.  * Interrupt controller driver for PowerPC 4xx-based processors.
  5.  *
  6.  * Copyright (c) 1999 Grant Erickson <grant@lcse.umn.edu>
  7.  *
  8.  * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net>
  9.  * Copyright (c) 2004 Zultys Technologies
  10.  *
  11.  * This program is free software; you can redistribute  it and/or modify it
  12.  * under  the terms of  the GNU General  Public License as published by the
  13.  * Free Software Foundation;  either version 2 of the  License, or (at your
  14.  * option) any later version.
  15.  */
  16.  
  17. #ifndef    __PPC4XX_PIC_H__
  18. #define    __PPC4XX_PIC_H__
  19.  
  20. #include <linux/types.h>
  21. #include <linux/irq.h>
  22.  
  23. /* "Fixed" UIC settings (they are chip, not board specific),
  24.  * e.g. polarity/triggerring for internal interrupt sources.
  25.  *
  26.  * Platform port should provide NR_UICS-sized array named ppc4xx_core_uic_cfg
  27.  * with these "fixed" settings: .polarity contains exact value which will
  28.  * be written (masked with "ext_irq_mask") into UICx_PR register,
  29.  * .triggering - to UICx_TR.
  30.  *
  31.  * Settings for external IRQs can be specified separately by the
  32.  * board support code. In this case properly sized array of unsigned
  33.  * char named ppc4xx_uic_ext_irq_cfg should be filled with correct
  34.  * values using IRQ_SENSE_XXXXX and IRQ_POLARITY_XXXXXXX defines.
  35.  *
  36.  * If these arrays aren't provided, UIC initialization code keeps firmware
  37.  * configuration. Also, ppc4xx_uic_ext_irq_cfg implies ppc4xx_core_uic_cfg
  38.  * is defined.
  39.  *
  40.  * Both ppc4xx_core_uic_cfg and ppc4xx_uic_ext_irq_cfg are declared as
  41.  * "weak" symbols in ppc4xx_pic.c
  42.  *
  43.  */
  44. struct ppc4xx_uic_settings {
  45.     u32 polarity;
  46.     u32 triggering;
  47.     u32 ext_irq_mask;
  48. };
  49.  
  50. extern void ppc4xx_pic_init(void);
  51.  
  52. #endif                /* __PPC4XX_PIC_H__ */
  53.