i2c: ocores: add support for i2c device on Sifive FU540-c000 SoC
authorSagar Shrikant Kadam <sagar.kadam@sifive.com>
Sat, 1 Jun 2019 06:11:14 +0000 (11:41 +0530)
committerWolfram Sang <wsa@the-dreams.de>
Fri, 14 Jun 2019 21:24:33 +0000 (23:24 +0200)
Update device id table for Opencore's I2C master based re-implementation
used in FU540-c000 chipset on HiFive Unleashed platform.

Device ID's include Sifive, soc-specific device for chip specific tweaks
and sifive IP block specific device for generic programming model.

Signed-off-by: Sagar Shrikant Kadam <sagar.kadam@sifive.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-ocores.c

index c3dabee..b334fa2 100644 (file)
@@ -82,6 +82,7 @@ struct ocores_i2c {
 
 #define TYPE_OCORES            0
 #define TYPE_GRLIB             1
+#define TYPE_SIFIVE_REV0       2
 
 static void oc_setreg_8(struct ocores_i2c *i2c, int reg, u8 value)
 {
@@ -462,6 +463,14 @@ static const struct of_device_id ocores_i2c_match[] = {
                .compatible = "aeroflexgaisler,i2cmst",
                .data = (void *)TYPE_GRLIB,
        },
+       {
+               .compatible = "sifive,fu540-c000-i2c",
+               .data = (void *)TYPE_SIFIVE_REV0,
+       },
+       {
+               .compatible = "sifive,i2c0",
+               .data = (void *)TYPE_SIFIVE_REV0,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(of, ocores_i2c_match);