Marvell Orion SoC interrupt controllers * Main interrupt controller Required properties: - compatible: shall be "marvell,orion-intc" - reg: base address(es) of interrupt registers starting with CAUSE register - interrupt-controller: identifies the node as an interrupt controller - #interrupt-cells: number of cells to encode an interrupt source, shall be 1 The interrupt sources map to the corresponding bits in the interrupt registers, i.e. - 0 maps to bit 0 of first base address, - 1 maps to bit 1 of first base address, - 32 maps to bit 0 of second base address, and so on. Example: intc: interrupt-controller { compatible = "marvell,orion-intc"; interrupt-controller; #interrupt-cells = <1>; /* Dove has 64 first level interrupts */ reg = <0x20200 0x10>, <0x20210 0x10>; }; * Bridge interrupt controller Required properties: - compatible: shall be "marvell,orion-bridge-intc" - reg: base address of bridge interrupt registers starting with CAUSE register - interrupts: bridge interrupt of the main interrupt controller - interrupt-controller: identifies the node as an interrupt controller - #interrupt-cells: number of cells to encode an interrupt source, shall be 1 Optional properties: - marvell,#interrupts: number of interrupts provided by bridge interrupt controller, defaults to 32 if not set Example: bridge_intc: interrupt-controller { compatible = "marvell,orion-bridge-intc"; interrupt-controller; #interrupt-cells = <1>; reg = <0x20110 0x8>; interrupts = <0>; /* Dove bridge provides 5 interrupts */ marvell,#interrupts = <5>; }; |