飛凌嵌入式推出的OKT507-C作為一款廣受歡迎的開發板擁有豐富的功能接口,而實際上OKT507-C開發板的CPU引腳資源是比較緊缺的,那么它究竟是如何提供如此豐富的接口資源的呢?答案就是IO擴展芯片——TCA6424A。
這是一個24 位 I2C 和系統管理總線 (SMBus), 輸入輸出(I/O) 擴展器有中斷輸出、復位和配置寄存器。為了滿足更多客戶需求,在降低成本的同時盡可能保留更多功能,飛凌嵌入式為大家提供了OKT507-C去掉IO擴展芯片后保留擴展引腳功能的實現的方法。
![]()
擴展芯片上的IO口被WiFi、藍牙、MIPI攝像頭TP2854、DVP攝像頭和line-out口電源使能引腳引用,若想保留這些功能,就要使用核心板其他可復用為這些功能的引腳。
本文將選用OKT507-C開發板的LCD功能引腳來重新復用為這些功能,用戶可根據自己的實際功能需求情況選擇。方法參考如下:
01選用引腳 對應功能引腳如下表所示:
![]()
02關掉gpio_ext及復用引腳原來功能 修改設備樹,將LCD功能關閉后,該組引腳即可用作普通的GPIO。修改路徑如下: vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi
1. 關掉IO擴展芯片功能 因為擴展芯片已經拆除,所以要關掉擴展芯片節點。
![]()
2. 關閉需要復用引腳功能 關閉LCD功能,本文以選用LCD上的引腳用作功能復用,用戶需根據實際情況關閉所用引腳功能。
將lcd_used 改為 0
![]()
lcd0節點添加 status = “disabled”;
![]()
03更改設備節點中引用的GPIO 1. MIPI-5640引腳配置 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
![]()
2. TP2854引腳配置 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi
![]()
需要注意的是,MIPI5640和TP2854共用一個MIPI接口,兩個功能都用到了MIPI_PWRDN引腳,實際使用時只能選擇一種功能,因此本文在兩個功能測試時選的同一個引腳。
3. DVP-5640引腳配置 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
![]()
4. WiFi引腳配置 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
![]()
5. 藍牙引腳配置 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
![]()
6. 音頻引腳 路徑如下: vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
![]()
以上就是OKT507-C開發板去掉IO擴展芯片后保留擴展引腳功能的實現的方法,本文使用的思路和方法僅供參考使用,其它Arm開發板雖然芯片不同,但思路和方法有很多的共性,希望對您在板卡的使用中能夠有所幫助。
|