[PATCH v5 00/10] i2c: npcm: Bug fixes timeout, spurious interrupts

Tyrone Ting
2022-05-17T10:13:17Z

From: Tyrone Ting <kfting@nuvoton.com>

This patchset includes the following fixes:

- Add dt-bindings description for NPCM845.
- Bug fix for timeout calculation.
- Better handling of spurious interrupts.
- Fix for event type in slave mode.
- Removal of own slave addresses [2:10].
- Support for next gen BMC (NPCM845).

The NPCM I2C driver is tested on NPCM750 and NPCM845 evaluation boards.

Addressed comments from:
- Krzysztof Kozlowski : https://www.spinics.net/lists/linux-i2c/
msg56795.html
- Andy Shevchenko : https://lkml.org/lkml/2022/5/10/297
- Wolfram Sang : https://lkml.org/lkml/2022/5/17/38
- Andy Shevchenko : https://lkml.org/lkml/2022/5/10/306
- Andy Shevchenko : https://lkml.org/lkml/2022/5/10/309

Changes since version 4:
- Remove quotes around ref handle to nuvoton,sys-mgr in i2c binding
document.
- Keep the "longer line first" order.
- Correct the SoB chain.
- Modify the if statement in one line and add new line characters.
- Modify the commit message format in the patch Remove own slave
addresses 2:10. Correct the if statement in one line and shorten the
debug messages.
- Create a new patch to capitalize the one-line comment in the driver.

Changes since version 3:
- Correct the const format in if condition in i2c binding document.
- Add the oops message statement and register information in register
access width patch.
- Add the occurring rate of the i2c spurious interrupt issue and more
details in driver's behavior to overcome this issue.
- Address Andy's comments in the patch to support NPCM845.

Changes since version 2:
- Keep old code as fallback, if getting nuvoton,sys-mgr property fails.
- Fix the error reported by running 'make DT_CHECKER_FLAGS=-m
dt_binding_check'.
- Make nuvoton,sys-mgr required for nuvoton,npcm845-i2c.
- Correct the patch's subject about changing the way of getting GCR
regmap and add the description about keeping old code as fallback
if getting nuvoton,sys-mgr property fails.
- Correct the patch title and description about removing the unused
variable clk_regmap.
- Use the data field directly instead of the macros since macros are
not constants anymore in this patch.

Changes since version 1:
- Add nuvoton,sys-mgr property in NPCM devicetree.
- Describe the commit message in imperative mood.
- Modify the description in i2c binding document to cover NPCM series.
- Add new property in i2c binding document.
- Create a new patch for client address calculation.
- Create a new patch for updating gcr property name.
- Create a new patch for removing unused clock node.
- Explain EOB in the commit description.
- Create a new patch for correcting NPCM register access width.
- Remove some comment since the corresponding logic no longer exists.
- Remove fixes tag while the patch adds an additional feature.
- Use devicetree data field to support NPCM845.

Tali Perry (6):
i2c: npcm: Change the way of getting GCR regmap
i2c: npcm: Remove unused variable clk_regmap
i2c: npcm: Fix timeout calculation
i2c: npcm: Add tx complete counter
i2c: npcm: Handle spurious interrupts
i2c: npcm: Remove own slave addresses 2:10

Tyrone Ting (4):
dt-bindings: i2c: npcm: support NPCM845
i2c: npcm: Correct register access width
i2c: npcm: Support NPCM845
i2c: npcm: Capitalize the one-line comment

.../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 25 +-
drivers/i2c/busses/Kconfig | 8 +-
drivers/i2c/busses/Makefile | 2 +-
drivers/i2c/busses/i2c-npcm7xx.c | 277 +++++++++++-------
4 files changed, 194 insertions(+), 118 deletions(-)

--
2.17.1