Re: [PATCH 2/2] arm64: dts: freescale: Use overlay target for simplicity
From: Shawn Guo <shawnguo@kernel.org>
Date: 2022-02-12 04:01:21
On Fri, Feb 11, 2022 at 03:23:20PM -0800, Tim Harvey wrote:
quoted
quoted
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"With the following changes on top of your patch, I can build the dtbo without error. ---8<-------diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 4611f66096a7..d42a9e03f014 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile@@ -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.dtbShawn, 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