]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: dts: turris-omnia: Add MCU system-controller node
authorMarek Behún <kabel@kernel.org>
Mon, 1 Jul 2024 11:30:09 +0000 (13:30 +0200)
committerGregory CLEMENT <gregory.clement@bootlin.com>
Fri, 5 Jul 2024 12:45:46 +0000 (14:45 +0200)
Turris Omnia's MCU provides various features that can be configured over
I2C at address 0x2a. Add device-tree node.

This does not carry a Fixes tag - we do not want this to get backported
to stable kernels for the following reason: U-Boot since v2022.10
inserts a phy-reset-gpio property into the WAN ethernet node pointing to
the MCU node if it finds the MCU node with a cznic,turris-omnia-mcu
compatible. Thus if this change got backported to a stable kernel, the
WAN interface driver would defer probe indefinitely (since it would wait
for the turris-omnia-mcu driver which would not be present).

Signed-off-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts

index 7b755bb4e4e7519dca60e87a734571a049b604bd..59079d63fe27673719a6b72335331420eca57d84 100644 (file)
                        #size-cells = <0>;
                        reg = <0>;
 
-                       /* STM32F0 command interface at address 0x2a */
+                       mcu: system-controller@2a {
+                               compatible = "cznic,turris-omnia-mcu";
+                               reg = <0x2a>;
+
+                               pinctrl-names = "default";
+                               pinctrl-0 = <&mcu_pins>;
+
+                               interrupt-parent = <&gpio1>;
+                               interrupts = <11 IRQ_TYPE_NONE>;
+
+                               gpio-controller;
+                               #gpio-cells = <3>;
+
+                               interrupt-controller;
+                               #interrupt-cells = <2>;
+                       };
 
                        led-controller@2b {
                                compatible = "cznic,turris-omnia-leds";
 };
 
 &pinctrl {
+       mcu_pins: mcu-pins {
+               marvell,pins = "mpp43";
+               marvell,function = "gpio";
+       };
+
        pcawan_pins: pcawan-pins {
                marvell,pins = "mpp46";
                marvell,function = "gpio";