修改kernel-3.18\drivers\misc\mediatek\mach\mt6797\amt6797_evb_m\dct\dct\codegen.dws目录下的DWS文件,在对应的I2C_CHANNEL上添加GOODIX的设备,并设定I2C的地址,如下代码段1中所示:
代码段1
kernel-3.18\drivers\misc\mediatek\mach\mt6797\amt6797_evb_m\dct\dct\codegen.dws
<device16>
<varName>CAP_TOUCH</varName>
<channel>I2C_CHANNEL_4</channel>
<address>0x5D</address>
</device16>
该DWS文件,在内核编译后会在\out\arch\arm64\boot\dts目录下生一个cust.dtsi文件,在该文件中会出现刚在DWS文件中添加的设备,此文件对应的设备下仅包含有设备的: compatible, reg, status等信息,而GPIO、IRQ、PINCTRL等信息都不在该cust.dtsi文件中,如下代码段2中所示。
代码段2
\out\arch\arm64\boot\dts
&i2c4 {
#address-cells = <1>;
#size-cells = <0>;
clock-frequency = <400000>;
mediatek,use-open-drain;
cap_touch@5d {
compatible = "mediatek,cap_touch";
reg = <0x5d>;
status = "okay";