From: sander van ginkel <hidden> Date: 2012-11-28 15:09:19
The I2C hardware in the IMX233 is currently not supported,
however the i2c-mxs driver seems to be suitable.
To use the i2c-mxs driver it has to be added to the devicetree
for the IMX23.
Signed-off-by: Sander van Ginkel <redacted>
---
diff -Naur linux-3.7-rc6/arch/arm/boot/dts/imx23-olinuxino.dts
linux-3.7-rc6-i2c/arch/arm/boot/dts/imx23-olinuxino.dts
From: Wolfram Sang <hidden> Date: 2012-11-28 15:08:57
On Wed, Nov 28, 2012 at 03:24:03PM +0100, sander van ginkel wrote:
The I2C hardware in the IMX233 is currently not supported,
however the i2c-mxs driver seems to be suitable.
To use the i2c-mxs driver it has to be added to the devicetree
for the IMX23.
From: Wolfram Sang <hidden> Date: 2012-11-28 16:24:57
I've tested it with multiple configs.
Please specify a bit more what you tested and what configs mean. It is
especially important to talk to slaves since this is where DMA problems
occured.
'i2cdetect -r ...' would be more interesting to see communication with
slaves happening :) Also, what kernel did you test?
Thanks,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121128/dfe84d0f/attachment.sig>
From: Sander van Ginkel <hidden> Date: 2012-11-28 16:45:11
tested with:
CONFIG_I2C_MXS=m
CONFIG_I2C_MXS=y
in combination with CONFIG_GPIO_MXS enabled and disabled
used kernels: 3.6 and 3.7.0-rc6
My I2C slave is a PCF8575 i/o expander with some LEDs at the output.
These are controlled through sysfs.
Just tested with "i2cdetc -y -r 0" that crashes with "BUG: soft lockup
- CPU#0 stuck for 22s!"
according to the docs (IMX23RM.pdf) the interrupts for I2C are 26 and 27
that why I assigned these two in the dts.
From: Wolfram Sang <hidden> Date: 2012-11-28 17:09:16
Hi,
(adding the i2c list)
On Wed, Nov 28, 2012 at 05:44:49PM +0100, Sander van Ginkel wrote:
tested with:
CONFIG_I2C_MXS=m
CONFIG_I2C_MXS=y
in combination with CONFIG_GPIO_MXS enabled and disabled
used kernels: 3.6 and 3.7.0-rc6
My I2C slave is a PCF8575 i/o expander with some LEDs at the output.
These are controlled through sysfs.
Thanks, this is useful info.
Just tested with "i2cdetc -y -r 0" that crashes with "BUG: soft
lockup - CPU#0 stuck for 22s!"
according to the docs (IMX23RM.pdf) the interrupts for I2C are 26
and 27 that why I assigned these two in the dts.
You might want to try my for-next branch or wait for 3.8-rc1, maybe the
DMA termination patch helps? Also enabling I2C debug messages is
probably worth it.
Regards,
Wolfram
--
Pengutronix e.K. | Wolfram Sang |
Industrial Linux Solutions | http://www.pengutronix.de/ |
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121128/8e813c29/attachment.sig>
I've tested your git tree, with the same config as I used for the
3.7.0-rc6 release (IMX i2c build in)
It's not a 100% fix
If I do "i2cdetect -y -r 0" with 3.7.0-rc6, i2cdetect gets confused
and the kernel keeps dumping "mxs-i2c 80058000.i2c: Failed to get PIO
reg. write descriptor."
If I do the same with your git release I get the same result, but only
when i2cdetect is running. When it's finished or I terminate, the
kprint will also disappear.
So there is some improvement but not 100% yet.
From: sander van ginkel <hidden> Date: 2012-11-28 18:58:27
Sander,
Just tested with "i2cdetc -y -r 0" that crashes with "BUG: soft
lockup -
quoted
CPU#0 stuck for 22s!"
according to the docs (IMX23RM.pdf) the interrupts for I2C are 26
and 27
quoted
that why I assigned these two in the dts.
In your dts, is it 26, 27? Order matters, it should be 27, 26.
Error ISR,
DMA.
Hi Tim,
Thanks for your suggestion. I swapped the numbers and it solved the crash.
However I still have to debug some more because it gives now :
mxs-i2c 80058000.i2c: Failed to get PIO reg. write descriptor.
Thanks,
Sander