- Apr 17, 2019
-
-
Clark Wang authored
For some chips may need long time to get the response from M4 sometimes, enlarge timeout to 500ms. Add a judgement to check if the received data is the current transfer wanted. Signed-off-by:
Clark Wang <xiaoning.wang@nxp.com> (cherry picked from commit 222e201b)
-
Clark Wang authored
I2c_lock_bus function in i2c-core-base will not stop the transfer to different devices on different buses at the same time. Since the multiple rpmsg i2c buses share one rpmsg channel, so it has to add mutex to protect rpmsg resource accessing. Signed-off-by:
Clark Wang <xiaoning.wang@nxp.com> (cherry picked from commit d592afe9)
-
Peng Fan authored
The alias ID must be defined in device tree, because that will be used as BUS ID to Cortex M4. If the alias ID not defined, linux kernel will automatically allocate one ID which might not be the same number used in Cortex M4 and Cortex M4 will not send msg to I2C controller. So let's add BUG_ON to catch issue as earlier as possible to avoid wasting efforts. Signed-off-by:
Peng Fan <peng.fan@nxp.com> Reviewed-by:
Clark Wang <xiaoning.wang@nxp.com> (cherry picked from commit b9ff2035)
-
Clark Wang authored
Add virtual i2c driver to send SRTM i2c messages to M4. Each virtual I2C bus has a specal bus id, which is abstracted by M4. Each SRTM message include a bus id for the bus which the device is on. Virtual i2c rpmsg bus will bind rpbus nodes with compatible string "fsl,i2c-rpbus". And "rpmsg-i2c-channel" will probe only one rpmsg channel for all rpbuses. This virtual i2c driver depends on CONFIG_I2C and CONFIG_RPMSG. Signed-off-by:
Clark Wang <xiaoning.wang@nxp.com> (cherry picked from commit 9feeac93)
-