[PATCH] IIO: Add basic MXS LRADC driver
Juergen Beisert
jbe at pengutronix.de
Tue Jul 10 06:26:20 EDT 2012
Marek Vasut wrote:
> Dear Juergen Beisert,
>
> > Hi Marek,
> >
> > Marek Vasut wrote:
> > > > > > When I try to compile
> > > > > > your code I get:
> > > > > >
> > > > > > drivers/staging/iio/adc/mxs-lradc.c:42:40: fatal error:
> > > > > > linux/iio/triggered_buffer.h: No such file or directory
> > > > >
> > > > > You need this patches:
> > > > > iio:kfifo_buf Take advantage of the fixed record size used in
> > > > > IIO iio: kfifo - add poll support.
> > > > >
> > > > > And use latest -next.
> > > >
> > > > Thanks for the hints. Now it compiles and the driver seems to work.
> > > >
> > > > One thing I do not understand: It does not matter what channel I read
> > > > ('in_voltage*_raw'), only interrupt 16 ('mxs-lradc-channel0') counts
> > > > up. Intended?
> > > > Or did I a mistake by adding interrupt numbers "<13 14 15 16 17 18 19
> > > > 20 21 22 23 24 25>" to the corresponding device tree entry?
> > >
> > > They're wrong
> > >
> > > lradc at 80050000 {
> > >
> > > compatible = "fsl,imx28-lradc";
> > > reg = <0x80050000 2000>;
> > > interrupts = <10 14 15 16 17 18 19
> > >
> > > 20 21 22 23 24 25>;
> > >
> > > status = "disabled";
> > >
> > > };
> >
> > Ups, thanks. But still the same behaviour:
> >
> > $ cat /proc/interrupts
> > [...]
> > 10: 0 - mxs-lradc-touchscreen
> > 14: 0 - mxs-lradc-thresh0
> > 15: 0 - mxs-lradc-thresh1
> > 16: 0 - mxs-lradc-channel0
> > 17: 0 - mxs-lradc-channel1
> > 18: 0 - mxs-lradc-channel2
> > 19: 0 - mxs-lradc-channel3
> > 20: 0 - mxs-lradc-channel4
> > 21: 0 - mxs-lradc-channel5
> > 22: 0 - mxs-lradc-channel6
> > 23: 0 - mxs-lradc-channel7
> > 24: 0 - mxs-lradc-button0
> > 25: 0 - mxs-lradc-button1
> > [...]
> >
> > $ cat in_voltage0_raw
> > 524
> > $ cat in_voltage1_raw
> > 96
> > $ cat in_voltage2_raw
> > 1261
> >
> > $ cat /proc/interrupts
> > [...]
> > 10: 0 - mxs-lradc-touchscreen
> > 14: 0 - mxs-lradc-thresh0
> > 15: 0 - mxs-lradc-thresh1
> > 16: 3 - mxs-lradc-channel0
> > 17: 0 - mxs-lradc-channel1
> > 18: 0 - mxs-lradc-channel2
> > 19: 0 - mxs-lradc-channel3
> > 20: 0 - mxs-lradc-channel4
> > 21: 0 - mxs-lradc-channel5
> > 22: 0 - mxs-lradc-channel6
> > 23: 0 - mxs-lradc-channel7
> > 24: 0 - mxs-lradc-button0
> > 25: 0 - mxs-lradc-button1
> > [...]
> >
> > Intended in this way?
>
> But wait, you're getting interrupts on channel 0. Doesn't seem quite right.
> Did you happen to poke into the code and see where the issue might be?
No yet. But if you think this is not the intended behaviour of your driver I
will do a deeper look.
Regards,
Juergen
--
Pengutronix e.K. | Juergen Beisert |
Linux Solutions for Science and Industry | http://www.pengutronix.de/ |
More information about the linux-arm-kernel
mailing list