lkml.org 
[lkml]   [2012]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH V3 3/3] mfd: stmpe: Update DT support in stmpe driver
    On Fri, 23 Nov 2012, Viresh Kumar wrote:

    > On 23 November 2012 15:11, Grant Likely <grant.likely@secretlab.ca> wrote:
    > > On Fri, 23 Nov 2012 00:26:20 +0530, Viresh Kumar <viresh.kumar@linaro.org> wrote:
    >
    > >> + - irq-trigger : IRQ trigger to use for the interrupt to the host
    > >> + - irq-invert-polarity : bool, IRQ line is connected with reversed polarity
    > >
    > > This looks odd. Normally the interrupt polarity should be encoded in the irq
    > > specifier flags field.
    >
    > Hi Grant and Lee Jones,
    >
    > This looks odd because stmpe is odd, i am taking the discussion held
    > with Lee jones to this thread.

    STMPE isn't odd or special in any way. :)

    > So, how interrupt stuff works currently in DT..
    > We have a interrupt controller IC:
    >
    > ic: interrupt-controller@40008000 {
    > compatible = "foo";
    > interrupt-controller;
    > #interrupt-cells = <2>;
    > ...
    > };
    >
    > And we have a user of this IC:
    >
    > foo-peripheral@40048000 {
    > compatible = "foo-peripheral";
    > interrupt-parent = <&ic>;
    > interrupts = <39 4>;
    > };
    >
    > Here first field of "interrupts" gives interrupt line number and the second one
    > gives polarity, interrupt type etc..

    So far so good.

    > All is good till now. Now, every interrupt controller supports the first
    > field, but the second one depends on its capabilities. An interrupt controller
    > might not have registers to configure interrupt polarity, type, etc of
    > the interrupt
    > it will service and so the second field wouldn't be available for them.
    >
    > For now just think stmpe is not a MFD and not a interrupt controller
    > either. It is
    > just a simple device, dev-foo.
    >
    > It will declare values of its interrupts field based on the type of
    > interrupt controller
    > that will service its interrupt and that can be anything like VIC/GIC/GPIO
    > controller.
    >
    > Obviously nobody else than the parent IC driver can parse interrupts field
    > of dev-foo, because only that driver understands the real meaning of
    > these fields.
    >
    > Now, stmpe has a special property. It can decide the way its output
    > interrupt line
    > will work. i.e. its polarity and interrupt type - edle/level, etc..
    > This is not commonly
    > seen in any peripheral. Now my original bindings and the real question here is
    > about passing this information to stmpe driver.
    >
    > I can't pass it in interrupts field of stmpe node, as that field
    > belongs to parent
    > interrupt controller of stmpe.
    >
    > I can't pass that from child nodes of stmpe, as we are programming the interrupt
    > coming out of stmpe and not the interrupt coming out of stmpe-gpio or
    > stmpe-keypad.
    >
    > And that's why i added these bindings. Please suggest me if i am still missing
    > something.

    Look into .xlate functions.

    --
    Lee Jones
    Linaro ST-Ericsson Landing Team Lead
    Linaro.org │ Open source software for ARM SoCs
    Follow Linaro: Facebook | Twitter | Blog
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-11-26 13:01    [W:4.289 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site