Blame view

include/asm-powerpc/qe_ic.h 2.37 KB
986585385   Li Yang   [POWERPC] Add QUI...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
  /*
   * include/asm-powerpc/qe_ic.h
   *
   * Copyright (C) 2006 Freescale Semicondutor, Inc. All rights reserved.
   *
   * Authors: 	Shlomi Gridish <gridish@freescale.com>
   * 		Li Yang <leoli@freescale.com>
   *
   * Description:
   * QE IC external definitions and structure.
   *
   * This program is free software; you can redistribute  it and/or modify it
   * under  the terms of  the GNU General  Public License as published by the
   * Free Software Foundation;  either version 2 of the  License, or (at your
   * option) any later version.
   */
  #ifndef _ASM_POWERPC_QE_IC_H
  #define _ASM_POWERPC_QE_IC_H
  
  #include <linux/irq.h>
  
  #define NUM_OF_QE_IC_GROUPS	6
  
  /* Flags when we init the QE IC */
  #define QE_IC_SPREADMODE_GRP_W			0x00000001
  #define QE_IC_SPREADMODE_GRP_X			0x00000002
  #define QE_IC_SPREADMODE_GRP_Y			0x00000004
  #define QE_IC_SPREADMODE_GRP_Z			0x00000008
  #define QE_IC_SPREADMODE_GRP_RISCA		0x00000010
  #define QE_IC_SPREADMODE_GRP_RISCB		0x00000020
  
  #define QE_IC_LOW_SIGNAL			0x00000100
  #define QE_IC_HIGH_SIGNAL			0x00000200
  
  #define QE_IC_GRP_W_PRI0_DEST_SIGNAL_HIGH	0x00001000
  #define QE_IC_GRP_W_PRI1_DEST_SIGNAL_HIGH	0x00002000
  #define QE_IC_GRP_X_PRI0_DEST_SIGNAL_HIGH	0x00004000
  #define QE_IC_GRP_X_PRI1_DEST_SIGNAL_HIGH	0x00008000
  #define QE_IC_GRP_Y_PRI0_DEST_SIGNAL_HIGH	0x00010000
  #define QE_IC_GRP_Y_PRI1_DEST_SIGNAL_HIGH	0x00020000
  #define QE_IC_GRP_Z_PRI0_DEST_SIGNAL_HIGH	0x00040000
  #define QE_IC_GRP_Z_PRI1_DEST_SIGNAL_HIGH	0x00080000
  #define QE_IC_GRP_RISCA_PRI0_DEST_SIGNAL_HIGH	0x00100000
  #define QE_IC_GRP_RISCA_PRI1_DEST_SIGNAL_HIGH	0x00200000
  #define QE_IC_GRP_RISCB_PRI0_DEST_SIGNAL_HIGH	0x00400000
  #define QE_IC_GRP_RISCB_PRI1_DEST_SIGNAL_HIGH	0x00800000
  #define QE_IC_GRP_W_DEST_SIGNAL_SHIFT		(12)
  
  /* QE interrupt sources groups */
  enum qe_ic_grp_id {
  	QE_IC_GRP_W = 0,	/* QE interrupt controller group W */
  	QE_IC_GRP_X,		/* QE interrupt controller group X */
  	QE_IC_GRP_Y,		/* QE interrupt controller group Y */
  	QE_IC_GRP_Z,		/* QE interrupt controller group Z */
  	QE_IC_GRP_RISCA,	/* QE interrupt controller RISC group A */
  	QE_IC_GRP_RISCB		/* QE interrupt controller RISC group B */
  };
  
  void qe_ic_init(struct device_node *node, unsigned int flags);
  void qe_ic_set_highest_priority(unsigned int virq, int high);
  int qe_ic_set_priority(unsigned int virq, unsigned int priority);
  int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high);
  
  #endif /* _ASM_POWERPC_QE_IC_H */