mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
7f0e1373f4
Pick accepted patches from upstream Linux tree instead of having to
maintain our slightly different downstream patches.
Import pending patch fixing I2C on MT7981 by making sure all clocks
are enabled before accessing I2C registers.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit 213b728276
)
48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
From f69f3d662ba3bf999c36d9ac1e684540c4487bc3 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Mon, 10 Apr 2023 17:19:38 +0100
|
|
Subject: [PATCH 15/16] i2c: mediatek: add support for MT7981 SoC
|
|
|
|
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 | 13 +++++++++++++
|
|
1 file changed, 13 insertions(+)
|
|
|
|
--- a/drivers/i2c/busses/i2c-mt65xx.c
|
|
+++ b/drivers/i2c/busses/i2c-mt65xx.c
|
|
@@ -431,6 +431,18 @@ static const struct mtk_i2c_compatible m
|
|
.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
|
|
{ .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 },
|