Wrong IRQ assigned on MPC8349EMDS board
From: biswa.nayak
Date: Thu Feb 28 2008 - 11:29:20 EST
Hello list
I am trying to bring up MPC8349EMDS board with linux-2.6.18 kernel with
ramfs enabled.
I am passing a device tree binary (dtb) compiled from the corresponding
dts file found from the 'arch/powerpc/boot/dts' directory and compiled
with the device tree compiler.
I found that the IRQ lines assigned to different peripherals are
completely wrong.
My serial ports are connected to pin 9 and 10, but in this kernel the
IRQs assigned are 16 and 17.
On a little investigation I found that the base address assigned to the
IPIC chip is '0xFDDFB700'
If I compile the linux version with 'ARCH=ppc' and boot then my IPIC
base address
is getting assigned as 0xFE000700, which I think is the correct
behaviour.
I checked in the dts file and found that the IPIC offset is mentioned as
700 and size as 100,
which are correct as per the manual.
Even the IRQ lines mentioned for the Serial ports in the DTS are '9' and
'A'.
Does this wrong assignment is due to the wrong base address of the IPIC
chip?
With IRQs 16 and 17, how the serial console is working fine?
When I tried hard coding the IPIC base value to '0xfe000700' then the
system refuses to boot up.
I kept the IPIC base as 0xfddfb700 and hard coded the irq lines for
serial ports as 9 and 10
and in that case the 'request_irq' call fails with the error number as
'-38',
which translates to '-ENOSYS'.
The changes in the dts never gets reflected in the kernel,
no matter what lines I set for serial line in the dts, the request
always goes for line 16 and 17.
Please let me know if you need any more information regarding the same.
Any help in this will be highly appreciated.
Thanks
Biswa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/