ARM: dts: mmp2: fix TWSI2
authorLubomir Rintel <lkundrak@v3.sk>
Wed, 28 Nov 2018 17:53:10 +0000 (18:53 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Feb 2019 18:47:04 +0000 (19:47 +0100)
[ Upstream commit 1147e05ac9fc2ef86a3691e7ca5c2db7602d81dd ]

Marvell keeps their MMP2 datasheet secret, but there are good clues
that TWSI2 is not on 0xd4025000 on that platform, not does it use
IRQ 58. In fact, the IRQ 58 on MMP2 seems to be a signal processor:

   arch/arm/mach-mmp/irqs.h:#define IRQ_MMP2_MSP  58

I'm taking a somewhat educated guess that is probably a copy & paste
error from PXA168 or PXA910 and that the real controller in fact hides
at address 0xd4031000 and uses an interrupt line multiplexed via IRQ 17.

I'm also copying some properties from TWSI1 that were missing or
incorrect.

Tested on a OLPC XO 1.75 machine, where the RTC is on TWSI2.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Tested-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Olof Johansson <olof@lixom.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm/boot/dts/mmp2.dtsi

index 766bbb8..47e5b63 100644 (file)
                                status = "disabled";
                        };
 
-                       twsi2: i2c@d4025000 {
+                       twsi2: i2c@d4031000 {
                                compatible = "mrvl,mmp-twsi";
-                               reg = <0xd4025000 0x1000>;
-                               interrupts = <58>;
+                               reg = <0xd4031000 0x1000>;
+                               interrupt-parent = <&intcmux17>;
+                               interrupts = <0>;
                                clocks = <&soc_clocks MMP2_CLK_TWSI1>;
                                resets = <&soc_clocks MMP2_CLK_TWSI1>;
+                               #address-cells = <1>;
+                               #size-cells = <0>;
                                status = "disabled";
                        };