summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/imx6sl.dtsi
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@nxp.com>2017-01-23 17:54:10 +0100
committerShawn Guo <shawnguo@kernel.org>2017-01-24 14:24:28 +0100
commita971c5545c3d45a1e33fda6e57913bb75aaa20c9 (patch)
treee2c7934dcf819efccb242d43add4b6107258e1bf /arch/arm/boot/dts/imx6sl.dtsi
parentARM: dts: imx6dl: fix GPIO4 range (diff)
downloadlinux-a971c5545c3d45a1e33fda6e57913bb75aaa20c9.tar.xz
linux-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/imx6sl.dtsi')
-rw-r--r--arch/arm/boot/dts/imx6sl.dtsi8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/imx6sl.dtsi b/arch/arm/boot/dts/imx6sl.dtsi
index 19cbd879c448..cc9572ea2860 100644
--- a/arch/arm/boot/dts/imx6sl.dtsi
+++ b/arch/arm/boot/dts/imx6sl.dtsi
@@ -14,6 +14,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;