Commit 8b2104d740 ("driver: Call of_clk_set_defaults for each probed device") made barebox act on the assigned-clock-parents property everywhere, not only for clock provider nodes. This breaks at least the serial console on the i.MX7 SabreSD board; only garbage is output if the patch is not reverted. As stopgap measure, override these properties for all enabled uart nodes in the barebox i.MX7 device tree. This reverts the behavior to what it was like before the offending commit. This is of course no real solution, as obviously Linux was fine dealing with these properties before. But this hack should at least fix the serial console for the boards that were broken in v2020.03.0. When a proper fix follows, this patch can be reverted. Cc: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Cc: Juergen Borleis <jbe@xxxxxxxxxxxxxx> Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- Hello Sascha, please apply to master, so the boards broken in v2020.03.0 aren't broken in v2020.04.0 as well. Cheers, --- arch/arm/dts/imx7d-sdb.dts | 11 +++++++++++ arch/arm/dts/imx7d-zii-rmu2.dts | 11 +++++++++++ arch/arm/dts/imx7d-zii-rpu2.dts | 11 +++++++++++ arch/arm/dts/imx7s-warp.dts | 16 ++++++++++++++++ 4 files changed, 49 insertions(+) diff --git a/arch/arm/dts/imx7d-sdb.dts b/arch/arm/dts/imx7d-sdb.dts index b90ada61b805..16bfabe9b358 100644 --- a/arch/arm/dts/imx7d-sdb.dts +++ b/arch/arm/dts/imx7d-sdb.dts @@ -28,3 +28,14 @@ line-name = "enet-rst-b"; }; }; + +/* FIXME: barebox serial is broken when barebox applies requested reparenting */ +&uart1 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; + +&uart6 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; diff --git a/arch/arm/dts/imx7d-zii-rmu2.dts b/arch/arm/dts/imx7d-zii-rmu2.dts index 1d0d631de7d2..a9e35aadf7a4 100644 --- a/arch/arm/dts/imx7d-zii-rmu2.dts +++ b/arch/arm/dts/imx7d-zii-rmu2.dts @@ -6,3 +6,14 @@ #include "imx7d-zii-rmu2.dtsi" #include "imx7d-ddrc.dtsi" + +/* FIXME: barebox serial is broken when barebox applies requested reparenting */ +&uart2 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; + +&uart4 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; diff --git a/arch/arm/dts/imx7d-zii-rpu2.dts b/arch/arm/dts/imx7d-zii-rpu2.dts index f8d6e89046d7..af5991b16458 100644 --- a/arch/arm/dts/imx7d-zii-rpu2.dts +++ b/arch/arm/dts/imx7d-zii-rpu2.dts @@ -26,3 +26,14 @@ switch-eeprom = &switch; }; }; + +/* FIXME: barebox serial is broken when barebox applies requested reparenting */ +&uart2 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; + +&uart4 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; diff --git a/arch/arm/dts/imx7s-warp.dts b/arch/arm/dts/imx7s-warp.dts index 49d4c7f2941a..c90147778346 100644 --- a/arch/arm/dts/imx7s-warp.dts +++ b/arch/arm/dts/imx7s-warp.dts @@ -42,3 +42,19 @@ }; }; }; + +/* FIXME: barebox serial is broken when barebox applies requested reparenting */ +&uart1 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; + +&uart3 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; + +&uart6 { + /delete-property/ assigned-clocks; + /delete-property/ assigned-clock-parents; +}; -- 2.26.0.rc2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox