清空記錄
歷史記錄
取消
清空記錄
歷史記錄
本文是觸覺智能EVB3562開發(fā)板基于Linux系統(tǒng)介紹GT911觸控芯片I2C的DTS描述,有助于剛接觸設(shè)備樹的小伙伴了解各屬性的含義。觸覺智能的IDO-EVB3562開發(fā)板,采用 Rockchip 新一代 64 位處理器 RK3562(Quad-core ARM Cortex-A53,主頻最高 2.0GHz),最大支持 8GB 內(nèi)存;內(nèi)置獨立的 NPU,可用于輕量級人工智能應(yīng)用,RK3562 擁有 PCIE2.1 / USB3.0 OTG / 雙以太網(wǎng)等各類型接口,支持多種視頻輸入輸出接口,擁有豐富的外部接口。
產(chǎn)品資料獲取鏈接:
http://nongminhua.com.cn/product-item-44.html
利用"i2ctools"測試工具進(jìn)行初步檢測,這些工具通常已經(jīng)預(yù)裝,可以直接使用。查看工具時,可用tab鍵補(bǔ)齊,看下是否有這些工具,命令如下:
C:\Users\industio>adb shellroot@kylinos:/#root@kylinos:/# i2ci2cdetect i2cget i2c-stub-from-dumpi2cdump i2cset i2ctransfer
i2cdetect:檢測指定總線上的I2C設(shè)備
i2cdump:dump指定I2C設(shè)備的寄存器數(shù)值
i2cget:讀取I2C數(shù)據(jù)
i2cset:設(shè)置I2C數(shù)據(jù)
用i2cdetect檢測有幾組i2c總線在系統(tǒng)上,如下圖所示:
示例:用i2cdetect檢測掛載在i2c總線上器件,結(jié)果如下圖所示:
--- a/device/rockchip/rk356x/rk3566_r/rk3566_r.mk+++ b/device/rockchip/rk356x/rk3566_r/rk3566_r.mk@@ -46,4 +46,5 @@ PRODUCT_PROPERTY_OVERRIDES += persist.bt.power.down=true PRODUCT_PROPERTY_OVERRIDES += persist.sys.timezone=Asia/Shanghai PRODUCT_PROPERTY_OVERRIDES += ro.vendor.hdmirotationlock=true #PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=HDMI-A-1PRODUCT_PROPERTY_OVERRIDES += vendor.hwc.device.primary=DSI+PRODUCT_PROPERTY_OVERRIDES += persist.sys.def_launherpag=com.mdptech.neuronappandroidhu
包名命令行方式查看:pm list package -3,修改后 make 編譯源碼即可。
&i2c3 { status = "okay"; //是該設(shè)備的標(biāo)簽(label),用于在設(shè)備樹的其他部分或內(nèi)核代碼中引用這個設(shè)備。表示這個設(shè)備在I2C總線上的地址是0x14 gt911@14 { //設(shè)備型號,通過設(shè)備型號去尋找對應(yīng)的驅(qū)動程序 compatible = "goodix,gt9xx"; //設(shè)備物理地址 reg = <0x14>; //客戶端 //引腳的復(fù)用(pinctrl子系統(tǒng)) pinctrl-names = "default"; //pinctrl-0對應(yīng)defualt狀態(tài),<&touch_gpio>節(jié)點,此節(jié)點存放的對應(yīng)狀態(tài)的引腳配置 pinctrl-0 = <&touch_gpio>; //觸摸屏的中斷GPIO,使用GPIO0的第6引腳(RK_PB6),觸發(fā)類型為低電平觸發(fā) goodix_irq_gpio = <&gpio0 RK_PB6 IRQ_TYPE_LEVEL_LOW>; //觸摸屏控制器的GPIO,使用GPIO的第5引腳(RK_PB5),復(fù)位信號為高電平觸發(fā) goodix_rst_gpio = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; touchscreen-swapped-x-y; touchscreen-inverted-y; status = "okay"; };};//編寫pinctrl節(jié)點&pinctrl { //服務(wù)端 touch { touch_gpio: touch-gpio { //rockchip,pins屬性代表著引腳的復(fù)用關(guān)系以及電氣屬性 rockchip,pins = //將GPIO 0中的B6設(shè)置為了GPIO功能,RK_FUNC_GPIO是一個宏,設(shè)置電氣屬性 <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; }; };};
compatible屬性也叫”兼容性“屬性,compatible屬性用于將設(shè)備和驅(qū)動進(jìn)行匹配,匹配成功以后會執(zhí)行驅(qū)動中的probe函數(shù)。
static const struct of_device_id goodix_match_table[] = { {.compatible = "goodix,gt9xx",}, { },};
如果需要具體搜索函數(shù)時,可以通過命令:grep "goodix,gt9xx" -Rin,結(jié)果如下圖所示:
<&gpio0 RK_PB6 IRQ_TYPE_LEVEL_LOW>
對應(yīng)原理圖:
查看gt911規(guī)格書可得到中斷的觸發(fā)方式為低電平觸發(fā),如下圖所示
<&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>
對應(yīng)原理圖:
開發(fā)板原理圖鏈接:
https://3mw.cn/52g45
EVB3562 購買鏈接
https://item.taobao.com/item.htm?ft=t&id=739666345147
END