[PATCH 0/1] mfd: da9063: Support SMBus and I2C mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On an NXP i.MX6 Solo processor we are running an application which makes
use of real-time threads (SCHED_RR). In combination with a DA9063 we
experienced (rare) random shut-downs and reboots. We found that the
issue was caused by a combination of the (default) DA9063 SMBus mode
and non-atomic I2C transactions of the i.MX6 I2C driver. Because a
transaction could be idle for longer than the SMBus clock time-out due
to a real-time thread the DA9063 would time-out and receive the second
half of the transaction as an unintended message.

The solution we are giving to review in this patch is to allow using the
I2C mode of the DA9063. We kindly ask for feedback and eventually hope
for an integration to the mainline.

Because we are on a vendor kernel we were not able to test this patch
on the current mainline kernel. Though, we tested a (very similar) patch
on our (close to mainline) Linux 4.14 and 5.4 vendor kernels.

Hubert Streidl (1):
  mfd: da9063: Support SMBus and I2C mode

 Documentation/devicetree/bindings/mfd/da9063.txt |  7 +++++++
 drivers/mfd/da9063-core.c                        |  9 +++++++++
 drivers/mfd/da9063-i2c.c                         | 13 +++++++++++++
 include/linux/mfd/da9063/core.h                  |  1 +
 include/linux/mfd/da9063/registers.h             |  3 +++
 5 files changed, 33 insertions(+)

-- 
2.25.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux