From: Gary Thomas <gary@mlbassoc•com>
To: linuxppc-dev@ozlabs•org
Subject: MPC5200 VIRQ question
Date: Thu, 04 Dec 2008 06:51:04 -0700 [thread overview]
Message-ID: <4937E048.90206@mlbassoc.com> (raw)
I have a MPC5200 based board which has an FPGA for external
I/O, etc. This FPGA also funnels interrupts from the various
external devices through to the CPU.
I've defined this structure in my DTS:
fpga@f8000000 {
device_type = "board-control";
#address-cells = <1>;
#size-cells = <1>;
// Note: includes sub-devices like CAN, A/D, etc
reg = <0xf8000000 0x100000>;
fpga_ic: fpga_ic@f8000000 {
device_type = "fpga-int-ctlr";
interrupt-controller;
#address-cells = <0>;
#interrupt-cells = <2>;
interrupts = <2 26 3>; // IRQ2
interrupt-parent = <&mpc5200_pic>;
};
can@f8010000 {
compatible = "am,can";
device_type = "can";
interrupts = <0 0>;
interrupt_parent = <&fpga_ic>;
reg = <0xf8010000 0x200>;
};
};
Of course, there will be more devices and interrupts later on,
this is just the first of many.
Now the questions:
* How do I choose the VIRQ range supported by my FPGA?
I'm interested in this in particular for the MPC5200, but
also for other chips (I have many such board configurations).
* How do I pass this information along to my drivers? I would
think that the interrupts value for the can interface above
would use a [logical] IRQ (an offset from the base VIRQ),
so how does the driver get the actual number (VIRQ+offset)
when probing the tree?
* I know how to define the interrupt controller using irq_alloc_host()
(once I have the VIRQ range) but it's not clear to me where to stick
this initialization when bringing up my platform.
Thanks for any pointers/ideas
n.b. I've read all the arguments about not using "device_type"
and this will be resolved. At the moment, I'm basing my
code on a slightly older kernel codebase (2.6.26), so those
entries remain.
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
next reply other threads:[~2008-12-04 13:51 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-04 13:51 Gary Thomas [this message]
2008-12-08 8:03 ` MPC5200 VIRQ question Benjamin Herrenschmidt
2008-12-11 1:04 ` Gary Thomas
2008-12-11 1:59 ` Benjamin Herrenschmidt
2008-12-11 14:59 ` Gary Thomas
2008-12-11 21:00 ` Benjamin Herrenschmidt
2008-12-11 2:01 ` Jon Smirl
2008-12-11 2:04 ` Jon Smirl
2008-12-11 7:16 ` Grant Likely
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=4937E048.90206@mlbassoc.com \
--to=gary@mlbassoc$(echo .)com \
--cc=linuxppc-dev@ozlabs$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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