[PATCH v3 00/11] i2c: npcm: Bug fixes timeout, spurious interrupts

From: Tyrone Ting
Date: Thu Mar 03 2022 - 03:31:50 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:
- Krzysztof Kozlowski : https://lkml.org/lkml/2022/2/21/129
- Wolfram Sang : https://lore.kernel.org/lkml/Yh536s%2F7bm6Xt6o3@ninjato/
- Rob Herring : https://lkml.org/lkml/2022/2/20/425
- Rob Herring : https://lkml.org/lkml/2022/2/22/945
- Krzysztof Kozlowski : https://www.spinics.net/lists/linux-i2c/
msg55903.html
- Jonathan Neuschäfer : https://lkml.org/lkml/2022/2/21/500
- Krzysztof Kozlowski : https://lkml.org/lkml/2022/2/20/49

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 (7):
i2c: npcm: Fix client address calculation
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):
arm: dts: add new property for NPCM i2c module
dt-bindings: i2c: npcm: support NPCM845
i2c: npcm: Correct register access width
i2c: npcm: Support NPCM845

.../bindings/i2c/nuvoton,npcm7xx-i2c.yaml | 26 +-
arch/arm/boot/dts/nuvoton-common-npcm7xx.dtsi | 16 +
drivers/i2c/busses/Kconfig | 8 +-
drivers/i2c/busses/Makefile | 2 +-
drivers/i2c/busses/i2c-npcm7xx.c | 291 +++++++++++-------
5 files changed, 221 insertions(+), 122 deletions(-)

--
2.17.1