此文章來(lái)源于融創(chuàng)芯城(www.digiic.com)—— 半導(dǎo)體電子領(lǐng)域共享平臺(tái) 飛凌嵌入式推出的OKT507-C作為一款廣受歡迎的開發(fā)板擁有豐富的接口資源,而實(shí)際上OKT507-C的CPU引腳資源是比較緊缺的,那么它是如何實(shí)現(xiàn)這么豐富的接口資源呢? 答案就是飛凌使用了一個(gè)IO擴(kuò)展芯片——TCA6424A。這是一個(gè)24 位 I2C 和系統(tǒng)管理總線 (SMBus), 輸入輸出(I/O) 擴(kuò)展器有中斷輸出、復(fù)位和配置寄存器。
受當(dāng)前國(guó)際形勢(shì)的影響,芯片行業(yè)形勢(shì)非常嚴(yán)峻,為了滿足更多客戶需求,在降低成本的同時(shí)盡可能保留更多功能,飛凌為大家?guī)?lái)OKT507-C去掉IO擴(kuò)展芯片后保留擴(kuò)展引腳功能的實(shí)現(xiàn)的方法。
擴(kuò)展芯片上的IO口被WiFi、藍(lán)牙、MIPI攝像頭TP2854、DVP攝像頭和line-out口電源使能引腳引用,若想保留這些功能,就要使用核心板其他可復(fù)用為這些功能的引腳。
本文將選用開發(fā)板的LCD功能引腳來(lái)重新復(fù)用為這些功能,用戶可根據(jù)自己的實(shí)際功能需求情況選擇。方法參考如下:
1. 選用引腳
對(duì)應(yīng)功能引腳如下表所示:
2. 關(guān)掉gpio_ext及復(fù)用引腳原來(lái)功能
修改設(shè)備樹,將LCD功能關(guān)閉后,該組引腳即可用作普通的GPIO。修改路徑如下: vi OKT507-linux-sdk/kernel/linux4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi
2.1 關(guān)掉IO擴(kuò)展芯片功能
因?yàn)閿U(kuò)展芯片已經(jīng)拆除,所以要關(guān)掉擴(kuò)展芯片節(jié)點(diǎn)。
2.2 關(guān)閉需要復(fù)用引腳功能
關(guān)閉LCD功能,本文以選用LCD上的引腳用作功能復(fù)用,用戶需根據(jù)實(shí)際情況關(guān)閉所用引腳功能。
將lcd_used 改為 0
lcd0節(jié)點(diǎn)添加 status = “disabled”;
3. 更改設(shè)備節(jié)點(diǎn)中引用的GPIO
3.1 MIPI-5640引腳配置
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
3.2 TP2854引腳配置
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common-TP2854M.dtsi
需要注意的是,MIPI5640和TP2854共用一個(gè)MIPI接口,兩個(gè)功能都用到了MIPI_PWRDN引腳,實(shí)際使用時(shí)只能選擇一種功能,因此本文在兩個(gè)功能測(cè)試時(shí)選的同一個(gè)引腳。
3.3 DVP-5640引腳配置
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
3.4 WiFi引腳配置
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
3.5 藍(lán)牙引腳配置
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
3.6 音頻引腳
路徑如下:
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
以上就是OKT507-C開發(fā)板去掉IO擴(kuò)展芯片后保留擴(kuò)展引腳功能的實(shí)現(xiàn)的方法,具體的測(cè)試方式請(qǐng)參考 https://www.forlinx.com/ |