Stmpe-i2c 0-0041: failed to read regs 0x0 -6

Hi,

just got a new batch of Colibri iMX6 DL version 1.1Y.
when I load my OS onto these, I get the following boot message:

The first message I have seen before (but wondering if I should fix that as well)
But the second message is new to me. is this because i have version 1.1Y? i.e. without the A/D converter? Should I just disable it in the device-tree if I want to avoid seeing the error?

Starting kernel …

[ 0.054177] debugfs: Directory ‘dummy-iomuxc-gpr@20e0000’ with parent ‘regmap’ already present!
[ 0.089767] stmpe-i2c 0-0041: failed to read regs 0x0: -6
Starting version 244.5+

TorizonCore Upstream 5.6.0+build.13 colibri-imx6-11007522 ttymxc0

Leigh

It looks like you are trying to read a register but the register number is 0 and the read operation returned an error (-6),

That 0 may be a 0 initiallized variable.

That failure comes from the multi function device driver - mfd - not from the i2c driver itself.

https://www.kernel.org/doc/Documentation/devicetree/bindings/mfd/mfd.txt

static int __stmpe_reg_read(struct stmpe *stmpe, u8 reg)
{
int ret;

ret = stmpe->ci->read_byte(stmpe, reg);
if (ret < 0)
dev_err(stmpe->dev, “failed to read reg %#x: %d\n”, reg, ret);

dev_vdbg(stmpe->dev, “rd: reg %#x => data %#x\n”, reg, ret);

return ret;
}

That stmpe->ci is a stmpe_client_info - i2c or spi specific routines/info - structure whose read_byte function pointer is filled by the specific driver.

If you check the code of the specific driver loaded by your module you may find what the -6 error means.

I would check the i2c setup because something looks wrong.

Hi Leigh,
the 1.1Y versions of the module come without STMPE811 touch/ADC controller.

Disabling the touch controller and ADC related parts in the device tree should remove the errors.

Siegfried