Messages in this thread | | | Subject | Re: [PATCH v10 43/55] dt-bindings: input: atmel: support to set max bytes transferred | From | "Wang, Jiada" <> | Date | Tue, 7 Apr 2020 18:27:49 +0900 |
| |
Hi Dmitry
On 2020/04/01 23:38, Dmitry Osipenko wrote: > 31.03.2020 13:50, Jiada Wang пишет: >> Add support to set max bytes transferred in an i2c transaction >> >> Signed-off-by: Jiada Wang <jiada_wang@mentor.com> >> --- >> Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt >> index 126266891cdc..37a798cab0dd 100644 >> --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt >> +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt >> @@ -45,6 +45,8 @@ Optional properties for main touchpad device: >> >> - atmel,input_name: Override name of input device from the default. >> >> +- atmel,mtu: Maximum number of bytes that can read/transferred in an i2c transaction >> + >> Example: >> >> touch@4b { >> @@ -52,4 +54,5 @@ Example: >> reg = <0x4b>; >> interrupt-parent = <&gpio>; >> interrupts = <TEGRA_GPIO(W, 3) IRQ_TYPE_LEVEL_LOW>; >> + atmel,mtu = <200> >> }; >> > > Is this a software (firmware) limitation which varies from version to > version? >
the timeout issue trying to be addressed in this patch is from software, one of our board a Serializer/Deserializer bridge exists between the SoC (imx6) and the Atmel touch controller. imx6 i2c controller driver has a timeout value(100ms) for each i2c transaction, Large i2c read transaction failed to complete within this timeout value and therefore imx6 i2c controller driver aborts the transaction and returns failure.
Therefore this patch was created to split the large i2c transaction into smaller chunks which can complete within the timeout defined by i2c controller driver.
Thanks, Jiada > If the limitation is per-hardware version, then perhaps should be better > to have a hardcoded per-hardware table of limits in the driver? >
| |