diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c index e1ef012..4fd4721 100644 --- a/drivers/i2c/busses/i2c-mt65xx.c +++ b/drivers/i2c/busses/i2c-mt65xx.c @@ -157,7 +157,7 @@ static const u16 mt_i2c_regs_v1[] = { static const u16 mt_i2c_regs_v2[] = { [OFFSET_DATA_PORT] = 0x0, - [OFFSET_SLAVE_ADDR] = 0x4, + [OFFSET_SLAVE_ADDR] = 0x94, [OFFSET_INTR_MASK] = 0x8, [OFFSET_INTR_STAT] = 0xc, [OFFSET_CONTROL] = 0x10, @@ -289,6 +289,18 @@ static const struct mtk_i2c_compatible mt7622_compat = { .ltiming_adjust = 0, }; +static const struct mtk_i2c_compatible mt7981_compat = { + .regs = mt_i2c_regs_v2, + .pmic_i2c = 0, + .dcm = 0, + .auto_restart = 1, + .aux_len_reg = 1, + .support_33bits = 1, + .timing_adjust = 1, + .dma_sync = 1, + .ltiming_adjust = 1, +}; + static const struct mtk_i2c_compatible mt7986_compat = { .quirks = &mt7622_i2c_quirks, .regs = mt_i2c_regs_v1, @@ -332,6 +344,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,mt8173-i2c", .data = &mt8173_compat }, { .compatible = "mediatek,mt8183-i2c", .data = &mt8183_compat }, -- 2.18.0