Re: ARCH=ppc -> ARCH=powerpc : help needed for dts file
flat view
From: Philippe De Muyter <hidden>
Date: 2008-03-04 08:34:48
Hi Ben, On Tue, Mar 04, 2008 at 08:26:14AM +1100, Benjamin Herrenschmidt wrote:
quoted
quoted
Maybe your PCI interrupt-map is wrong...Is the PCI-interrupt map that part of the dts file : interrupt-map = < /* IDSEL 0x02 */ 1000 0 0 1 &mpic 1 1 1000 0 0 2 &mpic 2 1 1000 0 0 3 &mpic 3 1 1000 0 0 4 &mpic 4 1 /* IDSEL 0x03 */ 1800 0 0 1 &mpic 4 1 1800 0 0 2 &mpic 1 1 1800 0 0 3 &mpic 2 1 1800 0 0 4 &mpic 3 1 ... I do not understand anything there :(It's documented in booting-without-of.txt afaik... The interrupt-map goes along with the interrupt-map-mask. The later defines which bits of the map are relevant.
Maybe I should read my mail in time-of-arrival order :)
The first part of the map is 3 cells containing a PCI address, followed by a cell containing a PCI IRQ line (1=A....4=D). The next is the parent interrupt controller, followed by the IRQ specification, which for MPIC is the interrupt number on that controller, followed by an encoding of the interrupt polarity & trigger type (1 for level-low). The first part, the PCI address, has a special format, which should be documented as well in the document I pointed out. For readability, we ommited the top 16 bits of the first cell, which are the address type and bus number, mostly irrelevant for interrupt mapping. The next bits are the device/function. Usually only the device part is unmasked.
1. Can all that info be found in /proc in a running system or even in the
sources, or do I need an hardware doc for that ?
2. Maybe you could explain the conversion between the kernel/lsusb notation
(0000:00:12.0, 0000:00:12.1, 0000:00:12.2)
or /proc/bus/pci notation :
0090 104cac46 35 9ffff000 0 0 0 0 0
0 1000 0 0 0 0 0
0 yenta_cardbus
0091 104cac46 36 9fbfe000 0 0 0 0 0
0 1000 0 0 0 0 0
0 yenta_cardbus
0092 104c802a 37 9f7fd800 9f7f8000 0 0 0 0
0 800 4000 0 0 0 0
0 ohci1394
and dts-notation ?
Thanks for listening
Philippe