From: Maxime Ripard <maxime.ripard@free-electrons.com>
To: Yegor Yefremov <yegorslists@googlemail.com>
Cc: linux-gpio@vger.kernel.org
Subject: Re: tca-6416: interrupt device tree configuration
Date: Wed, 2 Apr 2014 18:01:53 +0200 [thread overview]
Message-ID: <20140402160153.GS26751@lukather> (raw)
In-Reply-To: <CAGm1_kvwU2S0qqo4idDZpKMKmPEn67jaYYgrBHTjnjmBDNvG7g@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2550 bytes --]
On Wed, Apr 02, 2014 at 12:06:03PM +0200, Yegor Yefremov wrote:
> On Tue, Mar 18, 2014 at 4:02 PM, Yegor Yefremov
> <yegorslists@googlemail.com> wrote:
> > I've an am335x-based board with tca6416. The interrupt output of the
> > tca is connected to GPIO0_20 on my SoC. How should I configure this
> > wiring in device tree file?
> >
> > I've already managed to hook it on I2C and it is working so far:
> >
> > tca6416: gpio@20 {
> > compatible = "ti,tca6416";
> > reg = <0x20>;
> > gpio-controller;
> > #gpio-cells = <2>;
> > };
> >
> > Documentation/devicetree/bindings/gpio/gpio-pcf857x.txt describes
> > following properties:
> >
> > - interrupt-controller: Identifies the node as an interrupt controller.
> > - #interrupt-cells: Number of cells to encode an interrupt source, shall be 2.
> > - interrupt-parent: phandle of the parent interrupt controller.
> > - interrupts: Interrupt specifier for the controllers interrupt.
> >
> > and following example:
> >
> > pcf8575: gpio@20 {
> > compatible = "nxp,pcf8575";
> > reg = <0x20>;
> > interrupt-parent = <&irqpin2>;
> > interrupts = <3 0>;
> > gpio-controller;
> > #gpio-cells = <2>;
> > interrupt-controller;
> > #interrupt-cells = <2>;
> > };
> >
> > Where does irqpin2 come from? How to specify GPIO0_20 in "interrupts" context?
>
> Maxime, I've seen your irq domain related patch. Could you please
> provide an example/hint for my question?
<&irqpin2> is called a phandle, and it's actually a reference to
another device tree node. So the answer to your question is from
somewhere else in the device tree.
It will be the parent interrupt controller, so in your case, I guess
you will have to do two things:
- Say that your interrupt comes from
interrupt-parent = <&something>;
- Say the actual interrupt it is using inside that parent
interrupts = <42>;
In your case, I guess something like:
interrupt-parent = <&gpio0>;
interrupts = <20 GPIO_ACTIVE_HIGH>;
Will work, but I'm not familiar enough with the am335x platform to
know for sure.
In any case, you should probably go through this talk:
http://elinux.org/images/a/a3/Elce2013-petazzoni-devicetree-for-dummies.pdf
Maxime
--
Maxime Ripard, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-04-02 16:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-18 15:02 tca-6416: interrupt device tree configuration Yegor Yefremov
2014-04-02 10:06 ` Yegor Yefremov
2014-04-02 16:01 ` Maxime Ripard [this message]
2014-04-07 15:00 ` Yegor Yefremov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140402160153.GS26751@lukather \
--to=maxime.ripard@free-electrons.com \
--cc=linux-gpio@vger.kernel.org \
--cc=yegorslists@googlemail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.