* [PATCH 1/3] arm64: dts: marvell: Move arch timer and pmu nodes to top-level
@ 2025-02-26 21:47 Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 2/3] arm64: dts: marvell: Drop unused CP11X_TYPE define Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus" Rob Herring (Arm)
0 siblings, 2 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-02-26 21:47 UTC (permalink / raw)
To: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel
The Arm arch timer and PMU are not memory-mapped peripherals, and
therefore should not be under a "simple-bus" node. Move them to the
top-level like other platforms.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 29 ++++++++++---------
.../boot/dts/marvell/armada-ap810-ap0.dtsi | 18 ++++++------
2 files changed, 24 insertions(+), 23 deletions(-)
diff --git a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
index fdf88cd0eb02..e206d03a2867 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
@@ -48,6 +48,21 @@ tee@4400000 {
};
};
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupt-parent = <&gic>;
+ interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
+ <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
+ };
+
+ pmu {
+ compatible = "arm,cortex-a72-pmu";
+ interrupt-parent = <&pic>;
+ interrupts = <17>;
+ };
+
AP_NAME {
#address-cells = <2>;
#size-cells = <2>;
@@ -122,20 +137,6 @@ gic_v2m3: v2m@2b0000 {
};
};
- timer {
- compatible = "arm,armv8-timer";
- interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
- };
-
- pmu {
- compatible = "arm,cortex-a72-pmu";
- interrupt-parent = <&pic>;
- interrupts = <17>;
- };
-
odmi: odmi@300000 {
compatible = "marvell,odmi-controller";
msi-controller;
diff --git a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
index 2f9ab6b4a2c9..f5a89af154d4 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
@@ -14,6 +14,7 @@ / {
compatible = "marvell,armada-ap810";
#address-cells = <2>;
#size-cells = <2>;
+ interrupt-parent = <&gic>;
aliases {
serial0 = &uart0_ap0;
@@ -25,11 +26,18 @@ psci {
method = "smc";
};
+ timer {
+ compatible = "arm,armv8-timer";
+ interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
+ };
+
ap810-ap0 {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
- interrupt-parent = <&gic>;
ranges;
config-space@e8000000 {
@@ -62,14 +70,6 @@ gic_its_ap0: msi-controller@3040000 {
};
};
- timer {
- compatible = "arm,armv8-timer";
- interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>,
- <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>,
- <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>,
- <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
- };
-
xor@400000 {
compatible = "marvell,armada-7k-xor", "marvell,xor-v2";
reg = <0x400000 0x1000>,
--
2.47.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/3] arm64: dts: marvell: Drop unused CP11X_TYPE define
2025-02-26 21:47 [PATCH 1/3] arm64: dts: marvell: Move arch timer and pmu nodes to top-level Rob Herring (Arm)
@ 2025-02-26 21:47 ` Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus" Rob Herring (Arm)
1 sibling, 0 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-02-26 21:47 UTC (permalink / raw)
To: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel
The CP11X_TYPE define is not used anywhere, remove it.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
arch/arm64/boot/dts/marvell/armada-cp110.dtsi | 4 ----
arch/arm64/boot/dts/marvell/armada-cp115.dtsi | 4 ----
2 files changed, 8 deletions(-)
diff --git a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
index 4fd33b0fa56e..e3cfd168becc 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp110.dtsi
@@ -5,8 +5,4 @@
* Device Tree file for Marvell Armada CP110.
*/
-#define CP11X_TYPE cp110
-
#include "armada-cp11x.dtsi"
-
-#undef CP11X_TYPE
diff --git a/arch/arm64/boot/dts/marvell/armada-cp115.dtsi b/arch/arm64/boot/dts/marvell/armada-cp115.dtsi
index 1d0a9653e681..ec6432c8db7c 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp115.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp115.dtsi
@@ -5,8 +5,4 @@
* Device Tree file for Marvell Armada CP115.
*/
-#define CP11X_TYPE cp115
-
#include "armada-cp11x.dtsi"
-
-#undef CP11X_TYPE
--
2.47.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus"
2025-02-26 21:47 [PATCH 1/3] arm64: dts: marvell: Move arch timer and pmu nodes to top-level Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 2/3] arm64: dts: marvell: Drop unused CP11X_TYPE define Rob Herring (Arm)
@ 2025-02-26 21:47 ` Rob Herring (Arm)
2025-04-12 0:17 ` Vladimir Oltean
1 sibling, 1 reply; 5+ messages in thread
From: Rob Herring (Arm) @ 2025-02-26 21:47 UTC (permalink / raw)
To: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-kernel, devicetree, linux-kernel
The "simple-bus" binding has preferred node names such as "bus",
".*-bus", or "soc". Rename the Marvell platforms to use these names.
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi | 2 +-
arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 +-
arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 1 -
arch/arm64/boot/dts/marvell/armada-ap807.dtsi | 1 -
arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 4 ++--
arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi | 4 ++--
arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 4 ++--
7 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi b/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
index 75377c292bcb..605f5be1538c 100644
--- a/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
+++ b/arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi
@@ -78,7 +78,7 @@ soc {
#size-cells = <2>;
ranges;
- internal-regs@7f000000 {
+ bus@7f000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
index 9603223dd761..6ec22eaaf816 100644
--- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
@@ -78,7 +78,7 @@ soc {
#size-cells = <2>;
ranges;
- internal-regs@d0000000 {
+ bus@d0000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
diff --git a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
index 866628679ac7..e421d454daa7 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap806.dtsi
@@ -5,7 +5,6 @@
* Device Tree file for Marvell Armada AP806.
*/
-#define AP_NAME ap806
#include "armada-ap80x.dtsi"
/ {
diff --git a/arch/arm64/boot/dts/marvell/armada-ap807.dtsi b/arch/arm64/boot/dts/marvell/armada-ap807.dtsi
index a3328d05fc94..7150ce83abf2 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap807.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap807.dtsi
@@ -5,7 +5,6 @@
* Copyright (C) 2019 Marvell Technology Group Ltd.
*/
-#define AP_NAME ap807
#include "armada-ap80x.dtsi"
/ {
diff --git a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
index e206d03a2867..40e146982921 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap80x.dtsi
@@ -63,14 +63,14 @@ pmu {
interrupts = <17>;
};
- AP_NAME {
+ soc {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
interrupt-parent = <&gic>;
ranges;
- config-space@f0000000 {
+ bus@f0000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
diff --git a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
index f5a89af154d4..a143d84bcf23 100644
--- a/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi
@@ -34,13 +34,13 @@ timer {
<GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>;
};
- ap810-ap0 {
+ soc {
#address-cells = <2>;
#size-cells = <2>;
compatible = "simple-bus";
ranges;
- config-space@e8000000 {
+ bus@e8000000 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
index 161beec0b6b0..a057e119492f 100644
--- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
+++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi
@@ -17,7 +17,7 @@ / {
* The contents of the node are defined below, in order to
* save one indentation level
*/
- CP11X_NAME: CP11X_NAME { };
+ CP11X_NAME: CP11X_NODE_NAME(bus) { };
/*
* CPs only have one sensor in the thermal IC.
@@ -51,7 +51,7 @@ &CP11X_NAME {
interrupt-parent = <&CP11X_LABEL(icu_nsr)>;
ranges;
- config-space@CP11X_BASE {
+ bus@CP11X_BASE {
#address-cells = <1>;
#size-cells = <1>;
compatible = "simple-bus";
--
2.47.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus"
2025-02-26 21:47 ` [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus" Rob Herring (Arm)
@ 2025-04-12 0:17 ` Vladimir Oltean
2025-04-14 12:41 ` Marek Behún
0 siblings, 1 reply; 5+ messages in thread
From: Vladimir Oltean @ 2025-04-12 0:17 UTC (permalink / raw)
To: Rob Herring (Arm), Marek Behún
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree,
linux-kernel
Hello,
On Wed, Feb 26, 2025 at 03:47:49PM -0600, Rob Herring (Arm) wrote:
> The "simple-bus" binding has preferred node names such as "bus",
> ".*-bus", or "soc". Rename the Marvell platforms to use these names.
>
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi | 2 +-
> arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 +-
> arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 1 -
> arch/arm64/boot/dts/marvell/armada-ap807.dtsi | 1 -
> arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 4 ++--
> arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi | 4 ++--
> arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 4 ++--
> 7 files changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> index 9603223dd761..6ec22eaaf816 100644
> --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> @@ -78,7 +78,7 @@ soc {
> #size-cells = <2>;
> ranges;
>
> - internal-regs@d0000000 {
> + bus@d0000000 {
> #address-cells = <1>;
> #size-cells = <1>;
> compatible = "simple-bus";
Thank you for your patch, which is now commit
ed9c2b28ebef3333f25cefdc2ef37ee1f05cad95.
I have an off-the-shelf Turris MOX board, which was shipped with a
U-Boot older than the commit linked below (does not contain it):
https://github.com/u-boot/u-boot/commit/bcf6971d536793eb99e12ff857cc018963d7cd46
and as such, is incapable of loading current mainline device trees,
which contain your change, because it is hardcoded to perform FDT fixups
based on paths such as:
#define ETH1_PATH "/soc/internal-regs@d0000000/ethernet@40000"
#define MDIO_PATH "/soc/internal-regs@d0000000/mdio@32004"
#define SFP_GPIO_PATH "/soc/internal-regs@d0000000/spi@10600/moxtet@1/gpio@0"
which no longer exist.
Relevant portion of boot log:
## Flattened Device Tree blob at 04f00000
Booting using the fdt blob at 0x4f00000
Loading Device Tree to 000000003bf16000, end 000000003bf1e11e ... OK
ERROR: board-specific fdt fixup failed: FDT_ERR_NOTFOUND
- must RESET the board to recover.
FDT creation failed! hanging...### ERROR ### Please RESET the board ###
Note that the hint about what is wrong is only visible with a serial
console which I happen to have. The board does not rely on it for normal
operation, which could pose a problem to typical users.
Just bringing this to everyone's attention. In the meantime, I'm going
off to figure out how to build and flash a new U-Boot using the steps at
https://github.com/turris-cz/mox-boot-builder.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus"
2025-04-12 0:17 ` Vladimir Oltean
@ 2025-04-14 12:41 ` Marek Behún
0 siblings, 0 replies; 5+ messages in thread
From: Marek Behún @ 2025-04-14 12:41 UTC (permalink / raw)
To: Vladimir Oltean, Rob Herring (Arm)
Cc: Andrew Lunn, Gregory Clement, Sebastian Hesselbarth,
Krzysztof Kozlowski, Conor Dooley, linux-arm-kernel, devicetree,
linux-kernel
I will fix the U-Boot code in upstream, and schedule U-Boot upgrade
on MOXes running Turris OS...
Marek
On Sat, Apr 12, 2025 at 03:17:03AM +0300, Vladimir Oltean wrote:
> Hello,
>
> On Wed, Feb 26, 2025 at 03:47:49PM -0600, Rob Herring (Arm) wrote:
> > The "simple-bus" binding has preferred node names such as "bus",
> > ".*-bus", or "soc". Rename the Marvell platforms to use these names.
> >
> > Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> > ---
> > arch/arm64/boot/dts/marvell/ac5-98dx25xx.dtsi | 2 +-
> > arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 2 +-
> > arch/arm64/boot/dts/marvell/armada-ap806.dtsi | 1 -
> > arch/arm64/boot/dts/marvell/armada-ap807.dtsi | 1 -
> > arch/arm64/boot/dts/marvell/armada-ap80x.dtsi | 4 ++--
> > arch/arm64/boot/dts/marvell/armada-ap810-ap0.dtsi | 4 ++--
> > arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 4 ++--
> > 7 files changed, 8 insertions(+), 10 deletions(-)
> >
> > diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > index 9603223dd761..6ec22eaaf816 100644
> > --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi
> > @@ -78,7 +78,7 @@ soc {
> > #size-cells = <2>;
> > ranges;
> >
> > - internal-regs@d0000000 {
> > + bus@d0000000 {
> > #address-cells = <1>;
> > #size-cells = <1>;
> > compatible = "simple-bus";
>
> Thank you for your patch, which is now commit
> ed9c2b28ebef3333f25cefdc2ef37ee1f05cad95.
>
> I have an off-the-shelf Turris MOX board, which was shipped with a
> U-Boot older than the commit linked below (does not contain it):
> https://github.com/u-boot/u-boot/commit/bcf6971d536793eb99e12ff857cc018963d7cd46
>
> and as such, is incapable of loading current mainline device trees,
> which contain your change, because it is hardcoded to perform FDT fixups
> based on paths such as:
> #define ETH1_PATH "/soc/internal-regs@d0000000/ethernet@40000"
> #define MDIO_PATH "/soc/internal-regs@d0000000/mdio@32004"
> #define SFP_GPIO_PATH "/soc/internal-regs@d0000000/spi@10600/moxtet@1/gpio@0"
>
> which no longer exist.
>
> Relevant portion of boot log:
>
> ## Flattened Device Tree blob at 04f00000
> Booting using the fdt blob at 0x4f00000
> Loading Device Tree to 000000003bf16000, end 000000003bf1e11e ... OK
> ERROR: board-specific fdt fixup failed: FDT_ERR_NOTFOUND
> - must RESET the board to recover.
>
> FDT creation failed! hanging...### ERROR ### Please RESET the board ###
>
> Note that the hint about what is wrong is only visible with a serial
> console which I happen to have. The board does not rely on it for normal
> operation, which could pose a problem to typical users.
>
> Just bringing this to everyone's attention. In the meantime, I'm going
> off to figure out how to build and flash a new U-Boot using the steps at
> https://github.com/turris-cz/mox-boot-builder.
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-04-14 12:48 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-26 21:47 [PATCH 1/3] arm64: dts: marvell: Move arch timer and pmu nodes to top-level Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 2/3] arm64: dts: marvell: Drop unused CP11X_TYPE define Rob Herring (Arm)
2025-02-26 21:47 ` [PATCH 3/3] arm64: dts: marvell: Use preferred node names for "simple-bus" Rob Herring (Arm)
2025-04-12 0:17 ` Vladimir Oltean
2025-04-14 12:41 ` Marek Behún
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).