[PATCH v6 0/5] i2c: npcm: Bug fixes timeout, spurious interrupts

From: Tyrone Ting
Date: Tue May 24 2022 - 23:24:22 EST


From: Tyrone Ting <kfting@xxxxxxxxxxx>

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:
- Wolfram Sang : https://lkml.org/lkml/2022/5/21/51

Changes since version 5:
- Shorten npcm_i2caddr array since the number of supported i2c slave
addresses is reduced.
- Create a new patch from the original PATCH v5 08/10 to modify the slave
transaction logic.

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 (2):
i2c: npcm: Remove own slave addresses 2:10
i2c: npcm: Correct slave role behavior

Tyrone Ting (3):
dt-bindings: i2c: npcm: support NPCM845
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 | 176 ++++++++++--------
4 files changed, 124 insertions(+), 87 deletions(-)

--
2.17.1