Message ID | 20240701113010.16447-8-kabel@kernel.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 04515932e52cbe517cf0e933fd22b254034874c4 |
Delegated to: | Arnd Bergmann |
Headers | show |
Series | Turris Omnia MCU driver | expand |
On Mon, Jul 01, 2024 at 01:30:09PM +0200, Marek Behún wrote: > 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> Andrew
Marek Behún <kabel@kernel.org> writes: > 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> Applied on mvebu/dt Thanks, Gregory > --- > .../dts/marvell/armada-385-turris-omnia.dts | 22 ++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts b/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts > index 7b755bb4e4e7..59079d63fe27 100644 > --- a/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts > +++ b/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts > @@ -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"; > -- > 2.44.2
diff --git a/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts b/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts index 7b755bb4e4e7..59079d63fe27 100644 --- a/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts +++ b/arch/arm/boot/dts/marvell/armada-385-turris-omnia.dts @@ -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";
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> --- .../dts/marvell/armada-385-turris-omnia.dts | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-)