~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/powerpc/fsl/mpic.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/powerpc/fsl/mpic.txt (Version linux-6.12-rc7) and /Documentation/devicetree/bindings/powerpc/fsl/mpic.txt (Version linux-5.9.16)


  1 ==============================================      1 =====================================================================
  2 Freescale MPIC Interrupt Controller Node            2 Freescale MPIC Interrupt Controller Node
  3 Copyright (C) 2010,2011 Freescale Semiconducto      3 Copyright (C) 2010,2011 Freescale Semiconductor Inc.
  4 ==============================================      4 =====================================================================
  5                                                     5 
  6 The Freescale MPIC interrupt controller is fou      6 The Freescale MPIC interrupt controller is found on all PowerQUICC
  7 and QorIQ processors and is compatible with th      7 and QorIQ processors and is compatible with the Open PIC.  The
  8 notable difference from Open PIC binding is th      8 notable difference from Open PIC binding is the addition of 2
  9 additional cells in the interrupt specifier de      9 additional cells in the interrupt specifier defining interrupt type
 10 information.                                       10 information.
 11                                                    11 
 12 PROPERTIES                                         12 PROPERTIES
 13                                                    13 
 14   - compatible                                     14   - compatible
 15       Usage: required                              15       Usage: required
 16       Value type: <string>                         16       Value type: <string>
 17       Definition: Shall include "fsl,mpic".  F     17       Definition: Shall include "fsl,mpic".  Freescale MPIC
 18           controllers compatible with this bin     18           controllers compatible with this binding have Block
 19           Revision Registers BRR1 and BRR2 at      19           Revision Registers BRR1 and BRR2 at offset 0x0 and
 20           0x10 in the MPIC.                        20           0x10 in the MPIC.
 21                                                    21 
 22   - reg                                            22   - reg
 23       Usage: required                              23       Usage: required
 24       Value type: <prop-encoded-array>             24       Value type: <prop-encoded-array>
 25       Definition: A standard property.  Specif     25       Definition: A standard property.  Specifies the physical
 26           offset and length of the device's re     26           offset and length of the device's registers within the
 27           CCSR address space.                      27           CCSR address space.
 28                                                    28 
 29   - interrupt-controller                           29   - interrupt-controller
 30       Usage: required                              30       Usage: required
 31       Value type: <empty>                          31       Value type: <empty>
 32       Definition: Specifies that this node is      32       Definition: Specifies that this node is an interrupt
 33           controller                               33           controller
 34                                                    34 
 35   - #interrupt-cells                               35   - #interrupt-cells
 36       Usage: required                              36       Usage: required
 37       Value type: <u32>                            37       Value type: <u32>
 38       Definition: Shall be 2 or 4.  A value of     38       Definition: Shall be 2 or 4.  A value of 2 means that interrupt
 39           specifiers do not contain the interr     39           specifiers do not contain the interrupt-type or type-specific
 40           information cells.                       40           information cells.
 41                                                    41 
 42   - #address-cells                                 42   - #address-cells
 43       Usage: required                              43       Usage: required
 44       Value type: <u32>                            44       Value type: <u32>
 45       Definition: Shall be 0.                      45       Definition: Shall be 0.
 46                                                    46 
 47   - pic-no-reset                                   47   - pic-no-reset
 48       Usage: optional                              48       Usage: optional
 49       Value type: <empty>                          49       Value type: <empty>
 50       Definition: The presence of this propert     50       Definition: The presence of this property specifies that the
 51           MPIC must not be reset by the client     51           MPIC must not be reset by the client program, and that
 52           the boot program has initialized all     52           the boot program has initialized all interrupt source
 53           configuration registers to a sane st     53           configuration registers to a sane state-- masked or
 54           directed at other cores.  This ensur     54           directed at other cores.  This ensures that the client
 55           program will not receive interrupts      55           program will not receive interrupts for sources not belonging
 56           to the client.  The presence of this     56           to the client.  The presence of this property also mandates
 57           that any initialization related to i     57           that any initialization related to interrupt sources shall
 58           be limited to sources explicitly ref     58           be limited to sources explicitly referenced in the device tree.
 59                                                    59 
 60   - big-endian                                     60   - big-endian
 61       Usage: optional                              61       Usage: optional
 62       Value type: <empty>                          62       Value type: <empty>
 63           If present the MPIC will be assumed      63           If present the MPIC will be assumed to be big-endian.  Some
 64           device-trees omit this property on M     64           device-trees omit this property on MPIC nodes even when the MPIC is
 65           in fact big-endian, so certain board     65           in fact big-endian, so certain boards override this property.
 66                                                    66 
 67   - single-cpu-affinity                            67   - single-cpu-affinity
 68       Usage: optional                              68       Usage: optional
 69       Value type: <empty>                          69       Value type: <empty>
 70           If present the MPIC will be assumed      70           If present the MPIC will be assumed to only be able to route
 71           non-IPI interrupts to a single CPU a     71           non-IPI interrupts to a single CPU at a time (EG: Freescale MPIC).
 72                                                    72 
 73   - last-interrupt-source                          73   - last-interrupt-source
 74       Usage: optional                              74       Usage: optional
 75       Value type: <u32>                            75       Value type: <u32>
 76           Some MPICs do not correctly report t     76           Some MPICs do not correctly report the number of hardware sources
 77           in the global feature registers.  If     77           in the global feature registers.  If specified, this field will
 78           override the value read from MPIC_GR     78           override the value read from MPIC_GREG_FEATURE_LAST_SRC.
 79                                                    79 
 80 INTERRUPT SPECIFIER DEFINITION                     80 INTERRUPT SPECIFIER DEFINITION
 81                                                    81 
 82   Interrupt specifiers consists of 4 cells enc     82   Interrupt specifiers consists of 4 cells encoded as
 83   follows:                                         83   follows:
 84                                                    84 
 85    <1st-cell>   interrupt-number                   85    <1st-cell>   interrupt-number
 86                                                    86 
 87                 Identifies the interrupt sourc     87                 Identifies the interrupt source.  The meaning
 88                 depends on the type of interru     88                 depends on the type of interrupt.
 89                                                    89 
 90                 Note: If the interrupt-type ce     90                 Note: If the interrupt-type cell is undefined
 91                 (i.e. #interrupt-cells = 2), t     91                 (i.e. #interrupt-cells = 2), this cell
 92                 should be interpreted the same     92                 should be interpreted the same as for
 93                 interrupt-type 0-- i.e. an ext     93                 interrupt-type 0-- i.e. an external or
 94                 normal SoC device interrupt.       94                 normal SoC device interrupt.
 95                                                    95 
 96    <2nd-cell>   level-sense information, encod     96    <2nd-cell>   level-sense information, encoded as follows:
 97                     0 = low-to-high edge trigg     97                     0 = low-to-high edge triggered
 98                     1 = active low level-sensi     98                     1 = active low level-sensitive
 99                     2 = active high level-sens     99                     2 = active high level-sensitive
100                     3 = high-to-low edge trigg    100                     3 = high-to-low edge triggered
101                                                   101 
102    <3rd-cell>   interrupt-type                    102    <3rd-cell>   interrupt-type
103                                                   103 
104                 The following types are suppor    104                 The following types are supported:
105                                                   105 
106                   0 = external or normal SoC d    106                   0 = external or normal SoC device interrupt
107                                                   107 
108                       The interrupt-number cel    108                       The interrupt-number cell contains
109                       the SoC device interrupt    109                       the SoC device interrupt number.  The
110                       type-specific cell is un    110                       type-specific cell is undefined.  The
111                       interrupt-number is deri    111                       interrupt-number is derived from the
112                       MPIC a block of register    112                       MPIC a block of registers referred to as
113                       the "Interrupt Source Co    113                       the "Interrupt Source Configuration Registers".
114                       Each source has 32-bytes    114                       Each source has 32-bytes of registers
115                       (vector/priority and des    115                       (vector/priority and destination) in this
116                       region.   So interrupt 0    116                       region.   So interrupt 0 is at offset 0x0,
117                       interrupt 1 is at offset    117                       interrupt 1 is at offset 0x20, and so on.
118                                                   118 
119                   1 = error interrupt             119                   1 = error interrupt
120                                                   120 
121                       The interrupt-number cel    121                       The interrupt-number cell contains
122                       the SoC device interrupt    122                       the SoC device interrupt number for
123                       the error interrupt.  Th    123                       the error interrupt.  The type-specific
124                       cell identifies the spec    124                       cell identifies the specific error
125                       interrupt number.           125                       interrupt number.
126                                                   126 
127                   2 = MPIC inter-processor int    127                   2 = MPIC inter-processor interrupt (IPI)
128                                                   128 
129                       The interrupt-number cel    129                       The interrupt-number cell identifies
130                       the MPIC IPI number.  Th    130                       the MPIC IPI number.  The type-specific
131                       cell is undefined.          131                       cell is undefined.
132                                                   132 
133                   3 = MPIC timer interrupt        133                   3 = MPIC timer interrupt
134                                                   134 
135                       The interrupt-number cel    135                       The interrupt-number cell identifies
136                       the MPIC timer number.      136                       the MPIC timer number.  The type-specific
137                       cell is undefined.          137                       cell is undefined.
138                                                   138 
139    <4th-cell>   type-specific information         139    <4th-cell>   type-specific information
140                                                   140 
141                 The type-specific cell is enco    141                 The type-specific cell is encoded as follows:
142                                                   142 
143                  - For interrupt-type 1 (error    143                  - For interrupt-type 1 (error interrupt),
144                    the type-specific cell cont    144                    the type-specific cell contains the
145                    bit number of the error int    145                    bit number of the error interrupt in the
146                    Error Interrupt Summary Reg    146                    Error Interrupt Summary Register.
147                                                   147 
148 EXAMPLE 1                                         148 EXAMPLE 1
149         /*                                        149         /*
150          * mpic interrupt controller with 4 ce    150          * mpic interrupt controller with 4 cells per specifier
151          */                                       151          */
152         mpic: pic@40000 {                         152         mpic: pic@40000 {
153                 compatible = "fsl,mpic";          153                 compatible = "fsl,mpic";
154                 interrupt-controller;             154                 interrupt-controller;
155                 #interrupt-cells = <4>;           155                 #interrupt-cells = <4>;
156                 #address-cells = <0>;             156                 #address-cells = <0>;
157                 reg = <0x40000 0x40000>;          157                 reg = <0x40000 0x40000>;
158         };                                        158         };
159                                                   159 
160 EXAMPLE 2                                         160 EXAMPLE 2
161         /*                                        161         /*
162          * The MPC8544 I2C controller node has    162          * The MPC8544 I2C controller node has an internal
163          * interrupt number of 27.  As per the    163          * interrupt number of 27.  As per the reference manual
164          * this corresponds to interrupt sourc    164          * this corresponds to interrupt source configuration
165          * registers at 0x5_0560.                 165          * registers at 0x5_0560.
166          *                                        166          *
167          * The interrupt source configuration     167          * The interrupt source configuration registers begin
168          * at 0x5_0000.                           168          * at 0x5_0000.
169          *                                        169          *
170          * To compute the interrupt specifier     170          * To compute the interrupt specifier interrupt number
171          *                                        171          *
172          *       0x560 >> 5 = 43                  172          *       0x560 >> 5 = 43
173          *                                        173          *
174          * The interrupt source configuration     174          * The interrupt source configuration registers begin
175          * at 0x5_0000, and so the i2c vector/    175          * at 0x5_0000, and so the i2c vector/priority registers
176          * are at 0x5_0560.                       176          * are at 0x5_0560.
177          */                                       177          */
178         i2c@3000 {                                178         i2c@3000 {
179                 #address-cells = <1>;             179                 #address-cells = <1>;
180                 #size-cells = <0>;                180                 #size-cells = <0>;
181                 cell-index = <0>;                 181                 cell-index = <0>;
182                 compatible = "fsl-i2c";           182                 compatible = "fsl-i2c";
183                 reg = <0x3000 0x100>;             183                 reg = <0x3000 0x100>;
184                 interrupts = <43 2>;              184                 interrupts = <43 2>;
185                 interrupt-parent = <&mpic>;       185                 interrupt-parent = <&mpic>;
186                 dfsrr;                            186                 dfsrr;
187         };                                        187         };
188                                                   188 
189                                                   189 
190 EXAMPLE 3                                         190 EXAMPLE 3
191         /*                                        191         /*
192          *  Definition of a node defining the     192          *  Definition of a node defining the 4
193          *  MPIC IPI interrupts.  Note the int    193          *  MPIC IPI interrupts.  Note the interrupt
194          *  type of 2.                            194          *  type of 2.
195          */                                       195          */
196         ipi@410a0 {                               196         ipi@410a0 {
197                 compatible = "fsl,mpic-ipi";      197                 compatible = "fsl,mpic-ipi";
198                 reg = <0x40040 0x10>;             198                 reg = <0x40040 0x10>;
199                 interrupts = <0 0 2 0             199                 interrupts = <0 0 2 0
200                               1 0 2 0             200                               1 0 2 0
201                               2 0 2 0             201                               2 0 2 0
202                               3 0 2 0>;           202                               3 0 2 0>;
203         };                                        203         };
204                                                   204 
205 EXAMPLE 4                                         205 EXAMPLE 4
206         /*                                        206         /*
207          *  Definition of a node defining the     207          *  Definition of a node defining the MPIC
208          *  global timers.  Note the interrupt    208          *  global timers.  Note the interrupt
209          *  type of 3.                            209          *  type of 3.
210          */                                       210          */
211         timer0: timer@41100 {                     211         timer0: timer@41100 {
212                 compatible = "fsl,mpic-global-    212                 compatible = "fsl,mpic-global-timer";
213                 reg = <0x41100 0x100 0x41300 4    213                 reg = <0x41100 0x100 0x41300 4>;
214                 interrupts = <0 0 3 0             214                 interrupts = <0 0 3 0
215                               1 0 3 0             215                               1 0 3 0
216                               2 0 3 0             216                               2 0 3 0
217                               3 0 3 0>;           217                               3 0 3 0>;
218         };                                        218         };
219                                                   219 
220 EXAMPLE 5                                         220 EXAMPLE 5
221         /*                                        221         /*
222          * Definition of an error interrupt (i    222          * Definition of an error interrupt (interrupt type 1).
223          * SoC interrupt number is 16 and the     223          * SoC interrupt number is 16 and the specific error
224          * interrupt bit in the error interrup    224          * interrupt bit in the error interrupt summary register
225          * is 23.                                 225          * is 23.
226          */                                       226          */
227         memory-controller@8000 {                  227         memory-controller@8000 {
228                 compatible = "fsl,p4080-memory    228                 compatible = "fsl,p4080-memory-controller";
229                 reg = <0x8000 0x1000>;            229                 reg = <0x8000 0x1000>;
230                 interrupts = <16 2 1 23>;         230                 interrupts = <16 2 1 23>;
231         };                                        231         };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php