Commit 078fb7aa authored by Rob Herring's avatar Rob Herring Committed by Sudeep Holla
Browse files

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

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.

Link: https://lore.kernel.org/r/20210819184239.1192395-6-robh@kernel.org


Cc: Andre Przywara <andre.przywara@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarSudeep Holla <sudeep.holla@arm.com>
parent 2e9edc07
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -101,13 +101,22 @@
	};

	bus@8000000 {
		motherboard-bus {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;

		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 0x08000000 0x04000000>,
				 <1 0 0x14000000 0x04000000>,
				 <2 0 0x18000000 0x04000000>,
				 <3 0 0x1c000000 0x04000000>,
				 <4 0 0x0c000000 0x04000000>,
				 <5 0 0x10000000 0x04000000>;

			nor_flash: flash@0 {
				compatible = "arm,vexpress-flash", "cfi-flash";
+12 −2
Original line number Diff line number Diff line
@@ -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";
+1 −10
Original line number Diff line number Diff line
@@ -237,16 +237,7 @@
	};

	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>;
		ranges = <0x8000000 0 0x8000000 0x18000000>;

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 63>;
+1 −10
Original line number Diff line number Diff line
@@ -609,16 +609,7 @@
	};

	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>;
		ranges = <0x8000000 0 0x8000000 0x18000000>;

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 63>;
+1 −10
Original line number Diff line number Diff line
@@ -207,16 +207,7 @@
	};

	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>;
		ranges = <0 0x8000000 0x18000000>;

		#interrupt-cells = <1>;
		interrupt-map-mask = <0 0 63>;
Loading