diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2020-04-15 12:14:22 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-04-20 15:09:12 +0200 |
commit | 4be9911e2f673bed4ba7c16e80bddf365833f27c (patch) | |
tree | f243e99d83573180262b0e3a31c28ca8428a90ca /arch | |
parent | 4b919832ad3cd33fa6fbd2a1eefd85b99cf42b31 (diff) | |
download | barebox-4be9911e2f673bed4ba7c16e80bddf365833f27c.tar.gz barebox-4be9911e2f673bed4ba7c16e80bddf365833f27c.tar.xz |
ARM: dts. i.MX7: add stopgap solution for barebox UART clock breakage
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@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Juergen Borleis <jbe@pengutronix.de>
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/dts/imx7d-sdb.dts | 11 | ||||
-rw-r--r-- | arch/arm/dts/imx7d-zii-rmu2.dts | 11 | ||||
-rw-r--r-- | arch/arm/dts/imx7d-zii-rpu2.dts | 11 | ||||
-rw-r--r-- | arch/arm/dts/imx7s-warp.dts | 16 |
4 files changed, 49 insertions, 0 deletions
diff --git a/arch/arm/dts/imx7d-sdb.dts b/arch/arm/dts/imx7d-sdb.dts index b90ada61b8..16bfabe9b3 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 a4116308bf..41566f54a1 100644 --- a/arch/arm/dts/imx7d-zii-rmu2.dts +++ b/arch/arm/dts/imx7d-zii-rmu2.dts @@ -7,6 +7,17 @@ #include <arm/imx7d-zii-rmu2.dts> #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; +}; + &ecspi1 { nor_flash: flash@0 { #address-cells = <1>; diff --git a/arch/arm/dts/imx7d-zii-rpu2.dts b/arch/arm/dts/imx7d-zii-rpu2.dts index 168f66c732..58b22aa8e8 100644 --- a/arch/arm/dts/imx7d-zii-rpu2.dts +++ b/arch/arm/dts/imx7d-zii-rpu2.dts @@ -17,3 +17,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 49d4c7f294..c901477783 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; +}; |