Configurable interrupt sources, and DT bindings

Mark Brown broonie at opensource.wolfsonmicro.com
Tue Nov 29 09:47:36 EST 2011


On Mon, Nov 28, 2011 at 03:29:51PM -0700, Stephen Warren wrote:

> Perhaps one of:

> irq-active-low;
> irq-active-high;
> irq-edge-falling;
> irq-edge-rising;

> or:
> 
> interrupts-config = <"active-low"> // or "active-high", etc.
> (perhaps with indices in that list matching the interrupts property)

We do need to support at least the combination of the two edge triggered
modes simultaneously also.  The first binding handles that nicely but
it's a bit more cumbersome with the second.

> However, given that interrupt sinks already know which signaling methods
> they support, and may be configured to accept a specific method per
> interrupt input using extra interrupt cells, perhaps the solution isn't
> to create a binding that the interrupt sink parses in isolation, but
> rather to create a new API within the kernel where the interrupt source
> can query the interrupt sink for a list of supported signaling methods,
> and pick one that it also supports, and use it. This list could be
> restricted based on the interrupts property's extra cells.

I think we will also need to restrict this with platform/DT data even if
most things can figure it out for themselves.  For example, if there's a
needless pull on the line then it would be preferable to have the idle
state be one where the pull doesn't burn power.


More information about the devicetree-discuss mailing list