summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts/imx27.dtsi
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2017-01-23 14:54:10 -0200
committerShawn Guo <shawnguo@kernel.org>2017-01-24 21:24:28 +0800
commita971c5545c3d45a1e33fda6e57913bb75aaa20c9 (patch)
treee2c7934dcf819efccb242d43add4b6107258e1bf /arch/arm/boot/dts/imx27.dtsi
parent7f59b319111bbc3a5f32730c8a43b201e9522f52 (diff)
downloadlwn-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.dtsi8
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;