You should be able to do this just in software with the mute line or with the lights-on dimming line. Both of these go through a RS232 receiver, and go to GPIO lines on the strongarm (GPIO21/22 I think).

If you set the appropriate bit (eg 1<<21 or 1<<22) in GRER and GFER (rising edge/falling edge detect) and claim IRQ 11 (IRQ_GPIO11_27). This IRQ is triggered when any of the GRER/GFER things get detected for GPIOs 11-27.

We try to use GPIOs 0-10 for things that we need interrupts from, which means this IRQ is not normally claimed in the system. 2.4 has a wrapper which simplifies everything for these lines, but 2.2 doesn't.

Anyway, claim the IRQ, set GRER/GFER and in your interrupt handler you need to write GEDR with 1<<21 or 1<<22 as approprite to ack the interrupt. You should then get an interrupt on every transition (you can find the current state of the GPIO line on GPLR).

The best way to get timing information is to buffer these transitions along with an OSCR (3.6864mhz 32bit counter) timestamp, and process them in a bottom half. A first stab at a driver would just output this info that you could then post-process.

IIRC, the dimmer input doesn't have a pull up/pull down on it at all, whereas the cellphone mute line does have pulldown on the mk2a. If you have no pulldown then you're unlikely to affect the workings of the signal line - you will just snoop. A diode won't help here.

Come to think of it, this may also be enough of an interface to do ODB-II reading. Now that'd be fun... ODB-II stuff onscreen with no hardware required except a 1-wire connection!

Let us know how you get on

Hugo