diff options
author | Fabio Estevam <fabio.estevam@nxp.com> | 2017-01-23 14:54:10 -0200 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2017-01-24 21:24:28 +0800 |
commit | a971c5545c3d45a1e33fda6e57913bb75aaa20c9 (patch) | |
tree | e2c7934dcf819efccb242d43add4b6107258e1bf /arch/arm/boot/dts/imx27.dtsi | |
parent | 7f59b319111bbc3a5f32730c8a43b201e9522f52 (diff) | |
download | lwn-a971c5545c3d45a1e33fda6e57913bb75aaa20c9.tar.gz lwn-a971c5545c3d45a1e33fda6e57913bb75aaa20c9.zip |
ARM: dts: imx: Pass 'chosen' and 'memory' nodes
Commit 7f107887d199 ("ARM: dts: imx: Remove skeleton.dtsi") causes boot
issues when the bootloader does not create a 'chosen' node if such node
is not present in the dtb.
The reason for the boot failure is well explained by Javier Martinez
Canillas: "the decompressor relies on a pre-existing chosen node to be
available to insert the command line and merge other ATAGS info."
, so pass an empty 'chosen' node to fix the boot problem.
This issue has been seen in the kernelci reports with Barebox as
bootloader.
Also pass the 'memory' node in order to fix boot issues on the SolidRun
iMX6 platforms.
Fixes: 7f107887d199 ("ARM: dts: imx: Remove skeleton.dtsi")
Reported-by: kernelci.org bot <bot@kernelci.org>
Reported-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'arch/arm/boot/dts/imx27.dtsi')
-rw-r--r-- | arch/arm/boot/dts/imx27.dtsi | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx27.dtsi b/arch/arm/boot/dts/imx27.dtsi index 9d8b5969ee3b..b397384248f4 100644 --- a/arch/arm/boot/dts/imx27.dtsi +++ b/arch/arm/boot/dts/imx27.dtsi @@ -19,6 +19,14 @@ / { #address-cells = <1>; #size-cells = <1>; + /* + * The decompressor and also some bootloaders rely on a + * pre-existing /chosen node to be available to insert the + * command line and merge other ATAGS info. + * Also for U-Boot there must be a pre-existing /memory node. + */ + chosen {}; + memory { device_type = "memory"; reg = <0 0>; }; aliases { ethernet0 = &fec; |