树莓派4B 设备树配置GT9271和PCA9536,以及PCA9536的P1和P2引脚与GT911的RESET和INT引脚的设备树驱动
时间: 2024-02-19 10:03:50 浏览: 26
好的,针对您的问题,我可以提供以下设备树配置示例:
```
&i2c {
status = "okay";
gt911@5d {
compatible = "goodix,gt9271";
reg = <0x5d>;
interrupt-parent = <&gpio>;
interrupts = <14 2>;
reset-gpios = <&gpio 15 0>;
irq-gpios = <&gpio 16 0>;
touchscreen-size-x = <800>;
touchscreen-size-y = <480>;
touchscreen-inverted-x;
touchscreen-swapped-x-y;
touchscreen-inverted-y;
touchscreen-fuzz-x = <8>;
touchscreen-fuzz-y = <8>;
touchscreen-min-pressure = <10>;
touchscreen-max-pressure = <255>;
interrupt-on-touch = <1>;
/* PCA9536 P1 and P2 pins */
pca9536: pca9536@21 {
compatible = "nxp,pca9536";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
interrupt-parent = <&gpio>;
interrupts = <13 2>;
pinctrl-names = "default";
pinctrl-0 = <&pca9536_pins>;
/* PCA9536 P1 pin */
pca9536_p1: pca9536_p1 {
gpio-hog;
gpios = <&pca9536 0 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "pca9536-p1";
};
/* PCA9536 P2 pin */
pca9536_p2: pca9536_p2 {
gpio-hog;
gpios = <&pca9536 1 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "pca9536-p2";
};
};
};
};
&pca9536 {
status = "okay";
pca9536_pins: pca9536_pins {
pca9536_p1_pin: pca9536_p1_pin {
gpio-hog;
gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "pca9536-p1";
};
pca9536_p2_pin: pca9536_p2_pin {
gpio-hog;
gpios = <&gpio 18 GPIO_ACTIVE_HIGH>;
output-low;
line-name = "pca9536-p2";
};
};
};
```
上述示例代码中,我们在设备树中首先定义了 I2C 总线,并在该总线下定义了 GT9271 触摸屏设备(节点 `gt911@5d`)。同时,在 GT9271 设备下,我们还定义了 PCA9536 IO 扩展器设备(节点 `pca9536@21`),并通过设备树的 `pinctrl` 属性将其与两个 GPIO 引脚(节点 `pca9536_p1` 和 `pca9536_p2`)进行绑定。
需要注意的是,上述代码中的具体引脚编号可能与您的具体硬件连接方式有所不同,因此您需要根据实际情况进行修改。
希望以上内容能够对您有所帮助!