Skip to contentSkip to conversation

Arm VExpress/Juno motherboard bus clean-ups

PATCH In review Rob Herring 3 participants 9 messages Aug 19, 2021 – Sep 16, 2021

Subsystems (3)
lore
Share & tools
lore

Rob Herring

author maintainer
#0 lore raw

cover Arm VExpress/Juno motherboard bus clean-ups

I noticed we once again have warnings on VExpress/Juno bus nodes as the simple-bus schema now expects child nodes to have a unit-address. Digging into this I noticed the arm,vexpress-juno.yaml schema is out of date and missing some properties (some of which are unused). I found the 'ranges' handling to be odd as well. This series fixes all those issues.

Rob

Rob Herring (5):
dt-bindings: arm,vexpress-juno: Fix 'motherboard' node name
dt-bindings: arm,vexpress-juno: Add missing motherboard properties
arm: dts: vexpress: Drop unused properties from motherboard node
arm: dts: vexpress-v2p-ca9: Fix the SMB unit-address
arm: dts: vexpress: Fix addressing issues with 'motherboard-bus' nodes

 .../bindings/arm/arm,vexpress-juno.yaml       | 46 +++++++++++--------
 arch/arm/boot/dts/vexpress-v2m-rs1.dtsi       | 17 +++++--
 arch/arm/boot/dts/vexpress-v2m.dtsi           | 18 ++++++--
 arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts   | 11 -----
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts    | 11 -----
 arch/arm/boot/dts/vexpress-v2p-ca5s.dts       | 11 -----
 arch/arm/boot/dts/vexpress-v2p-ca9.dts        | 12 +----
 arch/arm64/boot/dts/arm/foundation-v8.dtsi    |  1 -
 arch/arm64/boot/dts/arm/fvp-base-revc.dts     | 11 -----
 arch/arm64/boot/dts/arm/juno-base.dtsi        | 10 ----
 arch/arm64/boot/dts/arm/juno-motherboard.dtsi | 17 +++++--
 arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts    | 11 -----
 .../boot/dts/arm/rtsm_ve-motherboard-rs2.dtsi |  2 +-
 .../boot/dts/arm/rtsm_ve-motherboard.dtsi     | 16 +++++--
 .../boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts | 11 -----
 15 files changed, 78 insertions(+), 127 deletions(-)
Signature · 1 line
2.30.2
author maintainer
#1 lore raw

PATCH 1/5 dt-bindings: arm, vexpress-juno: Fix 'motherboard' node name

Commit 9d0a36ddcc52 ("arm64: dts: fvp/juno: Fix bus node names") changed 'motherboard' to 'motherboard-bus', but didn't update the schema. In the mean time, the simple-bus schema started requiring child nodes to have a unit-address. Update the schema to address both of these issues.

Cc Andre Przywara <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Linus Walleij <[email protected]>
---
 .../devicetree/bindings/arm/arm,vexpress-juno.yaml        | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml +5 -3
index 55ef656d1192..530a808e518a 100644
@@ -154,9 +154,9 @@ patternProperties:
     description: Static Memory Bus (SMB) node, if this exists it describes
       the connection between the motherboard and any tiles. Sometimes the
       compatible is placed directly under this node, sometimes it is placed
-      in a subnode named "motherboard". Sometimes the compatible includes
+      in a subnode named "motherboard-bus". Sometimes the compatible includes
       "arm,vexpress,v2?-p1" sometimes (on software models) is is just
-      "simple-bus". If the compatible is placed in the "motherboard" node,
+      "simple-bus". If the compatible is placed in the "motherboard-bus" node,
       it is stricter and always has two compatibles.
     type: object
     $ref: '/schemas/simple-bus.yaml'
@@ -170,7 +170,9 @@ patternProperties:
                   - arm,vexpress,v2p-p1
               - const: simple-bus
           - const: simple-bus
-      motherboard:
+
+    patternProperties:
+      '^motherboard-bus@':
         type: object
         description: The motherboard description provides a single "motherboard"
           node using 2 address cells corresponding to the Static Memory Bus
Signature · 1 line
2.30.2
author maintainer
#2 lore raw

PATCH 2/5 dt-bindings: arm, vexpress-juno: Add missing motherboard properties

In reply to Rob Herring

The arm,vexpress-juno binding is missing 'ranges', 'arm,vexpress,site', and 'arm,hbi' properties. Add these and and restrict additional properties to be nodes only.

Cc Andre Przywara <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Linus Walleij <[email protected]>
---
 .../bindings/arm/arm,vexpress-juno.yaml       | 38 +++++++++++--------
 1 file changed, 22 insertions(+), 16 deletions(-)
Documentation/devicetree/bindings/arm/arm,vexpress-juno.yaml +22 -16
index 530a808e518a..a4b4452afc1d 100644
@@ -119,22 +119,6 @@ properties:
           - const: arm,foundation-aarch64
           - const: arm,vexpress
 
-  arm,hbi:
-    $ref: '/schemas/types.yaml#/definitions/uint32'
-    description: This indicates the ARM HBI (Hardware Board ID), this is
-      ARM's unique board model ID, visible on the PCB's silkscreen.
-
-  arm,vexpress,site:
-    description: As Versatile Express can be configured in number of physically
-      different setups, the device tree should describe platform topology.
-      For this reason the root node and main motherboard node must define this
-      property, describing the physical location of the children nodes.
-      0 means motherboard site, while 1 and 2 are daughterboard sites, and
-      0xf means "sisterboard" which is the site containing the main CPU tile.
-    $ref: '/schemas/types.yaml#/definitions/uint32'
-    minimum: 0
-    maximum: 15
-
   arm,vexpress,position:
     description: When daughterboards are stacked on one site, their position
       in the stack be be described this attribute.
@@ -185,6 +169,8 @@ patternProperties:
             const: 2
           "#size-cells":
             const: 1
+          ranges: true
+
           compatible:
             items:
               - enum:
@@ -198,8 +184,28 @@ patternProperties:
               - rs1
               - rs2
 
+          arm,hbi:
+            $ref: '/schemas/types.yaml#/definitions/uint32'
+            description: This indicates the ARM HBI (Hardware Board ID), this is
+              ARM's unique board model ID, visible on the PCB's silkscreen.
+
+          arm,vexpress,site:
+            description: As Versatile Express can be configured in number of physically
+              different setups, the device tree should describe platform topology.
+              For this reason the root node and main motherboard node must define this
+              property, describing the physical location of the children nodes.
+              0 means motherboard site, while 1 and 2 are daughterboard sites, and
+              0xf means "sisterboard" which is the site containing the main CPU tile.
+            $ref: '/schemas/types.yaml#/definitions/uint32'
+            minimum: 0
+            maximum: 15
+
         required:
           - compatible
+
+        additionalProperties:
+          type: object
+
     required:
       - compatible
 
Signature · 1 line
2.30.2
author maintainer
#3 lore raw

PATCH 3/5 arm: dts: vexpress: Drop unused properties from motherboard node

In reply to Rob Herring

Drop the '#interrupt-cells' property in the motherboard node which has no effect as the node is neither an interrupt-controller or interrupt-map (that's in the parent node).

Drop 'model' as it is not used by software nor documented.

Drop 'arm,v2m-memory-map' as it is not used by software. The purpose was to describe which memory map, but that's all described by the DT already.

Cc Andre Przywara <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Linus Walleij <[email protected]>
---
 arch/arm/boot/dts/vexpress-v2m-rs1.dtsi          | 3 ---
 arch/arm/boot/dts/vexpress-v2m.dtsi              | 2 --
 arch/arm64/boot/dts/arm/foundation-v8.dtsi       | 1 -
 arch/arm64/boot/dts/arm/juno-motherboard.dtsi    | 3 ---
 arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi | 2 --
 5 files changed, 11 deletions(-)
arch/arm/boot/dts/vexpress-v2m-rs1.dtsi +0 -3
index 2ad9fd7c94ec..f61251b3c74f 100644
@@ -102,14 +102,11 @@ led-8 {
 
 	bus@8000000 {
 		motherboard-bus {
-			model = "V2M-P1";
 			arm,hbi = <0x190>;
 			arm,vexpress,site = <0>;
-			arm,v2m-memory-map = "rs1";
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			#interrupt-cells = <1>;
 			ranges;
 
 			nor_flash: flash@0 {
arch/arm/boot/dts/vexpress-v2m.dtsi +0 -2
index ec13ceb9ed36..fb8ca984ce1f 100644
@@ -21,13 +21,11 @@
 / {
 	bus@4000000 {
 		motherboard {
-			model = "V2M-P1";
 			arm,hbi = <0x190>;
 			arm,vexpress,site = <0>;
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			#interrupt-cells = <1>;
 			ranges;
 
 			flash@0,00000000 {
arch/arm64/boot/dts/arm/foundation-v8.dtsi +0 -1
index 05ae893d1b2e..fbf13f7c2baf 100644
@@ -115,7 +115,6 @@ v2m_refclk32khz: refclk32khz {
 
 	bus@8000000 {
 		compatible = "arm,vexpress,v2m-p1", "simple-bus";
-		arm,v2m-memory-map = "rs1";
 		#address-cells = <2>; /* SMB chipselect number and offset */
 		#size-cells = <1>;
 
arch/arm64/boot/dts/arm/juno-motherboard.dtsi +0 -3
index 40d95c58b55e..4203f0a6ddf6 100644
@@ -96,12 +96,9 @@ motherboard-bus {
 			compatible = "arm,vexpress,v2p-p1", "simple-bus";
 			#address-cells = <2>;  /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			#interrupt-cells = <1>;
 			ranges;
-			model = "V2M-Juno";
 			arm,hbi = <0x252>;
 			arm,vexpress,site = <0>;
-			arm,v2m-memory-map = "rs1";
 
 			flash@0 {
 				/* 2 * 32MiB NOR Flash memory mounted on CS0 */
arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi +0 -2
index 4c4a381d2c75..0459aff22f27 100644
@@ -78,11 +78,9 @@ dvimode {
 
 	bus@8000000 {
 		motherboard-bus {
-			arm,v2m-memory-map = "rs1";
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			#interrupt-cells = <1>;
 			ranges;
 
 			flash@0 {
Signature · 1 line
2.30.2
author maintainer
#4 lore raw

PATCH 4/5 arm: dts: vexpress-v2p-ca9: Fix the SMB unit-address

In reply to Rob Herring

Based on 'ranges', the 'bus@4000000' node unit-address is off by 1 '0'.

Cc Andre Przywara <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Linus Walleij <[email protected]>
---
 arch/arm/boot/dts/vexpress-v2m.dtsi    | 2 +-
 arch/arm/boot/dts/vexpress-v2p-ca9.dts | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
arch/arm/boot/dts/vexpress-v2m.dtsi +1 -1
index fb8ca984ce1f..0819d112de12 100644
@@ -19,7 +19,7 @@
  */
 
 / {
-	bus@4000000 {
+	bus@40000000 {
 		motherboard {
 			arm,hbi = <0x190>;
 			arm,vexpress,site = <0>;
arch/arm/boot/dts/vexpress-v2p-ca9.dts +1 -1
index 4c5847955856..1317f0f58d53 100644
@@ -295,7 +295,7 @@ power-vd10-s3 {
 		};
 	};
 
-	smb: bus@4000000 {
+	smb: bus@40000000 {
 		compatible = "simple-bus";
 
 		#address-cells = <2>;
Signature · 1 line
2.30.2
author maintainer
#5 lore raw

PATCH 5/5 arm: dts: vexpress: Fix addressing issues with 'motherboard-bus' nodes

In reply to Rob Herring

The 'motherboard-bus' node in Arm Ltd boards fails schema checks as 'simple-bus' child nodes must have a unit-address. The 'ranges' handling is also wrong (or at least strange) as the mapping of SMC chip selects should be in the 'arm,vexpress,v2m-p1' node rather than a generic 'simple-bus' node. Either there's 1 too many levels of 'simple-bus' nodes or 'ranges' should be moved down a level. The latter change is more simple, so let's do that. As the 'ranges' value doesn't vary for a given motherboard instance, we can move 'ranges' into the motherboard dtsi files.

Cc Andre Przywara <[email protected]>
Cc Sudeep Holla <[email protected]>
Cc Linus Walleij <[email protected]>
---
 arch/arm/boot/dts/vexpress-v2m-rs1.dtsi            | 14 ++++++++++++--
 arch/arm/boot/dts/vexpress-v2m.dtsi                | 14 ++++++++++++--
 arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts        | 11 -----------
 arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts         | 11 -----------
 arch/arm/boot/dts/vexpress-v2p-ca5s.dts            | 11 -----------
 arch/arm/boot/dts/vexpress-v2p-ca9.dts             | 10 ----------
 arch/arm64/boot/dts/arm/fvp-base-revc.dts          | 11 -----------
 arch/arm64/boot/dts/arm/juno-base.dtsi             | 10 ----------
 arch/arm64/boot/dts/arm/juno-motherboard.dtsi      | 14 ++++++++++++--
 arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts         | 11 -----------
 .../boot/dts/arm/rtsm_ve-motherboard-rs2.dtsi      |  2 +-
 arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi   | 14 ++++++++++++--
 .../boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts      | 11 -----------
 13 files changed, 49 insertions(+), 95 deletions(-)
arch/arm/boot/dts/vexpress-v2m-rs1.dtsi +12 -2
index f61251b3c74f..19b300532b37 100644
@@ -101,13 +101,23 @@ led-8 {
 	};
 
 	bus@8000000 {
-		motherboard-bus {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges = <0 0x8000000 0 0x8000000 0x18000000>;
+
+		motherboard-bus@8000000 {
 			arm,hbi = <0x190>;
 			arm,vexpress,site = <0>;
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			ranges;
+			ranges = <0 0 0 0x08000000 0x04000000>,
+				 <1 0 0 0x14000000 0x04000000>,
+				 <2 0 0 0x18000000 0x04000000>,
+				 <3 0 0 0x1c000000 0x04000000>,
+				 <4 0 0 0x0c000000 0x04000000>,
+				 <5 0 0 0x10000000 0x04000000>;
 
 			nor_flash: flash@0 {
 				compatible = "arm,vexpress-flash", "cfi-flash";
arch/arm/boot/dts/vexpress-v2m.dtsi +12 -2
index 0819d112de12..0547f633764f 100644
@@ -20,13 +20,23 @@
 
 / {
 	bus@40000000 {
-		motherboard {
+		compatible = "simple-bus";
+		#address-cells = <1>;
+		#size-cells = <1>;
+		ranges = <0x40000000 0x40000000 0x10000000>,
+			 <0x10000000 0x10000000 0x00020000>;
+
+		motherboard-bus@40000000 {
 			arm,hbi = <0x190>;
 			arm,vexpress,site = <0>;
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			ranges;
+			ranges = <0 0 0x40000000 0x04000000>,
+				 <1 0 0x44000000 0x04000000>,
+				 <2 0 0x48000000 0x04000000>,
+				 <3 0 0x4c000000 0x04000000>,
+				 <7 0 0x10000000 0x00020000>;
 
 			flash@0,00000000 {
 				compatible = "arm,vexpress-flash", "cfi-flash";
arch/arm/boot/dts/vexpress-v2p-ca15-tc1.dts +0 -11
index e63c5c0bfb43..26b6862e519f 100644
@@ -237,17 +237,6 @@ energy {
 	};
 
 	bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic 0  0 4>,
arch/arm/boot/dts/vexpress-v2p-ca15_a7.dts +0 -11
index 012d40a7228c..5ec25eebbd77 100644
@@ -609,17 +609,6 @@ etm2_out_port: endpoint {
 	};
 
 	smb: bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic 0  0 4>,
arch/arm/boot/dts/vexpress-v2p-ca5s.dts +0 -11
index 7aa64ae25779..f1485ee3ce83 100644
@@ -207,17 +207,6 @@ temp-dcc {
 	};
 
 	smb: bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0x08000000 0x04000000>,
-			 <1 0 0x14000000 0x04000000>,
-			 <2 0 0x18000000 0x04000000>,
-			 <3 0 0x1c000000 0x04000000>,
-			 <4 0 0x0c000000 0x04000000>,
-			 <5 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic 0  0 4>,
arch/arm/boot/dts/vexpress-v2p-ca9.dts +0 -10
index 1317f0f58d53..99b2f339cc04 100644
@@ -296,16 +296,6 @@ power-vd10-s3 {
 	};
 
 	smb: bus@40000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0x40000000 0x04000000>,
-			 <1 0 0x44000000 0x04000000>,
-			 <2 0 0x48000000 0x04000000>,
-			 <3 0 0x4c000000 0x04000000>,
-			 <7 0 0x10000000 0x00020000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic 0  0 4>,
arch/arm64/boot/dts/arm/fvp-base-revc.dts +0 -11
index b8a21092db4d..5f519affe728 100644
@@ -207,17 +207,6 @@ panel-timing {
 	};
 
 	bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic 0 0 GIC_SPI  0 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/boot/dts/arm/juno-base.dtsi +0 -10
index 8e7a66943b01..fd1e9708bdaf 100644
@@ -804,16 +804,6 @@ memory@80000000 {
 	};
 
 	bus@8000000 {
-		compatible = "simple-bus";
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 15>;
 		interrupt-map = <0 0  0 &gic 0 GIC_SPI  68 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/boot/dts/arm/juno-motherboard.dtsi +12 -2
index 4203f0a6ddf6..1578ffb07e03 100644
@@ -92,11 +92,21 @@ nmi-button {
 	};
 
 	bus@8000000 {
-		motherboard-bus {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges = <0 0x8000000 0 0x8000000 0x18000000>;
+
+		motherboard-bus@8000000 {
 			compatible = "arm,vexpress,v2p-p1", "simple-bus";
 			#address-cells = <2>;  /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			ranges;
+			ranges = <0 0 0 0x08000000 0x04000000>,
+				 <1 0 0 0x14000000 0x04000000>,
+				 <2 0 0 0x18000000 0x04000000>,
+				 <3 0 0 0x1c000000 0x04000000>,
+				 <4 0 0 0x0c000000 0x04000000>,
+				 <5 0 0 0x10000000 0x04000000>;
 			arm,hbi = <0x252>;
 			arm,vexpress,site = <0>;
 
arch/arm64/boot/dts/arm/rtsm_ve-aemv8a.dts +0 -11
index 3050f45bade4..258991ad7cc0 100644
@@ -133,17 +133,6 @@ panel_in: endpoint {
 	};
 
 	bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic GIC_SPI  0 IRQ_TYPE_LEVEL_HIGH>,
arch/arm64/boot/dts/arm/rtsm_ve-motherboard-rs2.dtsi +1 -1
index b917d9d3f1c4..33182d9e5826 100644
@@ -6,7 +6,7 @@
  */
 / {
 	bus@8000000 {
-		motherboard-bus {
+		motherboard-bus@8000000 {
 			arm,v2m-memory-map = "rs2";
 
 			iofpga-bus@300000000 {
arch/arm64/boot/dts/arm/rtsm_ve-motherboard.dtsi +12 -2
index 0459aff22f27..a13e71ed524a 100644
@@ -77,11 +77,21 @@ dvimode {
 	};
 
 	bus@8000000 {
-		motherboard-bus {
+		compatible = "simple-bus";
+		#address-cells = <2>;
+		#size-cells = <1>;
+		ranges = <0 0x8000000 0 0x8000000 0x18000000>;
+
+		motherboard-bus@8000000 {
 			compatible = "arm,vexpress,v2m-p1", "simple-bus";
 			#address-cells = <2>; /* SMB chipselect number and offset */
 			#size-cells = <1>;
-			ranges;
+			ranges = <0 0 0 0x08000000 0x04000000>,
+				 <1 0 0 0x14000000 0x04000000>,
+				 <2 0 0 0x18000000 0x04000000>,
+				 <3 0 0 0x1c000000 0x04000000>,
+				 <4 0 0 0x0c000000 0x04000000>,
+				 <5 0 0 0x10000000 0x04000000>;
 
 			flash@0 {
 				compatible = "arm,vexpress-flash", "cfi-flash";
arch/arm64/boot/dts/arm/vexpress-v2f-1xv7-ca53x2.dts +0 -11
index d859914500a7..6958469bceaa 100644
@@ -145,17 +145,6 @@ temp-fpga {
 	};
 
 	smb: bus@8000000 {
-		compatible = "simple-bus";
-
-		#address-cells = <2>;
-		#size-cells = <1>;
-		ranges = <0 0 0 0x08000000 0x04000000>,
-			 <1 0 0 0x14000000 0x04000000>,
-			 <2 0 0 0x18000000 0x04000000>,
-			 <3 0 0 0x1c000000 0x04000000>,
-			 <4 0 0 0x0c000000 0x04000000>,
-			 <5 0 0 0x10000000 0x04000000>;
-
 		#interrupt-cells = <1>;
 		interrupt-map-mask = <0 0 63>;
 		interrupt-map = <0 0  0 &gic GIC_SPI  0 IRQ_TYPE_LEVEL_HIGH>,
Signature · 1 line
2.30.2
Reviewed-by on the v1 series
#6 lore raw
In reply to Rob Herring
Quoted 5 lines · Rob Herring

I noticed we once again have warnings on VExpress/Juno bus nodes as the simple-bus schema now expects child nodes to have a unit-address. Digging into this I noticed the arm,vexpress-juno.yaml schema is out of date and missing some properties (some of which are unused). I found the 'ranges' handling to be odd as well. This series fixes all those issues.

The series looks good to me. Thanks for fixing this up!

Yours,
Linus Walleij

Reviewed-by on the v1 series
#7 lore raw
In reply to Rob Herring
Quoted 6 lines · Rob Herring

I noticed we once again have warnings on VExpress/Juno bus nodes as the simple-bus schema now expects child nodes to have a unit-address. Digging into this I noticed the arm,vexpress-juno.yaml schema is out of date and missing some properties (some of which are unused). I found the 'ranges' handling to be odd as well. This series fixes all those issues.

Sorry for the late response. I assume you can apply the dt-bindings fixes in your tree, and I can send the dts changes via Arm SoC tree. Let me know if you have any other plans for this.

For the bindings,

Signature · 2 lines
Regards,
Sudeep
#8 lore raw
In reply to Rob Herring
Quoted 9 lines · Rob Herring

I noticed we once again have warnings on VExpress/Juno bus nodes as the simple-bus schema now expects child nodes to have a unit-address. Digging into this I noticed the arm,vexpress-juno.yaml schema is out of date and missing some properties (some of which are unused). I found the 'ranges' handling to be odd as well. This series fixes all those issues.

Rob

[...]

Applied 3-5/5 to sudeep.holla/linux (for-next/juno), thanks! Please take 1-2/5 via your DT tree. I plan to send these as fixes for v5.15 soon.

[3/5] arm: dts: vexpress: Drop unused properties from motherboard node

      https://git.kernel.org/sudeep.holla/c/55c71dc69e
[4/5] arm: dts: vexpress-v2p-ca9: Fix the SMB unit-address
      https://git.kernel.org/sudeep.holla/c/2e9edc07df

[5/5] arm: dts: vexpress: Fix addressing issues with 'motherboard-bus' nodes
https://git.kernel.org/sudeep.holla/c/bb3adfb3bd

--
Regards,
Sudeep