Re: [PATCH] Describe interrupts-extended property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Tue, Jan 03, 2017 at 11:24:23AM -0800, Florian Fainelli wrote:
> The interrupts-extended property is a common property used when
> interrupt generating devices having interrupt lines in several interrupt
> controllers with possibly distinct interrupt specifiers.
> 
> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx>

Hmm.  Is this actually used in the wild already?

I'm just wondering if it's really needed, since you can work around
the limitations with the ordinary interrupts property by setting
interrupt-parent to the node itself putting an interrupt nexus
(interrupt-map and interrupt-map-mask properties) in there to redirect
those to different interrupt controllers.

> ---
>  source/devicetree-basics.rst | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/source/devicetree-basics.rst b/source/devicetree-basics.rst
> index be80af3d825b..1bda0fa54e7a 100644
> --- a/source/devicetree-basics.rst
> +++ b/source/devicetree-basics.rst
> @@ -955,6 +955,40 @@ Description:
>     to the interrupt parent. If this property is missing from a device, its
>     interrupt parent is assumed to be its devicetree parent.
>  
> +interrupts-extended
> +^^^^^^^^^^^^^^^^^^^
> +
> +Property: ``interrupts-extended``
> +
> +Value type: ``<phandle> <prop-encoded-array>``
> +
> +Description:
> +
> +   The *interrupts-extended* property of a device node defines the interrupt or
> +   the interrupts that are generated by the device. In case where an interrupt
> +   generating devices has several interrupt lines, some of them having distinct
> +   interrupt parents, the *interrupts-extended* property should be used to
> +   fully describe the interrupts of this device, relative to the interrupt
> +   controller(s), which is encoded by the phandle part of the property. The non
> +   phandle part of the property encodes the interrupt specifiers and obeys to
> +   the *interrupts* property description.
> +
> +   If both *interrupts-extended* and *interrupts* properties are present, the
> +   *interrupts-extended* properties takes precedence, and the *interrupts*
> +   property may be provided to a client program for compatibility purposes.
> +
> +Example:
> +
> +   A device with several interrupt lines in distinct interrupt controllers,
> +   having different interrupt specifiers is illustrated below. In this example
> +   ``pic`` is an interrupt controller with an *#interrupt-cells* specifier
> +   of 2, while ``gic`` is an interrupt controller with an *#interrupts-cells*
> +   specifier of 1.
> +
> +
> +      ``interrupts-extended = <&pic 0xA 8>, <&gic 0xda>;``
> +
> +
>  Properties for Interrupt Controllers
>  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>  

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Photos]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]

  Powered by Linux