[PATCH v14 0/3] i2c: npcm7xx: add NPCM i2c controller driver

Tali Perry tali.perry1 at gmail.com
Thu May 28 06:08:17 AEST 2020

This patch set adds i2c controller support 
for the Nuvoton NPCM Baseboard Management Controller (BMC).

NPCM7xx includes 16 I2C controllers. This driver operates the controller.
This module also includes a slave mode.

v14 -> v13:
	- Fix yaml example: add missing include.
	- Replace all udelay to usleep_range, except one which is called from
	- Fix compilation error (module_platfrom_init conflict).
	- debugfs counters always updated. Counting till max value,
	  then stop counting.
	- Rename bus-frequency to clock-frequency.
	- Remove unused variables.
v13 -> v12:
	- Fix yaml example. Issue found by an updated dt_binding_check.
	- remove double spacing. indentation issues.
	- remove ifdef DEBUG_FS around __init and __exit.
	- debugfs and counters are always present in bus struct.
	- Fix npcm_i2c_write_fifo_slave flow.
	- Remove version number.
v12 -> v11:
	- Fix according to maintainer comments.
	- debugfs simplified (usedebugfs_create_u64).
	- slave read fifo split from master read fifo.
v11 -> v10:
	- Fix according to maintainer comments.
	- Init clk simplified.
	- Comments in c99
	- Split master irq function.
	- debugfs not mandatory.
	- yaml file fix.

v10 -> v9:
	- Fix according to maintainer comments.
	- binding file changed to yaml format.
	- Shorten recovery flow.
	- Add support for health monitoring counters.

v9 -> v8:
	- Fix according to maintainer comments.
	- Split lines of iowrite..(ioread..) to separate lines.
	- Use readx_poll_timeout_atomic
	- resolve various style issues.
v8 -> v7:
	- Split to two commits, one for master, one for slave.
	- Rename smb to i2c.
	- Remove global vars.

v7 -> v6:
	- Rebased on Linux 5.4-rc8  (was Linux 5.4-rc7).
	- Fix issue found by kbuild test robot (redundant include).
	- Note: left a warning related to fall through. This fall through is
v6 -> v5:
	- Update documentation

v5 -> v4:
	- support recovery
	- master-slave switch support needed for IPMB

v4 -> v3:
	- typo on cover letter.

v3 -> v2:
	- fix dt binding: compatible name: omit "bus"

v2 -> v1:
	- run check patch in strict mode.
	- use linux crc.
	- define regs in constant offset without base.
	- remove debug prints.
	- no declarations for local functions.
v1: initial version

Signed-off-by: Tali Perry <tali.perry1 at gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Reported-by: kbuild test robot <lkp at intel.com>

Tali Perry (3):
  dt-bindings: i2c: npcm7xx: add NPCM I2C controller documentation
  i2c: npcm7xx: Add Nuvoton NPCM I2C controller driver
  i2c: npcm7xx: Add support for slave mode for Nuvoton NPCM BMC I2C
    controller driver.

 .../bindings/i2c/nuvoton,npcm7xx-i2c.yaml     |   62 +
 drivers/i2c/busses/Kconfig                    |    9 +
 drivers/i2c/busses/Makefile                   |    1 +
 drivers/i2c/busses/i2c-npcm7xx.c              | 2342 +++++++++++++++++
 4 files changed, 2414 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/i2c/nuvoton,npcm7xx-i2c.yaml
 create mode 100644 drivers/i2c/busses/i2c-npcm7xx.c

base-commit: b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce

More information about the openbmc mailing list