Back to home page

OSCL-LXR

 
 

    


0001 NVIDIA Legacy Interrupt Controller
0002 
0003 All Tegra SoCs contain a legacy interrupt controller that routes
0004 interrupts to the GIC, and also serves as a wakeup source. It is also
0005 referred to as "ictlr", hence the name of the binding.
0006 
0007 The HW block exposes a number of interrupt controllers, each
0008 implementing a set of 32 interrupts.
0009 
0010 Required properties:
0011 
0012 - compatible : should be: "nvidia,tegra<chip>-ictlr". The LIC on
0013   subsequent SoCs remained backwards-compatible with Tegra30, so on
0014   Tegra generations later than Tegra30 the compatible value should
0015   include "nvidia,tegra30-ictlr".       
0016 - reg : Specifies base physical address and size of the registers.
0017   Each controller must be described separately (Tegra20 has 4 of them,
0018   whereas Tegra30 and later have 5).
0019 - interrupt-controller : Identifies the node as an interrupt controller.
0020 - #interrupt-cells : Specifies the number of cells needed to encode an
0021   interrupt source. The value must be 3.
0022 
0023 Notes:
0024 
0025 - Because this HW ultimately routes interrupts to the GIC, the
0026   interrupt specifier must be that of the GIC.
0027 - Only SPIs can use the ictlr as an interrupt parent. SGIs and PPIs
0028   are explicitly forbidden.
0029 
0030 Example:
0031 
0032         ictlr: interrupt-controller@60004000 {
0033                 compatible = "nvidia,tegra20-ictlr", "nvidia,tegra-ictlr";
0034                 reg = <0x60004000 64>,
0035                       <0x60004100 64>,
0036                       <0x60004200 64>,
0037                       <0x60004300 64>;
0038                 interrupt-controller;
0039                 #interrupt-cells = <3>;
0040                 interrupt-parent = <&intc>;
0041         };