All of lore.kernel.org
 help / color / mirror / Atom feed
* Interruption on PCI Bus
@ 2009-04-16  7:58 Simon Desfarges
       [not found] ` <49E6E542.5090504-s/S/64wAxt+H1Tvi1vFFB9BPR1lH4CV8@public.gmane.org>
  0 siblings, 1 reply; 6+ messages in thread
From: Simon Desfarges @ 2009-04-16  7:58 UTC (permalink / raw)
  To: devicetree-discuss-mnsaURCQ41sdnm+yROfE0A

Hi everybody,

I am working on a custom board and I started to map the Interruptions of 
the PCI on the dts file as follow:

pci@70000000 {
	compatible = "abac-pci";
	device_type = "pci";

	#size-cells = <2>;
	#address-cells = <3>;
	#interrupt-cells = <1>;
	reg = <0x20021000 0x1000>;
	bus-range = <0 1>;
	ranges = < /*Memory-space 1:1 mapping*/
		0x2000000 0x0 0x90000000 0x90000000 0x0 0x10000000
		/*No IO-space*/
		0x1000000 0x0 0x00000000 0x00000000 0x0 0x00000000
	        >;
	clock-frequency = <66666666>;
	interrupt-parent = <&IT_controller>;

	interrupts = <0xd>;
	interrupt-map-mask = <0xf800 0x0 0x0 0x7>;
			
	interrupt-map = <
		/* IDSEL 15 - only 1 slot with 1 IT*/
		0x7800 0x0 0x0 0x1 &IT_controller  0xd
		>;
		};

I have some questions about interrupt mapping:
- If I understood well, when Linux wants to map its internal 
interruptions, it generates a PCI address, masks it with the 
<interrupt-map-mask> field and compares the result with the 
<interrupt-map> field. But where do this address come from ? When in the 
startup the interrupt mapping is done (in which part of code) ? Is it 
automatic or have I to do that manually during PCI initialization ?

- I have read that in the config. space of PCI device, there is a 
"PCI_INTERRUPT_LINE" which gives to the driver the interrupt number. So 
I wonder who (Linux or U-Boot ?) and when this field is filled ?

Thank you for your attention.

Simon Desfarges

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-04-17  8:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-04-16  7:58 Interruption on PCI Bus Simon Desfarges
     [not found] ` <49E6E542.5090504-s/S/64wAxt+H1Tvi1vFFB9BPR1lH4CV8@public.gmane.org>
2009-04-16  8:50   ` Mitch Bradley
     [not found]     ` <49E6F14A.9010800-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-04-16 14:20       ` Grant Likely
     [not found]         ` <fa686aa40904160720s77efa749u56392d7027467a4a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-16 15:12           ` Simon Desfarges
     [not found]             ` <49E74AC0.4000508-s/S/64wAxt+H1Tvi1vFFB9BPR1lH4CV8@public.gmane.org>
2009-04-16 15:15               ` Grant Likely
     [not found]                 ` <fa686aa40904160815y5eca6f5fn865762b645903c7a-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-17  8:24                   ` Simon Desfarges

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.