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(-)
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";
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:
- 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!
This patch applies down to v4.18.
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";
On Thu, Sep 12, 2019 at 09:36:02AM +0200, 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:
- I've added 'tested-by' tag from Alim, as his original report pointed
that reverting the offending commit fixes the boot issue.
This patch applies down to v4.18.
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
Thanks, applied.
I tried the cc-stable-with-prerequisites syntax. It looks like this: https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git/commit/?h=nex...
I hope it will work...
Best regards, Krzysztof
linux-stable-mirror@lists.linaro.org