[PATCH V2 0/7] i2c: sprd: Modification of UNISOC Platform I2C Driver

From: Huangzheng Lai
Date: Thu Sep 21 2023 - 13:50:31 EST


Recently, some bugs have been discovered during use, and patch3
and patch5-7 are bug fixes. Also, this patchset add new features:
patch1 allows I2C to use more frequencies for communication,
patch2 allows I2C to use 'reset framework' for reset, and patch4 allows
I2C controller to dynamically switch frequencies during use.

change in V2
-Using 'I2C' instead of 'IIC' in the patch set.
-Using imperative form in patch subject.
-Use 'switch case' instead of 'else if' in PATCH 1/7.
-Modify if (i2c_dev->rst != NULL) to if (i2c_dev->rst) in PATCH 2/7.
-Modify some dev_err() to dev_warn() or dev_dbg().
-Clear i2c_dev->ack_flag in sprd_i2c_clear_ack() in PATCH 3/7.
-Modify the indentation format of the code in PATCH 4/7.
-Move sprd_i2c_enable() above its caller in PATCH 5/7.
-Remove 'Set I2C_RX_ACK when clear irq' commit.
-Add Fixes tags.

Huangzheng Lai (7):
i2c: sprd: Add configurations that support 1Mhz and 3.4Mhz frequencies
i2c: sprd: Add I2C driver to use 'reset framework' function
i2c: sprd: Use global variables to record I2C ack/nack status instead
of local variables
i2c: sprd: Add I2C controller driver to support dynamic switching of
400K/1M/3.4M frequency
i2c: sprd: Configure the enable bit of the I2C controller before each
transmission initiation
i2c: sprd: Increase the waiting time for I2C transmission to avoid
system crash issues
i2c: sprd: Add I2C_NACK_EN and I2C_TRANS_EN control bits

drivers/i2c/busses/i2c-sprd.c | 166 ++++++++++++++++++++++------------
1 file changed, 106 insertions(+), 60 deletions(-)

--
2.17.1