public inbox for linuxppc-dev@ozlabs.org 
 help / color / mirror / Atom feed
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
------------------------------------------------------------

             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