Hello, 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 4 to go through the i2c tree and 5-6 through the mips tree once patch 4 has been reviewed by the DT maintainers. This is based on top of i2c-next plus on https://patchwork.ozlabs.org/project/linux-i2c/list/?series=57551 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 (6): i2c: designware: use generic table matching i2c: designware: move #ifdef CONFIG_OF to the top i2c: designware: allow IP specific sda_hold_time 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 | 9 ++- arch/mips/boot/dts/mscc/ocelot.dtsi | 18 ++++++ 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(+), 15 deletions(-) -- 2.18.0 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html