[v2,1/2] arm64: dts: qcom: msm8953: Set initial address for memory

Message ID 20231125-msm8953-misc-fixes-v2-1-df86655841d9@z3ntu.xyz
State New
Headers
Series Small dtsi fixes for msm8953 SoC |

Commit Message

Luca Weiss Nov. 25, 2023, 12:19 p.m. UTC
  The dtbs_check really doesn't like having memory without reg set.

The base address depends on the amount of RAM you have:

  <= 2.00 GiB RAM: 0x80000000
   = 3.00 GiB RAM: 0x40000000
   = 3.75 GiB RAM: 0x10000000
 (more does not fit into the 32-bit physical address space)

So, let's pick one of the values, 0x10000000 which is used on devices
with 3.75 GiB RAM. Since the bootloader will update it to what's present
on the device it doesn't matter too much.

Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
---
 arch/arm64/boot/dts/qcom/msm8953.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Bjorn Andersson Dec. 3, 2023, 4:20 a.m. UTC | #1
On Sat, Nov 25, 2023 at 01:19:27PM +0100, Luca Weiss wrote:
> The dtbs_check really doesn't like having memory without reg set.
> 
> The base address depends on the amount of RAM you have:
> 
>   <= 2.00 GiB RAM: 0x80000000
>    = 3.00 GiB RAM: 0x40000000
>    = 3.75 GiB RAM: 0x10000000
>  (more does not fit into the 32-bit physical address space)
> 
> So, let's pick one of the values, 0x10000000 which is used on devices
> with 3.75 GiB RAM. Since the bootloader will update it to what's present
> on the device it doesn't matter too much.
> 
> Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> ---
>  arch/arm64/boot/dts/qcom/msm8953.dtsi | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
> index e7de7632669a..a3ba24ca599b 100644
> --- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
> +++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
> @@ -174,10 +174,10 @@ scm: scm {
>  		};
>  	};
>  
> -	memory {

Wouldn't it be sufficient to add @0 here, to please dtbs_check?

Regards,
Bjorn

> +	memory@10000000 {
>  		device_type = "memory";
>  		/* We expect the bootloader to fill in the reg */
> -		reg = <0 0 0 0>;
> +		reg = <0 0x10000000 0 0>;
>  	};
>  
>  	pmu {
> 
> -- 
> 2.43.0
>
  
Luca Weiss Dec. 3, 2023, 10:38 a.m. UTC | #2
On Sonntag, 3. Dezember 2023 05:20:23 CET Bjorn Andersson wrote:
> On Sat, Nov 25, 2023 at 01:19:27PM +0100, Luca Weiss wrote:
> > The dtbs_check really doesn't like having memory without reg set.
> > 
> > The base address depends on the amount of RAM you have:
> >   <= 2.00 GiB RAM: 0x80000000
> >   
> >    = 3.00 GiB RAM: 0x40000000
> >    = 3.75 GiB RAM: 0x10000000
> >  
> >  (more does not fit into the 32-bit physical address space)
> > 
> > So, let's pick one of the values, 0x10000000 which is used on devices
> > with 3.75 GiB RAM. Since the bootloader will update it to what's present
> > on the device it doesn't matter too much.
> > 
> > Signed-off-by: Luca Weiss <luca@z3ntu.xyz>
> > ---
> > 
> >  arch/arm64/boot/dts/qcom/msm8953.dtsi | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > b/arch/arm64/boot/dts/qcom/msm8953.dtsi index e7de7632669a..a3ba24ca599b
> > 100644
> > --- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > +++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
> > @@ -174,10 +174,10 @@ scm: scm {
> > 
> >  		};
> >  	
> >  	};
> > 
> > -	memory {
> 
> Wouldn't it be sufficient to add @0 here, to please dtbs_check?

The checker itself also seems to be okay with memory@0 and no other change,
but there's this warning with W=1

arch/arm64/boot/dts/qcom/msm8953.dtsi:177.11-181.4: Warning (unique_unit_address_if_enabled): /memory@0: duplicate unit-address (also used in node /soc@0)

So probably we should still try to put it at a reasonable address like
0x10000000?

Regards
Luca

> 
> Regards,
> Bjorn
> 
> > +	memory@10000000 {
> > 
> >  		device_type = "memory";
> >  		/* We expect the bootloader to fill in the reg */
> > 
> > -		reg = <0 0 0 0>;
> > +		reg = <0 0x10000000 0 0>;
> > 
> >  	};
> >  	
> >  	pmu {
  

Patch

diff --git a/arch/arm64/boot/dts/qcom/msm8953.dtsi b/arch/arm64/boot/dts/qcom/msm8953.dtsi
index e7de7632669a..a3ba24ca599b 100644
--- a/arch/arm64/boot/dts/qcom/msm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/msm8953.dtsi
@@ -174,10 +174,10 @@  scm: scm {
 		};
 	};
 
-	memory {
+	memory@10000000 {
 		device_type = "memory";
 		/* We expect the bootloader to fill in the reg */
-		reg = <0 0 0 0>;
+		reg = <0 0x10000000 0 0>;
 	};
 
 	pmu {