Internal interrupts on the MPC107
Adrian Cox
adrian at humboldt.co.uk
Wed May 28 20:49:46 EST 2003
I have an interrupt driven driver for the I2C controller of the MPC107
and MPC8245:
http://www.humboldt.co.uk/mpc10xi2c.html
In this driver I attempt to find the interrupt vector for I2C by reading
it directly out of the EPIC hardware in the driver initialisation code:
i2c_vec = readl(epic_base + 0x11020) & 0xff;
This works fine on my custom board based on the linuxppc_2_4_devel
kernel, but caused problems for an end user using a 2.4.17 kernel from
Montavista. On that kernel, the EPIC register at offset 0x11020
contained 0. Another user with an unknown kernel found 0 in the
register, but was able to make progress by hardcoding the IRQ number 20.
Does anybody have any suggestions for a generic solution? I'd like to
get the driver into the kernel at some point, but this part of the code
seems a bit too ugly for now.
- Adrian Cox
http://www.humboldt.co.uk/
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list