Page 1 of 1

请问,如何添加设备树中断引脚!!!!!

Posted: 2024-07-17 14:15
by ywk
你好,我使用的ili9488的屏幕+plus开发板,想加个触摸屏的中断,但添加设备树遇到了问题。具体添加的中断设备树新内容如下图。这么添加是有问题的。但我查看相关的设备树文件,没有发现中断的父节点可以引用;因此自己添加了intc的父节点,结果编译失败了!请问官方能否给出正确的中断写法,感谢!!!

Re: 请问,如何添加设备树中断引脚!!!!!

Posted: 2024-07-18 1:54
by Crocodile
ywk wrote: 2024-07-17 14:15 你好,我使用的ili9488的屏幕+plus开发板,想加个触摸屏的中断,但添加设备树遇到了问题。具体添加的中断设备树新内容如下图。这么添加是有问题的。但我查看相关的设备树文件,没有发现中断的父节点可以引用;因此自己添加了intc的父节点,结果编译失败了!请问官方能否给出正确的中断写法,感谢!!!
您好,设备树中的设置最后都是被对应驱动给获取并设置的包括中断,ili9488是显示芯片,我在内核中找了一下并没有对应的compatible可以对应上的驱动,您可能需要更换一下compatible属性(有部分厂商的显示芯片之间的兼容性较好可以通用,我不确定ilitek是否也可以通用),或者重新移植一份(对应fbtft的地址在<luckfox-pico SDK>/sysdrv/source/kernel/drivers/staging/fbtft 下),而fbtft的驱动源码并没有触摸中断的相关信息,触摸屏需要额外创建节点来配置,比如Luckfox Pico Ultra适配的4寸屏使用的触摸芯片GT911配置就是与显示分开的

Code: Select all

&i2c3 {
    status  = "okay";
    clock-frequency = <100000>;
    pinctrl-0 =< &i2c3m2_xfer &tp_rst &tp_irq>;
    GT911:touchscreen {
      compatible = "goodix,gt911";
      reg = <0x14>;

      interrupt-parent = <&gpio0>;
      interrupts = <RK_PA3 IRQ_TYPE_EDGE_FALLING>;

      reset-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
      pinctrl-names = "default";
    };
};

&pinctrl{
	touchscreen {
		tp_rst:tp-rst {
			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>;
		};

		tp_irq:tp-irq {
			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};
其中将GPIO作为中断引脚,当触摸电容屏时该引脚会出现下拉信号(由电容屏控制),随后luckfox pico 就会与其进行i2c 通信获取坐标信息,您使用的如果时电阻屏工作模式可能不太一样

Re: 请问,如何添加设备树中断引脚!!!!!

Posted: 2024-07-18 15:14
by ywk
如下图是我的在自己的设备树中引用rv1106中的中断父节点写的设备树;问题1是:我的芯片是1103的plus开发板,直接引用没问题吗?问题2是:我中断引脚是gpio3_pa7,所以在引用时引用的是父节点的gpio0还是gpio3;问题3是:我gpio0/3都引用了测试了,但获取软中断失败了。是不是rv1103的中断引用的父节点不是rv1106的中断呢?
我的触控屏是xpt2046,中断引脚是支持的,对应plus的引脚就是gpio3_pa7。

Re: 请问,如何添加设备树中断引脚!!!!!

Posted: 2024-07-19 2:16
by Crocodile
1.rv1103 的设备树引用的 rv1103.dtsi 中还引用了 rv1106.dtsi ,rv1103 是基于rv110 6作调整的,具体可以看 rv1103.dtsi ,在gpio 上删除了gpio2 这个bank ,您使用的是gpio3的引脚不受影响;
2.gpio3_pa7中断引用的父节点用gpio3
3.自行测试的部分我们不提供技术支持,从截图上看您使用的驱动也不是 kernel 5.10 已有的驱动,我能提供的建议就是触摸屏的驱动和显示屏的驱动分开,xpt2046的驱动在5.10的内核版本已经被移除了,你可以参考之前内核的版本源码进行移植,确保能够正常移植后再进行其他的实验。或者想单独研究设备树中断的话从简单的驱动入手,我们的精力有限,相关细节请自行研究