On Fri, Jan 28, 2022 at 11:10 PM Shawn Guo <shawnguo@xxxxxxxxxx> wrote: > > 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. > > Signed-off-by: Shawn Guo <shawnguo@xxxxxxxxxx> > --- > arch/arm64/boot/dts/freescale/Makefile | 29 +++++++++++++------------- > 1 file changed, 14 insertions(+), 15 deletions(-) > > diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile > index 6d8f0a532587..c521ac2b00ca 100644 > --- a/arch/arm64/boot/dts/freescale/Makefile > +++ b/arch/arm64/boot/dts/freescale/Makefile > @@ -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 > -- > 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