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 = <®_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中描述)
我正确地生成了我的图像 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 = <®_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中描述)