device tree ERROR: Unable to parse input tree (syntax error)

device tree ERROR: Unable to parse input tree (syntax error)

我正确地生成了我的图像 Yocto-hardknott-technexion

$ mkdir tn-imx-yocto
$ cd tn-imx-yocto
$ repo init -u https://github.com/TechNexion/tn-imx-yocto-manifest.git -b hardknott_5.10.y-next -m imx-5.10.52-2.1.0.xml
$ repo sync -j8
$ DISTRO=fsl-imx-x11 MACHINE=pico-imx7 BASEBOARD=pi source tn-setup-release.sh -b build-x11-pico-imx7
$ bitbake core-image-base

然后,我去.../tn-imx-yocto/sources/meta-tn-imx-bsp/conf/machine/nano pico-imx7.conf 并启用 imx7d-pico-pi-m4.dtb (KERNEL_DEVICETREE_append = " imx7d-pico-pi-m4.dtb")。因为我一直在 m4

中使用 FreeRTOS 尝试 RPMsg

微微imx7.conf

#@TYPE: Machine
#@NAME: pico-imx7
#@SOC: i.MX7/Solo/Dual/UtraLowPower
#@DESCRIPTION: Machine configuration for PICO-IMX7 with QCA(Qualcomm)/BRCM(Broadcom) WLAN module
#@MAINTAINER: Po Cheng <po.cheng@technexion.com>

MACHINEOVERRIDES =. "mx7:mx7d:"
MACHINEOVERRIDES_EXTENDER_pico-imx7 = "uenv"

include conf/machine/include/imx-base.inc
include conf/machine/include/tune-cortexa7.inc
require conf/machine/tn-base.inc

#
# Kernel Device Trees
#
PREFERRED_PROVIDER_virtual/kernel ?= "linux-tn-imx"
PREFERRED_PROVIDER_virtual/kernel_mx7 = "linux-tn-imx"

KERNEL_DEVICETREE = "imx7d-pico-pi-qca.dtb" 
#                         imx7d-pico-pi-m4.dtb \
#"
KERNEL_DEVICETREE_append = " imx7d-pico-pi-m4.dtb"
#                    imx7d-pico-pi.dtb \
#                     imx7d-pico-pi-c2-qca.dtb imx7d-pico-pi-c2.dtb \
#                     imx7d-pico-nymph-qca.dtb imx7d-pico-nymph.dtb \
#                     imx7d-pico-dwarf-qca.dtb imx7d-pico-dwarf.dtb \
#                     imx7d-pico-hobbit-qca.dtb imx7d-pico-hobbit.dtb \
#"

# Setup the additional devicetree file
#KERNEL_DEVICETREE_append_voicehat = " imx7d-pico-pi-qca-voicehat.dtb \
#                                      imx7d-pico-pi-voicehat.dtb \
#                                      imx7d-pico-pi-c2-qca-voicehat.dtb \
#                                      imx7d-pico-pi-c2-voicehat.dtb "

# Bootloader Specifics
UBOOT_MACHINE = "pico-imx7d_spl_defconfig"

#M4_MACHINE = "pico-imx7d-pi"
#IMAGE_BOOTFILES_DEPENDS += "imx-m4-demos-tn:do_deploy"
#IMAGE_BOOTFILES += "hello_world.bin rpmsg_lite_pingpong_rtos_linux_remote.bin rpmsg_lite_str_echo_rtos_imxcm4.bin"

并且(在那之后)我遇到了问题:无法解析输入树(语法错误) 在文件 baseboard_pico_pi.dtsi 第 52 行 (下图) 我没有发现 baseboard_pico_pi.dtsi 文件的 行 52 有任何问题:PICO_PI_GPIO_DEFS();

imx7d-pico-qca.dtsi 关于 PICO_PI_GPIO_DEFS()

#define PICO_NYMPH_GPIO_DEFS()  \
&gpio2 {                                                    \
    gpio-line-names =                                           \
        "", "", "GPIO_P28", "GPIO_P30", "GPIO_P32", "GPIO_P34", "", "",                 \
        "", "", "", "", "", "", "", "",                                 \
        "", "", "", "", "", "", "", "",                                 \
        "", "", "", "", "", "", "", "";                                 \
                                                        \
    pinctrl-0 = <&pinctrl_gpio2>;                                       \
}

#define PICO_PI_GPIO_DEFS() \
&gpio2 {                                                    \
    gpio-line-names =                                           \
        "GPIO_P24", "GPIO_P26", "GPIO_P28", "GPIO_P30", "", "GPIO_P34", "", "GPIO_P48",         \
        "", "", "", "", "", "", "", "",                                 \
        "", "", "", "", "", "", "", "",                                 \
        "", "", "", "", "", "", "", "";                                 \
                                                        \
    pinctrl-0 = <&pinctrl_gpio2>;                                       \
}

baseboard_pico_pi.dtsi

clocks {
        codec_osc: aud_mclk {
            compatible = "fixed-clock";
            #clock-cells = <0>;
            clock-frequency = <24576000>;
        };
    };
};

PICO_PI_GPIO_DEFS(); // line 52

&PICO_I2CA {
    status = "okay";

    codec: sgtl5000@a {
        compatible = "fsl,sgtl5000";
        reg = <0x0a>;
        clocks = <&codec_osc>;
        VDDA-supply = <&reg_2p5v>;

所有涉及此问题的设备树文件都位于 link: https://github.com/neuberfran/technexion2

我该如何解决这个问题? (请)

解决方案是在名为 pico 的 Yocto/Hardknott/technexion 配置文件中将 imx7d-pico-pi-m4.dtb 更改为 imx7d-pico-pi-qca-m4.dtb -imx7.conf(在post中描述)