* Meta External Trigger Controller Binding This binding specifies what properties must be available in the device tree representation of a Meta external trigger controller. Required properties: - compatible: Specifies the compatibility list for the interrupt controller. The type shall be <string> and the value shall include "img,meta-intc". - num-banks: Specifies the number of interrupt banks (each of which can handle 32 interrupt sources). - interrupt-controller: The presence of this property identifies the node as an interrupt controller. No property value shall be defined. - #interrupt-cells: Specifies the number of cells needed to encode an interrupt source. The type shall be a <u32> and the value shall be 2. - #address-cells: Specifies the number of cells needed to encode an address. The type shall be <u32> and the value shall be 0. As such, 'interrupt-map' nodes do not have to specify a parent unit address. Optional properties: - no-mask: The controller doesn't have any mask registers. * Interrupt Specifier Definition Interrupt specifiers consists of 2 cells encoded as follows: - <1st-cell>: The interrupt-number that identifies the interrupt source. - <2nd-cell>: The Linux interrupt flags containing level-sense information, encoded as follows: 1 = edge triggered 4 = level-sensitive * Examples Example 1: /* * Meta external trigger block */ intc: intc { // This is an interrupt controller node. interrupt-controller; // No address cells so that 'interrupt-map' nodes which // reference this interrupt controller node do not need a parent // address specifier. #address-cells = <0>; // Two cells to encode interrupt sources. #interrupt-cells = <2>; // Number of interrupt banks num-banks = <2>; // No HWMASKEXT is available (specify on Chorus2 and Comet ES1) no-mask; // Compatible with Meta hardware trigger block. compatible = "img,meta-intc"; }; Example 2: /* * An interrupt generating device that is wired to a Meta external * trigger block. */ uart1: uart@02004c00 { // Interrupt source '5' that is level-sensitive. // Note that there are only two cells as specified in the // interrupt parent's '#interrupt-cells' property. interrupts = <5 4 /* level */>; // The interrupt controller that this device is wired to. interrupt-parent = <&intc>; }; |