linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981
@ 2023-03-14  1:18 Daniel Golle
  2023-03-14  1:18 ` [PATCH 1/2] i2c: mediatek: add support for MT7981 SoC Daniel Golle
  2023-03-14  1:18 ` [PATCH 2/2] dt-bindings: i2c: i2c-mt65xx: add binding " Daniel Golle
  0 siblings, 2 replies; 5+ messages in thread
From: Daniel Golle @ 2023-03-14  1:18 UTC (permalink / raw)
  To: linux-i2c, linux-mediatek, linux-arm-kernel, linux-kernel,
	devicetree, Qii Wang, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, AngeloGioacchino Del Regno

Add support for the I2C units found in the MT7981 SoC.

Daniel Golle (2):
  i2c: mediatek: add support for MT7981 SoC
  dt-bindings: i2c: i2c-mt65xx: add binding for MT7981 SoC

 .../devicetree/bindings/i2c/i2c-mt65xx.yaml         |  1 +
 drivers/i2c/busses/i2c-mt65xx.c                     | 13 +++++++++++++
 2 files changed, 14 insertions(+)


base-commit: 24469a0e5052ba01a35a15f104717a82b7a4798b
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] i2c: mediatek: add support for MT7981 SoC
  2023-03-14  1:18 [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981 Daniel Golle
@ 2023-03-14  1:18 ` Daniel Golle
       [not found]   ` <5f219379-cccb-d8ca-ed23-4106ca3ecf3a@collabora.com>
  2023-03-14  1:18 ` [PATCH 2/2] dt-bindings: i2c: i2c-mt65xx: add binding " Daniel Golle
  1 sibling, 1 reply; 5+ messages in thread
From: Daniel Golle @ 2023-03-14  1:18 UTC (permalink / raw)
  To: linux-i2c, linux-mediatek, linux-arm-kernel, linux-kernel,
	devicetree, Qii Wang, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, AngeloGioacchino Del Regno

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/i2c/busses/i2c-mt65xx.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c
index 43dd966d5ef5..54cabd366403 100644
--- a/drivers/i2c/busses/i2c-mt65xx.c
+++ b/drivers/i2c/busses/i2c-mt65xx.c
@@ -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 },
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] dt-bindings: i2c: i2c-mt65xx: add binding for MT7981 SoC
  2023-03-14  1:18 [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981 Daniel Golle
  2023-03-14  1:18 ` [PATCH 1/2] i2c: mediatek: add support for MT7981 SoC Daniel Golle
@ 2023-03-14  1:18 ` Daniel Golle
  1 sibling, 0 replies; 5+ messages in thread
From: Daniel Golle @ 2023-03-14  1:18 UTC (permalink / raw)
  To: linux-i2c, linux-mediatek, linux-arm-kernel, linux-kernel,
	devicetree, Qii Wang, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger, AngeloGioacchino Del Regno

Add binding documentation for the I2C controllers found in the
MediaTek MT7981 SoC.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml
index 72ae2e01cf22..5ae6769483d7 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml
+++ b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.yaml
@@ -23,6 +23,7 @@ properties:
       - const: mediatek,mt6577-i2c
       - const: mediatek,mt6589-i2c
       - const: mediatek,mt7622-i2c
+      - const: mediatek,mt7981-i2c
       - const: mediatek,mt7986-i2c
       - const: mediatek,mt8168-i2c
       - const: mediatek,mt8173-i2c
-- 
2.39.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] i2c: mediatek: add support for MT7981 SoC
       [not found]   ` <5f219379-cccb-d8ca-ed23-4106ca3ecf3a@collabora.com>
@ 2023-03-14 12:32     ` Daniel Golle
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Golle @ 2023-03-14 12:32 UTC (permalink / raw)
  To: AngeloGioacchino Del Regno
  Cc: linux-i2c, linux-mediatek, linux-arm-kernel, linux-kernel,
	devicetree, Qii Wang, Rob Herring, Krzysztof Kozlowski,
	Matthias Brugger

On Tue, Mar 14, 2023 at 10:26:56AM +0100, AngeloGioacchino Del Regno wrote:
> Il 14/03/23 02:18, Daniel Golle ha scritto:
> > Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> > ---
> >   drivers/i2c/busses/i2c-mt65xx.c | 13 +++++++++++++
> >   1 file changed, 13 insertions(+)
> > 
> > diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c
> > index 43dd966d5ef5..54cabd366403 100644
> > --- a/drivers/i2c/busses/i2c-mt65xx.c
> > +++ b/drivers/i2c/busses/i2c-mt65xx.c
> > @@ -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,
> 
> I've found a downstream kernel saying that MT7981 uses `mt_i2c_regs_v2`,
> hence the question:
> 
> Are you sure that this is supposed to be v3?

Yes, I've seen that downstream kernel and it also patches
OFFSET_SLAVE_ADDR to be 0x94 instead of 0x4 (which is the only difference
between v2 and v3 regs).

So yes, I'm sure MT7981 and MT7988 use v3 register layout.

> 
> Regards,
> Angelo
> 
> > +	.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 },
> 
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981
@ 2023-04-06 21:41 Daniel Golle
  0 siblings, 0 replies; 5+ messages in thread
From: Daniel Golle @ 2023-04-06 21:41 UTC (permalink / raw)
  To: linux-i2c, linux-mediatek, linux-arm-kernel, linux-kernel,
	devicetree, Qii Wang, Rob Herring, Krzysztof Kozlowski,
	AngeloGioacchino Del Regno, Matthias Brugger, Sam Shih

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).

Corresponding patch in MediaTek's SDK:
https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/472dc5cf11d4359cb3e3f80577dba22df0696e43/target/linux/mediatek/patches-5.4/0901-i2c-busses-add-mt7981-support.patch

Changes since v1:
 * add missing commit description
 * add link to patch in MediaTek's SDK to cover letter

Daniel Golle (2):
  i2c: mediatek: add support for MT7981 SoC
  dt-bindings: i2c: i2c-mt65xx: add binding for MT7981 SoC

 .../devicetree/bindings/i2c/i2c-mt65xx.yaml         |  1 +
 drivers/i2c/busses/i2c-mt65xx.c                     | 13 +++++++++++++
 2 files changed, 14 insertions(+)


base-commit: e134c93f788fb93fd6a3ec3af9af850a2048c7e6
-- 
2.40.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-04-06 21:42 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-14  1:18 [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981 Daniel Golle
2023-03-14  1:18 ` [PATCH 1/2] i2c: mediatek: add support for MT7981 SoC Daniel Golle
     [not found]   ` <5f219379-cccb-d8ca-ed23-4106ca3ecf3a@collabora.com>
2023-03-14 12:32     ` Daniel Golle
2023-03-14  1:18 ` [PATCH 2/2] dt-bindings: i2c: i2c-mt65xx: add binding " Daniel Golle
  -- strict thread matches above, loose matches on Subject: below --
2023-04-06 21:41 [PATCH 0/2] i2c: i2c-mt65xx: add support for MT7981 Daniel Golle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).