Fusion 触摸屏设备树编译错误

时间:2021-04-07 01:01:35

标签: linux-kernel touchscreen device-tree

我正在尝试在基于 IMX6 的 SoC 上启用 Fusion F07A-0114-01 触摸屏。我遵循了天马触摸屏的模板:

#include "imx6q-mercury.dtsi"
/ {
    model = "AAA Mercury";
    compatible = "aaa,imx6q-hydra13", "aaa,imx6q-mercury",
                    "aaa,imx6q-hydra", "fsl,imx6q";
};

&ssd_touch {
    status = "okay";
};

其中 ssd_touch 在 imx6q-mercury.dtsi 中定义:

&i2c1 {
    status = "okay";
    clock-frequency = <250000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c1_mercury
            &pinctrl_touch_mercury>;

    ssd_touch: touch@0x48 {
        /* SSD touch panel */
        compatible = "ssd254x-ts";
        reg = <0x48>;
        interrupt-parent = <&gpio7>;
        interrupts = <12 IRQ_TYPE_LEVEL_LOW>;
        rst-gpio = <&gpio6 2 GPIO_ACTIVE_HIGH>;
        xres = <1024>;
        yres = <600>;
        status = "disabled";
        /* set up for an SSD2543QN4 in the TIANMA
         * TM070DVHG01 ver1.4 display. This is a hardware specific implementation
         * and no attempt has been made to make this driver applicable to all ssd254x
         * devices.
         *
         * The SSD2543QN4 has 30 drive pins of which 26 are connected
         * but only 25 are used, DRIVE25 is not used
         * The SSD2543QN4 has 23 sense lines of which 17 are connected
         * but only 15 are used, SENSE19 and SENSE35 are not used
         */

        /* SSD/Tianma recommended settings with 1.1mm optically bonded cover glass
         * Sept 30/2016
         */
        ssd254x,cfg-regs = <
            0x06190F // 25 drive, 15 sense
            0x0700E0 // drive 0 set to pin 0xE0
            0x0800E1
            0x0900E2
            0x0A00E3
            0x0B00E4
            0x0C00E5
            0x0D00E6
            0x0E00E7
            0x0F00E8
            0x1000E9
            0x1100EA
            0x1200EB
            0x1300EC
            0x1400ED
            0x1500EE
            0x1600EF
            0x1700F0
            0x1800F1
            0x1900F2
            0x1A00F3
            0x1B00F4
            0x280014 // sense offset 20
            0x30080F // 1us start, 1.875us stop integration
            0xD70003 // VREF is VCI/2 +/-.5V
            0xD80006 // bias 23k ohm, default 14k ohm
            0xDB0003 // integrator cap value?, default 0x0004
            0x330003 // min area 3, default 0x0001
            0x34C660 // min level, default 0x0064
            0x360020 // max area, default 0x0018
            0x3707C4 // register not found?
            0x4010C8 // register not found?
            0x410030 // register not found?
            0x420050 // register not found?
            0x430030 // register not found?
            0x440050 // register not found?
            0x450000 // register not found?
            0x46101F // register not found?
            0x568010 // register not found?
            0x598010 // register not found?
            0x650005 // transpose X
            0x662580 // x scaling factor, default 0x4000
            0x672760 // y scaling factor, default 0x4000
            0x7AFFFF // register not found?
            0x7B0003 // FIFO overflow, data valid masks
            0x25000C // frame scan 12ms
            >;
    };
};

虽然上面编译得很好,但对于以下代码:

#include "imx6q-mercury7.dtsi"

/ {
    model = "AAA Mercury";
    compatible = "aaa,imx6q-hydra0F", "aaa,imx6q-mercury",
                    "aaa,imx6q-hydra", "fsl,imx6q";
};

&fusion_touch {
    status = "okay";
};

其中 fusion_touch 在 imx6q-mercury7.dtsi 中定义:

&i2c1 {
    status = "okay";
    clock-frequency = <100000>;
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_i2c1_mercury
            &pinctrl_touch_mercury>;

    fusion_touch {
        compatible = "fusion-ts";
        reg = <0x10>;
        interrupts-extended = <&gpio7 12 IRQ_TYPE_EDGE_RISING>;
        resets = <&fusion_reset>;
    };
};

我在编译过程中遇到错误: DTC arch/arm/boot/dts/imx6q-hydra0F.dtb 错误:/android/vendor/nxp-opensource/kernel_imx/arch/arm/boot/dts/imx6q-hydra0F.dts:23.1-12 未找到标签或路径fusion_touch 致命错误:语法错误解析输入树

这个特定错误的解释是什么?两者的区别仅在于 ssd_touch 是完全定义的。

0 个答案:

没有答案