[PATCH v5 0/7] Add support for MSCC Ocelot i2c

From: Alexandre Belloni
Date: Fri Aug 31 2018 - 11:12:26 EST


Because the designware IP was not able to handle the SDA hold time before
version 1.11a, MSCC has its own implementation. Add support for it and then add
i2c on ocelot boards.

I would expect patches 1 to 5 to go through the i2c tree.

Pathces 6-7 can go through the mips tree now that the bindings have been

Changes in v5:
- rebased on v4.19-rc1
- collected review, test and ack tags
- renamed the bindings documentation patch

Changes in v4:
- collected review and ack tags
- split bindings to a separate patch

Changes in v3:
- collected review tags
- fixed build warnings on 64bit machines

Changes in v2:
- removed first patch as a similar one is in i2c-next
- rebase on top of i2c-next
- Added two patches to implement ideas from Andy

Alexandre Belloni (7):
i2c: designware: use generic table matching
i2c: designware: move #ifdef CONFIG_OF to the top
i2c: designware: allow IP specific sda_hold_time
dt-bindings: i2c: designware: document MSCC Ocelot bindings
i2c: designware: add MSCC Ocelot support
MIPS: dts: mscc: Add i2c on ocelot
MIPS: dts: mscc: enable i2c on ocelot_pcb123

.../bindings/i2c/i2c-designware.txt | 7 ++-
arch/mips/boot/dts/mscc/ocelot.dtsi | 19 ++++++
arch/mips/boot/dts/mscc/ocelot_pcb123.dts | 6 ++
drivers/i2c/busses/i2c-designware-common.c | 2 +
drivers/i2c/busses/i2c-designware-core.h | 4 ++
drivers/i2c/busses/i2c-designware-platdrv.c | 63 +++++++++++++++----
6 files changed, 87 insertions(+), 14 deletions(-)