Skip to contentSkip to conversation

Improve fsl-ls1028a-qds device tree overlay build

PATCH In review Shawn Guo 3 participants 11 messages Jan 29, 2022 – Feb 14, 2022

Subsystems (2)
lore
Share & tools
lore

Shawn Guo

author
#0 lore raw

cover Improve fsl-ls1028a-qds device tree overlay build

It makes a couple of improvments on fsl-ls1028a-qds device tree overlay build. Compile tested only.

Shawn Guo (2):
arm64: dts: fsl-ls1028a-qds: Drop overlay syntax hard coding
arm64: dts: freescale: Use overlay target for simplicity

 arch/arm64/boot/dts/freescale/Makefile        |  29 ++--
 .../dts/freescale/fsl-ls1028a-qds-13bb.dts    | 146 ++++++++----------
 .../dts/freescale/fsl-ls1028a-qds-65bb.dts    | 138 +++++++----------
 .../dts/freescale/fsl-ls1028a-qds-7777.dts    |  99 ++++++------
 .../dts/freescale/fsl-ls1028a-qds-85bb.dts    | 134 +++++++---------
 .../dts/freescale/fsl-ls1028a-qds-899b.dts    |  86 +++++------
 .../dts/freescale/fsl-ls1028a-qds-9999.dts    |  97 ++++++------
 7 files changed, 313 insertions(+), 416 deletions(-)
Signature · 1 line
2.17.1
author
#1 lore raw

PATCH 1/2 arm64: dts: fsl-ls1028a-qds: Drop overlay syntax hard coding

As suggested by commit 9ae8578b517a ("of: Documentation: change overlay example to use current syntax"), there is no need to have overlay syntax be hard coded in the device tree source file any more.

---
 .../dts/freescale/fsl-ls1028a-qds-13bb.dts    | 146 ++++++++----------
 .../dts/freescale/fsl-ls1028a-qds-65bb.dts    | 138 +++++++----------
 .../dts/freescale/fsl-ls1028a-qds-7777.dts    |  99 ++++++------
 .../dts/freescale/fsl-ls1028a-qds-85bb.dts    | 134 +++++++---------
 .../dts/freescale/fsl-ls1028a-qds-899b.dts    |  86 +++++------
 .../dts/freescale/fsl-ls1028a-qds-9999.dts    |  97 ++++++------
 6 files changed, 299 insertions(+), 401 deletions(-)
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-13bb.dts +62 -84
index f748a2c12a70..f826392c23fa 100644
@@ -12,102 +12,80 @@
 /dts-v1/;
 /plugin/;
 
-/ {
-	fragment@0 {
-		target = <&mdio_slot1>;
-
-		__overlay__ {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			slot1_sgmii: ethernet-phy@2 {
-				/* AQR112 */
-				reg = <0x2>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
-		};
-	};
-
-	fragment@1 {
-		target = <&enetc_port0>;
-
-		__overlay__ {
-			phy-handle = <&slot1_sgmii>;
-			phy-mode = "usxgmii";
-			managed = "in-band-status";
-			status = "okay";
-		};
+&mdio_slot1 {
+	#address-cells = <1>;
+	#size-cells = <0>;
+
+	slot1_sgmii: ethernet-phy@2 {
+		/* AQR112 */
+		reg = <0x2>;
+		compatible = "ethernet-phy-ieee802.3-c45";
 	};
+};
 
-	fragment@2 {
-		target = <&mdio_slot2>;
-
-		__overlay__ {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			/* 4 ports on AQR412 */
-			slot2_qxgmii0: ethernet-phy@0 {
-				reg = <0x0>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
-
-			slot2_qxgmii1: ethernet-phy@1 {
-				reg = <0x1>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
+&enetc_port0 {
+	phy-handle = <&slot1_sgmii>;
+	phy-mode = "usxgmii";
+	managed = "in-band-status";
+	status = "okay";
+};
 
-			slot2_qxgmii2: ethernet-phy@2 {
-				reg = <0x2>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
+&mdio_slot2 {
+	#address-cells = <1>;
+	#size-cells = <0>;
 
-			slot2_qxgmii3: ethernet-phy@3 {
-				reg = <0x3>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
-		};
+	/* 4 ports on AQR412 */
+	slot2_qxgmii0: ethernet-phy@0 {
+		reg = <0x0>;
+		compatible = "ethernet-phy-ieee802.3-c45";
 	};
 
-	fragment@3 {
-		target = <&mscc_felix_ports>;
+	slot2_qxgmii1: ethernet-phy@1 {
+		reg = <0x1>;
+		compatible = "ethernet-phy-ieee802.3-c45";
+	};
 
-		__overlay__ {
-			port@0 {
-				status = "okay";
-				phy-handle = <&slot2_qxgmii0>;
-				phy-mode = "usxgmii";
-				managed = "in-band-status";
-			};
+	slot2_qxgmii2: ethernet-phy@2 {
+		reg = <0x2>;
+		compatible = "ethernet-phy-ieee802.3-c45";
+	};
 
-			port@1 {
-				status = "okay";
-				phy-handle = <&slot2_qxgmii1>;
-				phy-mode = "usxgmii";
-				managed = "in-band-status";
-			};
+	slot2_qxgmii3: ethernet-phy@3 {
+		reg = <0x3>;
+		compatible = "ethernet-phy-ieee802.3-c45";
+	};
+};
 
-			port@2 {
-				status = "okay";
-				phy-handle = <&slot2_qxgmii2>;
-				phy-mode = "usxgmii";
-				managed = "in-band-status";
-			};
+&mscc_felix_ports {
+	port@0 {
+		status = "okay";
+		phy-handle = <&slot2_qxgmii0>;
+		phy-mode = "usxgmii";
+		managed = "in-band-status";
+	};
 
-			port@3 {
-				status = "okay";
-				phy-handle = <&slot2_qxgmii3>;
-				phy-mode = "usxgmii";
-				managed = "in-band-status";
-			};
-		};
+	port@1 {
+		status = "okay";
+		phy-handle = <&slot2_qxgmii1>;
+		phy-mode = "usxgmii";
+		managed = "in-band-status";
 	};
 
-	fragment@4 {
-		target = <&mscc_felix>;
+	port@2 {
+		status = "okay";
+		phy-handle = <&slot2_qxgmii2>;
+		phy-mode = "usxgmii";
+		managed = "in-band-status";
+	};
 
-		__overlay__ {
-			status = "okay";
-		};
+	port@3 {
+		status = "okay";
+		phy-handle = <&slot2_qxgmii3>;
+		phy-mode = "usxgmii";
+		managed = "in-band-status";
 	};
 };
+
+&mscc_felix {
+	status = "okay";
+};
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +59 -79

157 lines not on this page · raw message

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-7777.dts +43 -56

114 lines not on this page · raw message

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-85bb.dts +56 -78

153 lines not on this page · raw message

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-899b.dts +36 -50

101 lines not on this page · raw message

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-9999.dts +43 -54

112 lines not on this page · raw message

Signature · 1 line
2.17.1
Reviewed-by on v1 1/2
#2 lore raw

Re: [PATCH 1/2] arm64: dts: fsl-ls1028a-qds: Drop overlay syntax hard coding

Hi Shawn,

Quoted 6 lines · Shawn Guo

As suggested by commit 9ae8578b517a ("of: Documentation: change overlay example to use current syntax"), there is no need to have overlay syntax be hard coded in the device tree source file any more.

---

This looks good.

Just one minor comment below:

Quoted 15 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +0 -7
index 8ffb707a1576..bd88438c2ecd 100644
@@ -11,98 +11,78 @@
 /dts-v1/;
 /plugin/;
 
-/ {
-	fragment@0 {
-		target = <&mdio_slot1>;
-
-		__overlay__ {
-			#address-cells = <1>;
-			#size-cells = <0>;

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts line 15

Quoted 10 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +1 -8
-
-			slot1_sgmii: ethernet-phy@2 {
-				/* AQR112 */
-				reg = <0x2>;
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
-		};
-	};
+&mdio_slot1 {
 

Can you please delete this blank line?

Quoted 7 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +2 -4
-	fragment@1 {
-		target = <&enetc_port0>;
+	#address-cells = <1>;
+	#size-cells = <0>;
 
-		__overlay__ {
-			phy-handle = <&slot1_sgmii>;

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts line 24

Quoted 10 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +5 -4
-			phy-mode = "2500base-x";
-			managed = "in-band-status";
-			status = "okay";
-		};
+	slot1_sgmii: ethernet-phy@2 {
+		/* AQR112 */
+		reg = <0x2>;
+		compatible = "ethernet-phy-ieee802.3-c45";
 	};
+};

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

author
#3 lore raw

Re: [PATCH 1/2] arm64: dts: fsl-ls1028a-qds: Drop overlay syntax hard coding

Quoted 35 lines · Vladimir Oltean

Hi Shawn,

Quoted 6 lines · Shawn Guo

As suggested by commit 9ae8578b517a ("of: Documentation: change overlay example to use current syntax"), there is no need to have overlay syntax be hard coded in the device tree source file any more.

---

This looks good.

Just one minor comment below:

Quoted 19 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +0 -11
index 8ffb707a1576..bd88438c2ecd 100644
@@ -11,98 +11,78 @@
 /dts-v1/;
 /plugin/;
 
-/ {
-	fragment@0 {
-		target = <&mdio_slot1>;
-
-		__overlay__ {
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			slot1_sgmii: ethernet-phy@2 {
-				/* AQR112 */
-				reg = <0x2>;
Quoted 8 lines

arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts line 15

Quoted 6 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +1 -4
-				compatible = "ethernet-phy-ieee802.3-c45";
-			};
-		};
-	};
+&mdio_slot1 {
 

Can you please delete this blank line?

Fixed. Thanks for spotting it, Vladimir!

Shawn

Quoted 18 lines
Quoted 18 lines
arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +7 -8
-	fragment@1 {
-		target = <&enetc_port0>;
+	#address-cells = <1>;
+	#size-cells = <0>;
 
-		__overlay__ {
-			phy-handle = <&slot1_sgmii>;
-			phy-mode = "2500base-x";
-			managed = "in-band-status";
-			status = "okay";
-		};
+	slot1_sgmii: ethernet-phy@2 {
+		/* AQR112 */
+		reg = <0x2>;
+		compatible = "ethernet-phy-ieee802.3-c45";
 	};
+};
author
#4 lore raw

PATCH 2/2 arm64: dts: freescale: Use overlay target for simplicity

In reply to Shawn Guo

With commit 15d16d6dadf6 ("kbuild: Add generic rule to apply fdtoverlay"), overlay target can be used to simplify the build of DTB overlays. It also performs a cross check to ensure base DT and overlay actually match.

---
 arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++-------------
 1 file changed, 14 insertions(+), 15 deletions(-)
arch/arm64/boot/dts/freescale/Makefile +14 -15
index 6d8f0a532587..c521ac2b00ca 100644
@@ -1,14 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 
-# required for overlay support
-DTC_FLAGS_fsl-ls1028a-qds := -@
-DTC_FLAGS_fsl-ls1028a-qds-13bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-65bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-7777 := -@
-DTC_FLAGS_fsl-ls1028a-qds-85bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-899b := -@
-DTC_FLAGS_fsl-ls1028a-qds-9999 := -@
-
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb
@@ -21,12 +12,6 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
@@ -49,6 +34,20 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb
 
+fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
+fsl-ls1028a-qds-65bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-65bb.dtbo
+fsl-ls1028a-qds-7777-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-7777.dtbo
+fsl-ls1028a-qds-85bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-85bb.dtbo
+fsl-ls1028a-qds-899b-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-899b.dtbo
+fsl-ls1028a-qds-9999-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-9999.dtbo
+
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
+
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
Signature · 1 line
2.17.1
Reviewed-by on v1 2/2
#5 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

Quoted 7 lines · Shawn Guo

With commit 15d16d6dadf6 ("kbuild: Add generic rule to apply fdtoverlay"), overlay target can be used to simplify the build of DTB overlays. It also performs a cross check to ensure base DT and overlay actually match.

---

Quoted 59 lines
 arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++-------------
 1 file changed, 14 insertions(+), 15 deletions(-)
arch/arm64/boot/dts/freescale/Makefile +14 -15
index 6d8f0a532587..c521ac2b00ca 100644
@@ -1,14 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 
-# required for overlay support
-DTC_FLAGS_fsl-ls1028a-qds := -@
-DTC_FLAGS_fsl-ls1028a-qds-13bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-65bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-7777 := -@
-DTC_FLAGS_fsl-ls1028a-qds-85bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-899b := -@
-DTC_FLAGS_fsl-ls1028a-qds-9999 := -@
-
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb
@@ -21,12 +12,6 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
@@ -49,6 +34,20 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb
 
+fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
+fsl-ls1028a-qds-65bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-65bb.dtbo
+fsl-ls1028a-qds-7777-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-7777.dtbo
+fsl-ls1028a-qds-85bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-85bb.dtbo
+fsl-ls1028a-qds-899b-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-899b.dtbo
+fsl-ls1028a-qds-9999-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-9999.dtbo
+
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
+
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
Signature · 1 line
2.17.1

_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

#6 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

In reply to Shawn Guo
Quoted 65 lines · Shawn Guo

With commit 15d16d6dadf6 ("kbuild: Add generic rule to apply fdtoverlay"), overlay target can be used to simplify the build of DTB overlays. It also performs a cross check to ensure base DT and overlay actually match.

---
 arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++-------------
 1 file changed, 14 insertions(+), 15 deletions(-)
arch/arm64/boot/dts/freescale/Makefile +14 -16
index 6d8f0a532587..c521ac2b00ca 100644
@@ -1,14 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 
-# required for overlay support
-DTC_FLAGS_fsl-ls1028a-qds := -@
-DTC_FLAGS_fsl-ls1028a-qds-13bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-65bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-7777 := -@
-DTC_FLAGS_fsl-ls1028a-qds-85bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-899b := -@
-DTC_FLAGS_fsl-ls1028a-qds-9999 := -@
-
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb
@@ -21,12 +12,6 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
@@ -49,6 +34,20 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb
 
+fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
+fsl-ls1028a-qds-65bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-65bb.dtbo
+fsl-ls1028a-qds-7777-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-7777.dtbo
+fsl-ls1028a-qds-85bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-85bb.dtbo
+fsl-ls1028a-qds-899b-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-899b.dtbo
+fsl-ls1028a-qds-9999-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-9999.dtbo
+
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
+
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
--
Quoted 1 line

2.17.1

Shawn and Rob

I tried to adapt my patch 'arm64: dts: imx8mm-venice-gw73xx-0x: add dt overlays for serial modes' [1] and it results in a build failure:

$ make dtbs W=1
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb

Overlay 'scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h' is incomplete (2048 / 1346656301 bytes read)
scripts/Makefile.lib:360: recipe for target 'arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb' failed
make[2]: *** [arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb] Error 1
scripts/Makefile.build:550: recipe for target 'arch/arm64/boot/dts/freescale' failed
make[1]: *** [arch/arm64/boot/dts/freescale] Error 2
Makefile:1370: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2

It seems that it chokes on the include. The dts is:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /*
* Copyright 2022 Gateworks Corporation
*
* GW73xx RS232 with RTS/CTS hardware flow control:

 *  - GPIO4_0 rs485_en needs to be driven low (in-active)
 *  - UART4_TX becomes RTS
 *  - UART4_RX becomes CTS

*/

#include <dt-bindings/gpio/gpio.h>

#include "imx8mm-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mm-gw73xx-0x";
};
&gpio4 {
        rs485_en {
                gpio-hog;
                gpios = <0 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "rs485_en";
        };
};
&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        rts-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
        cts-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
        uart-has-rtscts;
        status = "okay";
};
&uart4 {
        status = "disabled";
};
&iomuxc {
        pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
                        MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
                        MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
                        MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28       0x140
                >;
        };
};

Could you explain what is wrong here? It compiled fine before trying to adapt the Makefile to what is described in 15d16d6dadf6 ("kbuild:
Add generic rule to applyfdt overlay"

Best regards,

Tim
[1] - https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=607352

author
#7 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

Quoted 145 lines · Tim Harvey
Quoted 65 lines · Shawn Guo

With commit 15d16d6dadf6 ("kbuild: Add generic rule to apply fdtoverlay"), overlay target can be used to simplify the build of DTB overlays. It also performs a cross check to ensure base DT and overlay actually match.

---
 arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++-------------
 1 file changed, 14 insertions(+), 15 deletions(-)
arch/arm64/boot/dts/freescale/Makefile +14 -16
index 6d8f0a532587..c521ac2b00ca 100644
@@ -1,14 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 
-# required for overlay support
-DTC_FLAGS_fsl-ls1028a-qds := -@
-DTC_FLAGS_fsl-ls1028a-qds-13bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-65bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-7777 := -@
-DTC_FLAGS_fsl-ls1028a-qds-85bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-899b := -@
-DTC_FLAGS_fsl-ls1028a-qds-9999 := -@
-
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb
@@ -21,12 +12,6 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
@@ -49,6 +34,20 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb
 
+fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
+fsl-ls1028a-qds-65bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-65bb.dtbo
+fsl-ls1028a-qds-7777-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-7777.dtbo
+fsl-ls1028a-qds-85bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-85bb.dtbo
+fsl-ls1028a-qds-899b-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-899b.dtbo
+fsl-ls1028a-qds-9999-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-9999.dtbo
+
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
+
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
--
Quoted 1 line

2.17.1

Shawn and Rob

I tried to adapt my patch 'arm64: dts: imx8mm-venice-gw73xx-0x: add dt overlays for serial modes' [1] and it results in a build failure:

$ make dtbs W=1
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb

Overlay 'scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h' is incomplete (2048 / 1346656301 bytes read)
scripts/Makefile.lib:360: recipe for target 'arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb' failed
make[2]: *** [arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb] Error 1
scripts/Makefile.build:550: recipe for target 'arch/arm64/boot/dts/freescale' failed
make[1]: *** [arch/arm64/boot/dts/freescale] Error 2
Makefile:1370: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2

It seems that it chokes on the include. The dts is:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /*
* Copyright 2022 Gateworks Corporation
*
* GW73xx RS232 with RTS/CTS hardware flow control:

 *  - GPIO4_0 rs485_en needs to be driven low (in-active)
 *  - UART4_TX becomes RTS
 *  - UART4_RX becomes CTS

*/

#include <dt-bindings/gpio/gpio.h>

#include "imx8mm-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mm-gw73xx-0x";
};
&gpio4 {
        rs485_en {
                gpio-hog;
                gpios = <0 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "rs485_en";
        };
};
&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        rts-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
        cts-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
        uart-has-rtscts;
        status = "okay";
};
&uart4 {
        status = "disabled";
};
&iomuxc {
        pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
                        MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
                        MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
                        MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28       0x140
                >;
        };
};
Quoted 3 lines

Could you explain what is wrong here? It compiled fine before trying to adapt the Makefile to what is described in 15d16d6dadf6 ("kbuild:
Add generic rule to applyfdt overlay"

With the following changes on top of your patch, I can build the dtbo without error.

---8<-------

arch/arm64/boot/dts/freescale/Makefile +8 -3
index 4611f66096a7..d42a9e03f014 100644
@@ -61,9 +61,6 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
@@ -97,6 +94,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb
 
+imx8mm-venice-gw73xx-0x-rs232-rts-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
+imx8mm-venice-gw73xx-0x-rs422-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs422.dtbo
+imx8mm-venice-gw73xx-0x-rs485-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs485.dtbo
+
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb
+
 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
 dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb
#8 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

Quoted 175 lines · Shawn Guo
Quoted 145 lines · Tim Harvey
Quoted 65 lines · Shawn Guo

With commit 15d16d6dadf6 ("kbuild: Add generic rule to apply fdtoverlay"), overlay target can be used to simplify the build of DTB overlays. It also performs a cross check to ensure base DT and overlay actually match.

---
 arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++-------------
 1 file changed, 14 insertions(+), 15 deletions(-)
arch/arm64/boot/dts/freescale/Makefile +14 -16
index 6d8f0a532587..c521ac2b00ca 100644
@@ -1,14 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0
 
-# required for overlay support
-DTC_FLAGS_fsl-ls1028a-qds := -@
-DTC_FLAGS_fsl-ls1028a-qds-13bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-65bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-7777 := -@
-DTC_FLAGS_fsl-ls1028a-qds-85bb := -@
-DTC_FLAGS_fsl-ls1028a-qds-899b := -@
-DTC_FLAGS_fsl-ls1028a-qds-9999 := -@
-
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frdm.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-frwy.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1012a-oxalis.dtb
@@ -21,12 +12,6 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var3-ads2.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-kontron-sl28-var4.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
-dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1043a-rdb.dtb
@@ -49,6 +34,20 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-qds.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2160a-rdb.dtb
 dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-lx2162a-qds.dtb
 
+fsl-ls1028a-qds-13bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-13bb.dtbo
+fsl-ls1028a-qds-65bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-65bb.dtbo
+fsl-ls1028a-qds-7777-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-7777.dtbo
+fsl-ls1028a-qds-85bb-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-85bb.dtbo
+fsl-ls1028a-qds-899b-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-899b.dtbo
+fsl-ls1028a-qds-9999-dtbs := fsl-ls1028a-qds.dtb fsl-ls1028a-qds-9999.dtbo
+
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-13bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-65bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-7777.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-85bb.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-899b.dtb
+dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls1028a-qds-9999.dtb
+
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-beacon-kit.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-evk.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-ddr4-evk.dtb
--
Quoted 1 line

2.17.1

Shawn and Rob

I tried to adapt my patch 'arm64: dts: imx8mm-venice-gw73xx-0x: add dt overlays for serial modes' [1] and it results in a build failure:

$ make dtbs W=1
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb

Overlay 'scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h' is incomplete (2048 / 1346656301 bytes read)
scripts/Makefile.lib:360: recipe for target 'arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb' failed
make[2]: *** [arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb] Error 1
scripts/Makefile.build:550: recipe for target 'arch/arm64/boot/dts/freescale' failed
make[1]: *** [arch/arm64/boot/dts/freescale] Error 2
Makefile:1370: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2

It seems that it chokes on the include. The dts is:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /*
* Copyright 2022 Gateworks Corporation
*
* GW73xx RS232 with RTS/CTS hardware flow control:

 *  - GPIO4_0 rs485_en needs to be driven low (in-active)
 *  - UART4_TX becomes RTS
 *  - UART4_RX becomes CTS

*/

#include <dt-bindings/gpio/gpio.h>

#include "imx8mm-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mm-gw73xx-0x";
};
&gpio4 {
        rs485_en {
                gpio-hog;
                gpios = <0 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "rs485_en";
        };
};
&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        rts-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
        cts-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
        uart-has-rtscts;
        status = "okay";
};
&uart4 {
        status = "disabled";
};
&iomuxc {
        pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
                        MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
                        MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
                        MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28       0x140
                >;
        };
};
Quoted 3 lines

Could you explain what is wrong here? It compiled fine before trying to adapt the Makefile to what is described in 15d16d6dadf6 ("kbuild:
Add generic rule to applyfdt overlay"

With the following changes on top of your patch, I can build the dtbo without error.

---8<-------

arch/arm64/boot/dts/freescale/Makefile +1 -3
index 4611f66096a7..d42a9e03f014 100644
@@ -61,9 +61,6 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
@@ -97,6 +94,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb
 
+imx8mm-venice-gw73xx-0x-rs232-rts-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs232-rts.dtbo

arch/arm64/boot/dts/freescale/Makefile dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb · line 107

Quoted 10 lines
arch/arm64/boot/dts/freescale/Makefile +7 -0
+imx8mm-venice-gw73xx-0x-rs422-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs422.dtbo
+imx8mm-venice-gw73xx-0x-rs485-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs485.dtbo
+
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb
+
 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
 dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb

Shawn,

On top of what branch and with what commands? I've rebased this on top of your imx/dt64 branch and can not build once I apply this over my patch using 'make dtbs W=1'.

Best Regards,

Tim

author
#9 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

Quoted 116 lines · Tim Harvey
Quoted 103 lines
Quoted 75 lines

I tried to adapt my patch 'arm64: dts: imx8mm-venice-gw73xx-0x: add dt overlays for serial modes' [1] and it results in a build failure:

$ make dtbs W=1
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb

Overlay 'scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h' is incomplete (2048 / 1346656301 bytes read)
scripts/Makefile.lib:360: recipe for target 'arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb' failed
make[2]: *** [arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb] Error 1
scripts/Makefile.build:550: recipe for target 'arch/arm64/boot/dts/freescale' failed
make[1]: *** [arch/arm64/boot/dts/freescale] Error 2
Makefile:1370: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2

It seems that it chokes on the include. The dts is:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /*
* Copyright 2022 Gateworks Corporation
*
* GW73xx RS232 with RTS/CTS hardware flow control:

 *  - GPIO4_0 rs485_en needs to be driven low (in-active)
 *  - UART4_TX becomes RTS
 *  - UART4_RX becomes CTS

*/

#include <dt-bindings/gpio/gpio.h>

#include "imx8mm-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mm-gw73xx-0x";
};
&gpio4 {
        rs485_en {
                gpio-hog;
                gpios = <0 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "rs485_en";
        };
};
&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        rts-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
        cts-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
        uart-has-rtscts;
        status = "okay";
};
&uart4 {
        status = "disabled";
};
&iomuxc {
        pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
                        MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
                        MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
                        MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28       0x140
                >;
        };
};
Quoted 3 lines

Could you explain what is wrong here? It compiled fine before trying to adapt the Makefile to what is described in 15d16d6dadf6 ("kbuild:
Add generic rule to applyfdt overlay"

With the following changes on top of your patch, I can build the dtbo without error.

---8<-------

arch/arm64/boot/dts/freescale/Makefile +1 -3
index 4611f66096a7..d42a9e03f014 100644
@@ -61,9 +61,6 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
@@ -97,6 +94,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb
 
+imx8mm-venice-gw73xx-0x-rs232-rts-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs232-rts.dtbo

arch/arm64/boot/dts/freescale/Makefile dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb · line 107

Quoted 10 lines
arch/arm64/boot/dts/freescale/Makefile +7 -0
+imx8mm-venice-gw73xx-0x-rs422-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs422.dtbo
+imx8mm-venice-gw73xx-0x-rs485-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs485.dtbo
+
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb
+
 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
 dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb

Shawn,

Quoted 3 lines

On top of what branch and with what commands? I've rebased this on top of your imx/dt64 branch and can not build once I apply this over my patch using 'make dtbs W=1'.

Tim,

For your reference, I pushed the changes as below.

https://git.linaro.org/people/shawn.guo/linux-2.6.git/log/?h=test/gw73xx-dtbo

The build command is:

$ make W=1 ARCH=arm64 dtbs
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs422.dtbo
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs485.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs422.dtb
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs485.dtb

Maybe you forgot to set up 'ARCH' variable?

Shawn

#10 lore raw

Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity

Quoted 139 lines · Shawn Guo
Quoted 116 lines · Tim Harvey
Quoted 103 lines
Quoted 75 lines

I tried to adapt my patch 'arm64: dts: imx8mm-venice-gw73xx-0x: add dt overlays for serial modes' [1] and it results in a build failure:

$ make dtbs W=1
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb

Overlay 'scripts/dtc/include-prefixes/dt-bindings/gpio/gpio.h' is incomplete (2048 / 1346656301 bytes read)
scripts/Makefile.lib:360: recipe for target 'arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb' failed
make[2]: *** [arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb] Error 1
scripts/Makefile.build:550: recipe for target 'arch/arm64/boot/dts/freescale' failed
make[1]: *** [arch/arm64/boot/dts/freescale] Error 2
Makefile:1370: recipe for target 'dtbs' failed
make: *** [dtbs] Error 2

It seems that it chokes on the include. The dts is:
// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /*
* Copyright 2022 Gateworks Corporation
*
* GW73xx RS232 with RTS/CTS hardware flow control:

 *  - GPIO4_0 rs485_en needs to be driven low (in-active)
 *  - UART4_TX becomes RTS
 *  - UART4_RX becomes CTS

*/

#include <dt-bindings/gpio/gpio.h>

#include "imx8mm-pinfunc.h"

/dts-v1/;
/plugin/;

&{/} {
        compatible = "gw,imx8mm-gw73xx-0x";
};
&gpio4 {
        rs485_en {
                gpio-hog;
                gpios = <0 GPIO_ACTIVE_HIGH>;
                output-low;
                line-name = "rs485_en";
        };
};
&uart2 {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart2>;
        rts-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;
        cts-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
        uart-has-rtscts;
        status = "okay";
};
&uart4 {
        status = "disabled";
};
&iomuxc {
        pinctrl_uart2: uart2grp {
                fsl,pins = <
                        MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX     0x140
                        MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX     0x140
                        MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29       0x140
                        MX8MM_IOMUXC_UART4_RXD_GPIO5_IO28       0x140
                >;
        };
};
Quoted 3 lines

Could you explain what is wrong here? It compiled fine before trying to adapt the Makefile to what is described in 15d16d6dadf6 ("kbuild:
Add generic rule to applyfdt overlay"

With the following changes on top of your patch, I can build the dtbo without error.

---8<-------

arch/arm64/boot/dts/freescale/Makefile +1 -3
index 4611f66096a7..d42a9e03f014 100644
@@ -61,9 +61,6 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-var-som-symphony.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw71xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw72xx-0x.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x.dtb
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtbo
-dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtbo
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7901.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw7902.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8mn-beacon-kit.dtb
@@ -97,6 +94,14 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb
 dtb-$(CONFIG_ARCH_MXC) += imx8ulp-evk.dtb
 
+imx8mm-venice-gw73xx-0x-rs232-rts-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs232-rts.dtbo

arch/arm64/boot/dts/freescale/Makefile dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb · line 107

Quoted 10 lines
arch/arm64/boot/dts/freescale/Makefile +7 -0
+imx8mm-venice-gw73xx-0x-rs422-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs422.dtbo
+imx8mm-venice-gw73xx-0x-rs485-dtbs := imx8mm-venice-gw73xx-0x.dtb imx8mm-venice-gw73xx-0x-rs485.dtbo
+
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb
+dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb
+
 dtb-$(CONFIG_ARCH_S32) += s32g274a-evb.dtb
 dtb-$(CONFIG_ARCH_S32) += s32g274a-rdb2.dtb
 dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb

Shawn,

Quoted 3 lines

On top of what branch and with what commands? I've rebased this on top of your imx/dt64 branch and can not build once I apply this over my patch using 'make dtbs W=1'.

Tim,

For your reference, I pushed the changes as below.

https://git.linaro.org/people/shawn.guo/linux-2.6.git/log/?h=test/gw73xx-dtbo

The build command is:

$ make W=1 ARCH=arm64 dtbs
  UPD     include/config/kernel.release
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtbo
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs422.dtbo
  DTC     arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs485.dtbo
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs232-rts.dtb
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs422.dtb
  DTOVL   arch/arm64/boot/dts/freescale/imx8mm-venice-gw73xx-0x-rs485.dtb
Quoted 2 lines

Maybe you forgot to set up 'ARCH' variable?

Shawn,

I saw the same issue with your branch but found a 'make distclean' saved the day.

I'll resubmit my patch.

Thanks,

Tim