[PATCH 1/5] arm: mvebu: a7040/a8040/cn9130: Add spi0 dts reference

Pali Rohár pali at kernel.org
Fri Aug 5 12:48:02 CEST 2022


On Friday 05 August 2022 12:25:55 Stefan Roese wrote:
> On 04.08.22 17:07, Pali Rohár wrote:
> > On Thursday 04 August 2022 16:51:47 Stefan Roese wrote:
> > > On 03.08.22 13:00, Pali Rohár wrote:
> > > > For future changes it is needed for have spi0 device tree reference in
> > > > every mvebu soc dts file even when it is unused.
> > > > 
> > > > Signed-off-by: Pali Rohár <pali at kernel.org>
> > > > ---
> > > >    arch/arm/dts/armada-7040.dtsi | 3 +++
> > > >    arch/arm/dts/armada-8040.dtsi | 3 +++
> > > >    arch/arm/dts/cn9130.dtsi      | 3 +++
> > > >    3 files changed, 9 insertions(+)
> > > 
> > > You're changing 64-bit Armada files here, but in the cover letter you
> > > mention that this patchset only addresses 32-bit mvebu DT files. So
> > > why are you making these changes here?
> > 
> > The main issue is that 64-bit Armada DTS files are compiled also during
> > 32-bit Armada builds. And 32-bit Armada DTS files needs spi0 reference
> > because it is used in 32-bit Armada section in mvebu-u-boot.dtsi file.
> > 
> > I know it is broken build system if during compilation of 32-bit SoC are
> > compiled also unrelated 64-bit Armada DTS files in 32-bit mode. But I do
> > not see currently easier solution than just define "harmless" reference.
> > 
> > During 64-bit Armada builds is content of mvebu-u-boot.dtsi skipped as
> > there is a 32-bit guard.
> > 
> > Proper way, of course, would be to fix build system, so none 64-bit file
> > is compiled (and let unused) during 32-bit build.
> 
> I see. Thanks for the explanation.

I played a bit with build system and have there alternative patch
instead of patch 1/5 which "fixes" makefile build system.

>From 78ebf95fdf4223ce62cc537a57739ba3adbf556f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali at kernel.org>
Date: Fri, 5 Aug 2022 12:45:19 +0200
Subject: [PATCH] arm: mvebu: dts: Build only arch-compatible dts files
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

64-bit Armada DTS files are not build correctly during compilation of
32-bit Armada boards and vice versa. So fix makefile build system to
compile only those dts files which are compatible for the current build
(64-bit Armada DTS files only for 64-bit builds and 32-bit Armada DTS files
only for 32-bit builds).

Signed-off-by: Pali Rohár <pali at kernel.org>
---
 arch/arm/dts/Makefile | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
index ceaa39e4b4d6..7330121dbaba 100644
--- a/arch/arm/dts/Makefile
+++ b/arch/arm/dts/Makefile
@@ -232,12 +232,8 @@ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
 	tegra210-p2571.dtb \
 	tegra210-p3450-0000.dtb
 
+ifdef CONFIG_ARMADA_32BIT
 dtb-$(CONFIG_ARCH_MVEBU) +=			\
-	armada-3720-db.dtb			\
-	armada-3720-espressobin.dtb		\
-	armada-3720-turris-mox.dtb		\
-	armada-3720-eDPU.dtb			\
-	armada-3720-uDPU.dtb			\
 	armada-375-db.dtb			\
 	armada-385-atl-x530.dtb			\
 	armada-385-atl-x530DP.dtb		\
@@ -247,12 +243,6 @@ dtb-$(CONFIG_ARCH_MVEBU) +=			\
 	armada-388-gp.dtb			\
 	armada-388-helios4.dtb			\
 	armada-38x-controlcenterdc.dtb		\
-	armada-7040-db-nand.dtb			\
-	armada-7040-db.dtb			\
-	armada-8040-clearfog-gt-8k.dtb		\
-	armada-8040-db.dtb			\
-	armada-8040-mcbin.dtb			\
-	armada-8040-puzzle-m801.dtb		\
 	armada-xp-crs305-1g-4s.dtb		\
 	armada-xp-crs305-1g-4s-bit.dtb		\
 	armada-xp-crs326-24g-2s.dtb		\
@@ -263,7 +253,20 @@ dtb-$(CONFIG_ARCH_MVEBU) +=			\
 	armada-xp-gp.dtb			\
 	armada-xp-maxbcm.dtb			\
 	armada-xp-synology-ds414.dtb		\
-	armada-xp-theadorable.dtb		\
+	armada-xp-theadorable.dtb
+else
+dtb-$(CONFIG_ARCH_MVEBU) +=			\
+	armada-3720-db.dtb			\
+	armada-3720-espressobin.dtb		\
+	armada-3720-turris-mox.dtb		\
+	armada-3720-eDPU.dtb			\
+	armada-3720-uDPU.dtb			\
+	armada-7040-db-nand.dtb			\
+	armada-7040-db.dtb			\
+	armada-8040-clearfog-gt-8k.dtb		\
+	armada-8040-db.dtb			\
+	armada-8040-mcbin.dtb			\
+	armada-8040-puzzle-m801.dtb		\
 	cn9130-db-A.dtb				\
 	cn9130-db-B.dtb				\
 	cn9131-db-A.dtb				\
@@ -272,6 +275,7 @@ dtb-$(CONFIG_ARCH_MVEBU) +=			\
 	cn9132-db-B.dtb				\
 	cn9130-crb-A.dtb			\
 	cn9130-crb-B.dtb
+endif
 
 dtb-$(CONFIG_ARCH_SYNQUACER) += synquacer-sc2a11-developerbox.dtb
 dtb-$(CONFIG_ARCH_UNIPHIER_LD11) += \
-- 
2.20.1

So decide what you like more for solving this issue.


More information about the U-Boot mailing list