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