The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/interrupt-controller/img,meta-intc.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 * Meta External Trigger Controller Binding
    2 
    3 This binding specifies what properties must be available in the device tree
    4 representation of a Meta external trigger controller.
    5 
    6 Required properties:
    7 
    8     - compatible: Specifies the compatibility list for the interrupt controller.
    9       The type shall be <string> and the value shall include "img,meta-intc".
   10 
   11     - num-banks: Specifies the number of interrupt banks (each of which can
   12       handle 32 interrupt sources).
   13 
   14     - interrupt-controller: The presence of this property identifies the node
   15       as an interrupt controller. No property value shall be defined.
   16 
   17     - #interrupt-cells: Specifies the number of cells needed to encode an
   18       interrupt source. The type shall be a <u32> and the value shall be 2.
   19 
   20     - #address-cells: Specifies the number of cells needed to encode an
   21       address. The type shall be <u32> and the value shall be 0. As such,
   22       'interrupt-map' nodes do not have to specify a parent unit address.
   23 
   24 Optional properties:
   25 
   26     - no-mask: The controller doesn't have any mask registers.
   27 
   28 * Interrupt Specifier Definition
   29 
   30   Interrupt specifiers consists of 2 cells encoded as follows:
   31 
   32     - <1st-cell>: The interrupt-number that identifies the interrupt source.
   33 
   34     - <2nd-cell>: The Linux interrupt flags containing level-sense information,
   35                   encoded as follows:
   36                     1 = edge triggered
   37                     4 = level-sensitive
   38 
   39 * Examples
   40 
   41 Example 1:
   42 
   43         /*
   44          * Meta external trigger block
   45          */
   46         intc: intc {
   47                 // This is an interrupt controller node.
   48                 interrupt-controller;
   49 
   50                 // No address cells so that 'interrupt-map' nodes which
   51                 // reference this interrupt controller node do not need a parent
   52                 // address specifier.
   53                 #address-cells = <0>;
   54 
   55                 // Two cells to encode interrupt sources.
   56                 #interrupt-cells = <2>;
   57 
   58                 // Number of interrupt banks
   59                 num-banks = <2>;
   60 
   61                 // No HWMASKEXT is available (specify on Chorus2 and Comet ES1)
   62                 no-mask;
   63 
   64                 // Compatible with Meta hardware trigger block.
   65                 compatible = "img,meta-intc";
   66         };
   67 
   68 Example 2:
   69 
   70         /*
   71          * An interrupt generating device that is wired to a Meta external
   72          * trigger block.
   73          */
   74         uart1: uart@02004c00 {
   75                 // Interrupt source '5' that is level-sensitive.
   76                 // Note that there are only two cells as specified in the
   77                 // interrupt parent's '#interrupt-cells' property.
   78                 interrupts = <5 4 /* level */>;
   79 
   80                 // The interrupt controller that this device is wired to.
   81                 interrupt-parent = <&intc>;
   82         };

Cache object: 468304f9ffb78d0d6997a0f99be1a54c


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.