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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 11, 2022 at 8:01 PM Shawn Guo <shawnguo@xxxxxxxxxx> wrote:
>
> On Fri, Feb 11, 2022 at 03:23:20PM -0800, Tim Harvey wrote:
> > > > 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.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'.
>
> 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,

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

I'll resubmit my patch.

Thanks,

Tim



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux