Skip to contentSkip to conversation

ARM: dts: mx5: Pass the memory unit-address

PATCH New Fabio Estevam 2 participants 5 messages Feb 28, 2018 – Mar 1, 2018

Subsystems (2)
lore
Share & tools
lore

Fabio Estevam

author reviewer
#0 lore raw

PATCH 1/1 ARM: dts: mx5: Pass the memory unit-address

From: Fabio Estevam <[email protected]>

Pass the memory unit-address to fix the following build warnings with W=1:

arch/arm/boot/dts/imx51-zii-rdu1.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x03x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x13x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name

In theses cases an empty memory node is passed, which will be filled by the bootloader. Passing the memory base address still allows the bootloader to fill the memory size.

---
 arch/arm/boot/dts/imx51-zii-rdu1.dts | 4 ++--
 arch/arm/boot/dts/imx53-tx53.dtsi    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/boot/dts/imx51-zii-rdu1.dts +2 -2
index aa36204..14f4d57 100644
@@ -52,8 +52,8 @@
 	};
 
 	/* Will be filled by the bootloader */
-	memory {
-		reg = <0 0>;
+	memory at 90000000 {
+		reg = <0x90000000 0>;
 	};
 
 	aliases {
arch/arm/boot/dts/imx53-tx53.dtsi +2 -2
index e77dd0a..69a2af7 100644
@@ -50,8 +50,8 @@
 	compatible = "karo,tx53", "fsl,imx53";
 
 	/* Will be filled by the bootloader */
-	memory {
-		reg = <0 0>;
+	memory at 70000000 {
+		reg = <0x70000000 0>;
 	};
 
 	aliases {
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 ARM: dts: mx5: Pass the memory unit-address

Quoted 8 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

Pass the memory unit-address to fix the following build warnings with W=1:

arch/arm/boot/dts/imx51-zii-rdu1.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x03x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x13x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name

Quoted 5 lines

In theses cases an empty memory node is passed, which will be filled by the bootloader. Passing the memory base address still allows the bootloader to fill the memory size.

One thing I'm unsure is which memory node will be fixed up with correct memory configuration, considering we will have two memory nodes. One is the following that defined in imx51.dtsi.

memory { device_type = "memory"; };

And the other is memory at 90000000.

Shawn

Quoted 38 lines
---
 arch/arm/boot/dts/imx51-zii-rdu1.dts | 4 ++--
 arch/arm/boot/dts/imx53-tx53.dtsi    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/boot/dts/imx51-zii-rdu1.dts +2 -2
index aa36204..14f4d57 100644
@@ -52,8 +52,8 @@
 	};
 
 	/* Will be filled by the bootloader */
-	memory {
-		reg = <0 0>;
+	memory at 90000000 {
+		reg = <0x90000000 0>;
 	};
 
 	aliases {
arch/arm/boot/dts/imx53-tx53.dtsi +2 -2
index e77dd0a..69a2af7 100644
@@ -50,8 +50,8 @@
 	compatible = "karo,tx53", "fsl,imx53";
 
 	/* Will be filled by the bootloader */
-	memory {
-		reg = <0 0>;
+	memory at 70000000 {
+		reg = <0x70000000 0>;
 	};
 
 	aliases {
Signature · 1 line
2.7.4
author reviewer
#2 lore raw

PATCH 1/1 ARM: dts: mx5: Pass the memory unit-address

Hi Shawn,

Quoted 7 lines · Shawn Guo

One thing I'm unsure is which memory node will be fixed up with correct memory configuration, considering we will have two memory nodes. One is the following that defined in imx51.dtsi.

memory { device_type = "memory"; };

And the other is memory at 90000000.

On my tests the correct memory@ is filled with the real memory size.

One further cleanup I can make to avoid this double memory node is:

arch/arm/boot/dts/imx6qdl-sabresd.dtsi +1 -0
@@ -20,6 +20,7 @@
        };
 
        memory at 10000000 {
+               device_type = "memory";
                reg = <0x10000000 0x40000000>;
        };
 
arch/arm/boot/dts/imx6qdl.dtsi +0 -1
index c003e62..f3376f0 100644
@@ -23,7 +23,6 @@
         * Also for U-Boot there must be a pre-existing /memory node.
         */
        chosen {};
-       memory { device_type = "memory"; };
 
        aliases {
                ethernet0 = &fec;

If you agree I can do this for all i.MX dts.

What do you think?

#3 lore raw

PATCH 1/1 ARM: dts: mx5: Pass the memory unit-address

Quoted 39 lines · Fabio Estevam

Hi Shawn,

Quoted 7 lines · Shawn Guo

One thing I'm unsure is which memory node will be fixed up with correct memory configuration, considering we will have two memory nodes. One is the following that defined in imx51.dtsi.

memory { device_type = "memory"; };

And the other is memory at 90000000.

On my tests the correct memory@ is filled with the real memory size.

One further cleanup I can make to avoid this double memory node is:

arch/arm/boot/dts/imx6qdl-sabresd.dtsi +1 -0
@@ -20,6 +20,7 @@
        };
 
        memory at 10000000 {
+               device_type = "memory";
                reg = <0x10000000 0x40000000>;
        };
 
arch/arm/boot/dts/imx6qdl.dtsi +0 -1
index c003e62..f3376f0 100644
@@ -23,7 +23,6 @@
         * Also for U-Boot there must be a pre-existing /memory node.
         */
        chosen {};
-       memory { device_type = "memory"; };
 
        aliases {
                ethernet0 = &fec;
Quoted 3 lines

If you agree I can do this for all i.MX dts.

What do you think?

I agree. In the end, we will need to have every single board DTS contain a memory at unit-address node. Although the size field can be dummy and fixed up by bootloader.

Shawn

#4 lore raw

PATCH 1/1 ARM: dts: mx5: Pass the memory unit-address

In reply to Fabio Estevam
Quoted 8 lines · Fabio Estevam

From: Fabio Estevam <[email protected]>

Pass the memory unit-address to fix the following build warnings with W=1:

arch/arm/boot/dts/imx51-zii-rdu1.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x03x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name arch/arm/boot/dts/imx53-tx53-x13x.dtb: Warning (unit_address_vs_reg): Node /memory has a reg or ranges property, but no unit name

Quoted 5 lines

In theses cases an empty memory node is passed, which will be filled by the bootloader. Passing the memory base address still allows the bootloader to fill the memory size.

s/mx5/imx5 in subject.

I fixed it up and applied the patch.

Shawn