Message ID | 20200930151259.18119-1-jiada_wang@mentor.com |
---|---|
Headers | show |
Series | implement I2C retries for mXT1368 | expand |
Hello Dmitry and all Kind reminder on this patch-set Thanks, Jiada On 2020/10/01 0:12, Jiada Wang wrote: > According to datasheet, mXT1386 chip has a WAKE line, it is used > to wake the chip up from deep sleep mode before communicating with > it via the I2C-compatible interface. > > if the WAKE line is connected to a GPIO line, the line must be > asserted 25 ms before the host attempts to communicate with the > mXT1386. > If the WAKE line is connected to the SCL pin, the mXT1386 will send > a NACK on the first attempt to address it, the host must then retry > 25 ms later. > > This patch adds compatible string "atmel,mXT1386" for mXT1386 controller, > when I2C transfer on mXT1386 fails, retry the transfer once after a > 25 ms sleep. > > > Jiada Wang (3): > dt-bindings: input: atmel: add compatible for mXT1386 > Input: atmel_mxt_ts - implement I2C retries for mXT1368 > ARM: tegra: add mXT1386 compatible > > --- > v3: > change compatible string to lowercase > > v2: > add bool retry_i2c_transfers to struct mxt_data, > to indicate whether retry is needed when i2c transfer fails > > v1: initial version > --- > .../bindings/input/atmel,maxtouch.txt | 1 + > .../boot/dts/tegra20-acer-a500-picasso.dts | 2 +- > drivers/input/touchscreen/atmel_mxt_ts.c | 62 +++++++++++++++---- > 3 files changed, 52 insertions(+), 13 deletions(-) >
21.10.2020 04:14, Wang, Jiada пишет: > Hello Dmitry and all > > Kind reminder on this patch-set Hello Jiada, Thinking a bit more about these patches, I'm coming back to the variant with the atmel,wakeup-method property. There are three possible wake-up variants for mXT1368: - NONE - GPIO - I2C-SCL and this series covers only the I2C-SCL. I was also skimming through datasheets of other maxtouch touchscreens and noticed that the retries aren't unique to mXT1368. For example mXT3432 controller also needs exactly the same retrying logic. Hence I think it should be better if we could generalize the wakeup-method in the device-tree. What do you think?