i2c: mediatek: add support for MT7981 SoC
authorDaniel Golle <daniel@makrotopia.org>
Mon, 10 Apr 2023 16:19:38 +0000 (17:19 +0100)
committerWolfram Sang <wsa@kernel.org>
Thu, 13 Apr 2023 16:40:36 +0000 (18:40 +0200)
Add support for the I2C units found in the MediaTek MT7981 and MT7988
SoCs. Just like other recent MediaTek I2C units that also uses v3
register offsets (which differ from v2 only by OFFSET_SLAVE_ADDR being
0x94 instead of 0x4).

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-mt65xx.c

index 59eaefe..a43c4d7 100644 (file)
@@ -431,6 +431,18 @@ static const struct mtk_i2c_compatible mt8168_compat = {
        .max_dma_support = 33,
 };
 
+static const struct mtk_i2c_compatible mt7981_compat = {
+       .regs = mt_i2c_regs_v3,
+       .pmic_i2c = 0,
+       .dcm = 0,
+       .auto_restart = 1,
+       .aux_len_reg = 1,
+       .timing_adjust = 1,
+       .dma_sync = 1,
+       .ltiming_adjust = 1,
+       .max_dma_support = 33
+};
+
 static const struct mtk_i2c_compatible mt7986_compat = {
        .quirks = &mt7622_i2c_quirks,
        .regs = mt_i2c_regs_v1,
@@ -516,6 +528,7 @@ static const struct of_device_id mtk_i2c_of_match[] = {
        { .compatible = "mediatek,mt6577-i2c", .data = &mt6577_compat },
        { .compatible = "mediatek,mt6589-i2c", .data = &mt6589_compat },
        { .compatible = "mediatek,mt7622-i2c", .data = &mt7622_compat },
+       { .compatible = "mediatek,mt7981-i2c", .data = &mt7981_compat },
        { .compatible = "mediatek,mt7986-i2c", .data = &mt7986_compat },
        { .compatible = "mediatek,mt8168-i2c", .data = &mt8168_compat },
        { .compatible = "mediatek,mt8173-i2c", .data = &mt8173_compat },