Tegra i2c quirks issue


When I insmod same camera driver on Jestson Xavier & Nano, it starting transfer data by i2c. Xavier can’t succeed but Nano work. The error message show :
" i2c i2c-31: adapter quirk: msg too long (addr 0x003d, size 4096, write) "

So I tracking what different with them, and I found that is caused by max_write_len setting in i2c-tegra.c.

static struct i2c_adapter_quirks tegra_i2c_quirks = {
.max_read_len = 4096,
.max_write_len = 4096 - 12,

My camera driver is on Nano i2c7: i2c@546c0000, so it setting is in i2c-tegra-vi.c.

static struct i2c_adapter_quirks tegra_i2c_quirks = {
.max_read_len = 4096,
.max_write_len = 4096,

Why max_write_len need to -12 in i2c-tegra.c? May I modify it would have any side effect?

Sorry for the late response, our team will do the investigation and provide suggestions soon. Thanks

Suppose it’s WAR for t210 chip. Not sure if NX still the same. Could you modify it to try.

I have try and it be good now.
.max_write_len = 4096 (no “- 12”) is working but just want to know between this diff will affect something else?


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.