public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: arnd@arndb.de (Arnd Bergmann)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 1/2] bcma: register bcma as device tree driver
Date: Thu, 25 Sep 2014 07:55:56 +0200	[thread overview]
Message-ID: <3098264.dzR8BlVP6B@wuerfel> (raw)
In-Reply-To: <54233550.60600@hauke-m.de>

On Wednesday 24 September 2014 23:19:12 Hauke Mehrtens wrote:
> On 09/24/2014 11:48 AM, Arnd Bergmann wrote:
> > On Wednesday 24 September 2014 00:04:18 Hauke Mehrtens wrote:
> >> I assume this should then look somehow like this:
> >>
> >> axi at 18000000 {
> >>         compatible = "brcm,bus-axi";
> >>         reg = <0x18000000 0x1000>;
> >>         ranges = <0x00000000 0x18000000 0x00100000>;
> >>         #address-cells = <1>;
> >>         #size-cells = <1>;
> >>
> >>         #interrupt-cells = <1>;
> >>         interrupt-map = <
> >>                 /* ChipCommon */
> >>                 0x00000000 0 &gic  GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH
> >>
> >>                 /* PCIe Controller 0 */
> >>                 0x00012000 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH
> >>                 0x00012000 1 &gic GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH
> >>                 0x00012000 2 &gic GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH
> >>                 0x00012000 3 &gic GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH
> >>                 0x00012000 4 &gic GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH
> >>                 0x00012000 5 &gic GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH
> >>
> >>                 /* USB 2.0 Controller */
> >>                 0x00021000 0 &gic GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH
> >>                 >;
> >>         };
> > 
> > Right, although I would add a few more '<', '>' and ',' for readability,
> > separating each line with a comma.
> > 
> > You are also missing an 'interrupt-map-mask' property that lists which
> > bits of the address are significant.
> > 
> > Are the interrupt numbers you have in the example (0, 0, 1, 2, ... 5, 0)
> > the actual numbers that are present in the hw registers?
> 
> Some cores do have more than one IRQ. The NAND core uses 8 IRQs and the
> PCIe controller uses 5 (the vendor code just uses the last one which
> gets triggered always). How can I handle this cases where one device has
> more than one IRQ? There is no hardware register these IRQ get mapped
> to. As far as I know the driver just knows that this device needs more
> IRQs. Should I just add a special device node entry for such devices?


You create your own local irq domain (in the DT sense, not the Linux sense)
by using #interrrupt-cells = <1> or more, and then use whatever input data
you have available.

Ideally there would be registers that you can use to look up a token
you use (like the BCMA_MIPS_MIPS74K_INTMASK), if you don't have them
here, just use the local index, and pass that down to bcma_core_irq(),
from where you put it into the of_phandle_args.

	Arnd

      reply	other threads:[~2014-09-25  5:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-21 22:38 [PATCH v4 1/2] bcma: register bcma as device tree driver Hauke Mehrtens
2014-09-21 22:38 ` [PATCH v4 2/2] bcma: get IRQ numbers from dt Hauke Mehrtens
2014-09-22  7:26 ` [PATCH v4 1/2] bcma: register bcma as device tree driver Arnd Bergmann
2014-09-23 22:04   ` Hauke Mehrtens
2014-09-24  9:48     ` Arnd Bergmann
2014-09-24 21:19       ` Hauke Mehrtens
2014-09-25  5:55         ` Arnd Bergmann [this message]

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=3098264.dzR8BlVP6B@wuerfel \
    --to=arnd@arndb.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox