Commit 04515932 authored by Marek Behún's avatar Marek Behún Committed by Arnd Bergmann
Browse files

ARM: dts: turris-omnia: Add MCU system-controller node



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: default avatarMarek Behún <kabel@kernel.org>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarAndy Shevchenko <andy@kernel.org>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Acked-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Acked-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20240701113010.16447-8-kabel@kernel.org


Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 8181a2f1
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -218,7 +218,22 @@ i2c@0 {
			#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";
@@ -501,6 +516,11 @@ fixed-link {
};

&pinctrl {
	mcu_pins: mcu-pins {
		marvell,pins = "mpp43";
		marvell,function = "gpio";
	};

	pcawan_pins: pcawan-pins {
		marvell,pins = "mpp46";
		marvell,function = "gpio";