arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
diff mbox series

Message ID 20190912073602.22829-1-m.szyprowski@samsung.com
State Under Review
Headers show
Series
  • arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
Related show

Commit Message

Marek Szyprowski Sept. 12, 2019, 7:36 a.m. UTC
Commit ef72171b3621 ("arm64: dts: exynos: Remove unneeded address space
mapping for soc node") changed the address and size cells in root node from
2 to 1, but /memory nodes for the affected boards were not updated. This
went unnoticed on Exynos5433-based TM2(e) boards, because they use u-boot,
which updates /memory node to the correct values. On the other hand, the
mentioned commit broke boot on Exynos7-based Espresso board, which
bootloader doesn't touch /memory node at all.

This patch reverts commit ef72171b3621, so Exynos5433 and Exynos7 SoCs
again matches other ARM64 platforms with 64bit mappings in root node.

Reported-by: Alim Akhtar <alim.akhtar@samsung.com>
Fixes: ef72171b3621 ("arm64: dts: exynos: Remove unneeded address space mapping for soc node")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: <stable@vger.kernel.org>
Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
---
A few more comments:

1. I've added 'tested-by' tag from Alim, as his original report pointed
that reverting the offending commit fixes the boot issue.

2. This patch applies down to v4.18.

3. For v5.3 release, two patches:
   - "arm64: dts: exynos: Move GPU under /soc node for  Exynos5433"
   - "arm64: dts: exynos: Move GPU under /soc node for Exynos7"
   has to be applied first to ensure that GPU node will have correct 'reg'
   property (nodes under /soc still use 32bit mappings). I'm not sure if
   this can be expressed somehow in stable porting tags.

Best regards
Marek Szyprowski
Samsung R&D Institute Poland
---
 arch/arm64/boot/dts/exynos/exynos5433.dtsi | 6 +++---
 arch/arm64/boot/dts/exynos/exynos7.dtsi    | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

Comments

Alim Akhtar Sept. 12, 2019, 11:56 a.m. UTC | #1
Hi Marek,

On 9/12/19 1:06 PM, Marek Szyprowski wrote:
> Commit ef72171b3621 ("arm64: dts: exynos: Remove unneeded address space
> mapping for soc node") changed the address and size cells in root node from
> 2 to 1, but /memory nodes for the affected boards were not updated. This
> went unnoticed on Exynos5433-based TM2(e) boards, because they use u-boot,
> which updates /memory node to the correct values. On the other hand, the
> mentioned commit broke boot on Exynos7-based Espresso board, which
> bootloader doesn't touch /memory node at all.
> 
> This patch reverts commit ef72171b3621, so Exynos5433 and Exynos7 SoCs
> again matches other ARM64 platforms with 64bit mappings in root node.
> 
> Reported-by: Alim Akhtar <alim.akhtar@samsung.com>
> Fixes: ef72171b3621 ("arm64: dts: exynos: Remove unneeded address space mapping for soc node")
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Cc: <stable@vger.kernel.org>
> Tested-by: Alim Akhtar <alim.akhtar@samsung.com>
> ---
> A few more comments:
> 
> 1. I've added 'tested-by' tag from Alim, as his original report pointed
> that reverting the offending commit fixes the boot issue.
> 
This is still valid,reverting the offending commit does work.
Thanks!

> 2. This patch applies down to v4.18.
> 
> 3. For v5.3 release, two patches:
>     - "arm64: dts: exynos: Move GPU under /soc node for  Exynos5433"
>     - "arm64: dts: exynos: Move GPU under /soc node for Exynos7"
>     has to be applied first to ensure that GPU node will have correct 'reg'
>     property (nodes under /soc still use 32bit mappings). I'm not sure if
>     this can be expressed somehow in stable porting tags.
> 
> Best regards
> Marek Szyprowski
> Samsung R&D Institute Poland
> ---
>   arch/arm64/boot/dts/exynos/exynos5433.dtsi | 6 +++---
>   arch/arm64/boot/dts/exynos/exynos7.dtsi    | 6 +++---
>   2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> index 239bf44d174b..f69530730219 100644
> --- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
> @@ -18,8 +18,8 @@
>   
>   / {
>   	compatible = "samsung,exynos5433";
> -	#address-cells = <1>;
> -	#size-cells = <1>;
> +	#address-cells = <2>;
> +	#size-cells = <2>;
>   
>   	interrupt-parent = <&gic>;
>   
> @@ -260,7 +260,7 @@
>   		compatible = "simple-bus";
>   		#address-cells = <1>;
>   		#size-cells = <1>;
> -		ranges;
> +		ranges = <0x0 0x0 0x0 0x18000000>;
>   
>   		chipid@10000000 {
>   			compatible = "samsung,exynos4210-chipid";
> diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> index f09800f355db..3a00ef0a17ff 100644
> --- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
> +++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
> @@ -12,8 +12,8 @@
>   / {
>   	compatible = "samsung,exynos7";
>   	interrupt-parent = <&gic>;
> -	#address-cells = <1>;
> -	#size-cells = <1>;
> +	#address-cells = <2>;
> +	#size-cells = <2>;
>   
>   	aliases {
>   		pinctrl0 = &pinctrl_alive;
> @@ -87,7 +87,7 @@
>   		compatible = "simple-bus";
>   		#address-cells = <1>;
>   		#size-cells = <1>;
> -		ranges;
> +		ranges = <0 0 0 0x18000000>;
>   
>   		chipid@10000000 {
>   			compatible = "samsung,exynos4210-chipid";
>

Patch
diff mbox series

diff --git a/arch/arm64/boot/dts/exynos/exynos5433.dtsi b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
index 239bf44d174b..f69530730219 100644
--- a/arch/arm64/boot/dts/exynos/exynos5433.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos5433.dtsi
@@ -18,8 +18,8 @@ 
 
 / {
 	compatible = "samsung,exynos5433";
-	#address-cells = <1>;
-	#size-cells = <1>;
+	#address-cells = <2>;
+	#size-cells = <2>;
 
 	interrupt-parent = <&gic>;
 
@@ -260,7 +260,7 @@ 
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
-		ranges;
+		ranges = <0x0 0x0 0x0 0x18000000>;
 
 		chipid@10000000 {
 			compatible = "samsung,exynos4210-chipid";
diff --git a/arch/arm64/boot/dts/exynos/exynos7.dtsi b/arch/arm64/boot/dts/exynos/exynos7.dtsi
index f09800f355db..3a00ef0a17ff 100644
--- a/arch/arm64/boot/dts/exynos/exynos7.dtsi
+++ b/arch/arm64/boot/dts/exynos/exynos7.dtsi
@@ -12,8 +12,8 @@ 
 / {
 	compatible = "samsung,exynos7";
 	interrupt-parent = <&gic>;
-	#address-cells = <1>;
-	#size-cells = <1>;
+	#address-cells = <2>;
+	#size-cells = <2>;
 
 	aliases {
 		pinctrl0 = &pinctrl_alive;
@@ -87,7 +87,7 @@ 
 		compatible = "simple-bus";
 		#address-cells = <1>;
 		#size-cells = <1>;
-		ranges;
+		ranges = <0 0 0 0x18000000>;
 
 		chipid@10000000 {
 			compatible = "samsung,exynos4210-chipid";