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
          irq.
        - 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
          intentional.
        
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 <[email protected]>
Reviewed-by: Andy Shevchenko <[email protected]>
Reported-by: kbuild test robot <[email protected]>

---
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
-- 
2.22.0

Reply via email to