Skip to content

Commit

Permalink
ARM: dts: imx: Pass 'chosen' and 'memory' nodes
Browse files Browse the repository at this point in the history
Commit 7f10788 ("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: 7f10788 ("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>
  • Loading branch information
Fabio Estevam authored and Shawn Guo committed Jan 24, 2017
1 parent 7f59b31 commit a971c55
Show file tree
Hide file tree
Showing 15 changed files with 120 additions and 0 deletions.
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx1.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,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 {
gpio0 = &gpio1;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx23.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,14 @@
#size-cells = <1>;

interrupt-parent = <&icoll>;
/*
* 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 {
gpio0 = &gpio0;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx25.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx27.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx28.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,14 @@
#size-cells = <1>;

interrupt-parent = <&icoll>;
/*
* 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 = &mac0;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx31.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,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 {
serial0 = &uart1;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx35.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx50.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx51.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx53.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx6qdl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx6sl.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx6sx.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,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 {
can0 = &flexcan1;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx6ul.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,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 = &fec1;
Expand Down
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/imx7s.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,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 {
gpio0 = &gpio1;
Expand Down

0 comments on commit a971c55

Please sign in to comment.