全志T507_Linux_應(yīng)用筆記之GPIO接口合集

原創(chuàng) 2023-08-07 11:27:00

本文主要適用于飛凌 OKT507-C 平臺 Linux4.9.170 操作系統(tǒng),其他平臺也可以參考,但是不同平臺之間會存在差異,需客戶自行修改以適應(yīng)自己的使用。

一、uboot 階段的 GPIO 配置方法

如果您需要在 uboot 階段設(shè)置 GPIO 輸出高低電平,可以在設(shè)備樹中進行配置,可參考飛凌的 LVDS的電源引腳。

目前支持 gpio0-gpio31 共計 32 個引腳進行配置。關(guān)于 pinctrl 的含義請參考網(wǎng)盤資料\原廠資料目錄的《T507_pinctrl 接口使用說明文檔.pdf》。

二、內(nèi)核階段的 GPIO 配置方法

以用于 UART5_TX 的 PH2 引腳為例,做一下 gpio 配置的介紹。

1、關(guān)閉所使用引腳默認(rèn)配置的功能:

修改設(shè)備樹,將 PH2 原功能關(guān)閉后,該引腳可用作普通 GPIO。
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1.dtsi

2、測試方法

計算 gpio 對應(yīng)引腳的數(shù)值=(n-1)*32+x
(設(shè) A 為 1,B 為 2,以此類推,PH2 中 H 對應(yīng)的是 8,x 表示 2)

PH2 對應(yīng)的數(shù)值為:(8-1)x32+2=226

?PH2 設(shè)置為輸出:

echo 226 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio226/direction
echo 1 > /sys/class/gpio/gpio226/value    //此時用萬用表測 PH2 引腳的電壓,應(yīng)該為高電平

echo 0 > /sys/class/gpio/gpio226/value    //此時用萬用表測 PH2 引腳的電壓,應(yīng)該為低電平

?PH2 設(shè)置為輸入:
echo 226 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio226/direction    //設(shè)置為輸入模式
?系統(tǒng)取消導(dǎo)出:
echo 226 > /sys/class/gpio/unexport

三、去掉 io 擴展芯片并保留擴展引腳功能的實現(xiàn)

擴展芯片上的 io 口被 wifi、藍(lán)牙、mipi 攝像頭 tp2854、dvp 攝像頭和 lineout 口電源使能引腳引用,若想保留這些功能,就要把這些引腳復(fù)用到核心板的引腳。

本文以選用開發(fā)板上 lcd 所用引腳為例,用戶可根據(jù)自己的實際情況選擇。關(guān)閉所用引腳使用的功能,將其配置到所用功能的設(shè)備樹中。方法參考如下:

1、選用引腳

2、關(guān)掉 gpio_ext 及復(fù)用引腳原來功能

修改設(shè)備樹,將 lcd 功能關(guān)閉后,該組引腳可用作普通 GPIO。
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C Common.dtsi
2.1 關(guān)掉 io 擴展芯片功能
因為擴展芯片已經(jīng)拆除,所以要關(guān)掉擴展芯片節(jié)點

2.2 關(guān)閉需要復(fù)用引腳功能

關(guān)閉 lcd 功能,本文以選用 lcd 上的引腳用作功能復(fù)用,用戶需根據(jù)實際情況關(guān)閉所用引腳功能。
lcd_used 改為 0

Lcd0 節(jié)點添加 status = “disabled”;

3、更改設(shè)備節(jié)點中引用的 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 共用一個 mipi 接口,兩個功能都用到了 MIPI_PWRDN 引腳,實際使用時只能選擇一種功能,因此本文在兩個功能測試時選的同一個引腳。

3.3 dvp-5640 引腳配置

3.4 wifi 引腳配置

3.5 藍(lán)牙引腳配置

3.6 音頻引腳

4、測試方法

測試方法參考《OKT507-C_Linux_用戶使用手冊》。

四、OKT507 增加 GPIO 按鍵

本文添加了兩個 GPIO 按鍵,以 PE5、PE6 兩個引腳為例,引腳選擇可參考用戶資料中的《FETT507-C引腳復(fù)用對照表.xlsx》。

1、GPIO 按鍵添加方法

1.1 添加內(nèi)核配置
注意:
客戶在進行配置前,需要對
OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/configs/sun50iw9p1smp_longan_defconfig 文件提前做好備份。
vi OKT507-linux-sdk/kernel/linux-4.9/.config
1.2 添加 key 節(jié)點
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi
其中按鍵鍵值設(shè)置如下。
相關(guān)鍵值可通過查看 input-event-codes.h 確定。
vi OKT507-linux-sdk/kernel/linux-4.9/include/uapi/linux/input-event-codes.h

1.3 添加引腳定義
vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi

1.4 關(guān)閉沖突功能

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/OKT507-C-Common.dtsi

vi OKT507-linux-sdk/kernel/linux-4.9/arch/arm64/boot/dts/sunxi/sun50iw9p1-pinctrl.dtsi
1.5 驅(qū)動修改
vi OKT507-linux-sdk/kernel/linux-4.9/drivers/input/keyboard/gpio_keys.c

2、測試方法

終端窗口輸入 evtest,選擇 7
本文所提供的所有服務(wù)內(nèi)容旨在協(xié)助用戶加速產(chǎn)品的研發(fā)進度,在服務(wù)過程中所提供的任何程序、文檔、測試結(jié)果、方案、支持等資料和信息,都僅供參考,用戶有權(quán)不使用或自行參考修改,不提供任何的完整性、可靠性等保證,若在用戶使用過程中因任何原因造成的特別的、偶然的或間接的損失,本公司不承擔(dān)任何責(zé)任。




相關(guān)產(chǎn)品 >

  • OKT507-C 開發(fā)板

    CPU: T507 工業(yè)級處理器,超低功耗,10年+生命周期|推薦全志工業(yè)級T507開發(fā)板系列,飛凌OKT507-C開發(fā)板采用全志T507 四核工業(yè)級處理器 T507設(shè)計開發(fā),Cortex-A53架構(gòu),工業(yè)級寬溫,性能強,低功耗,是一款高性價比的工業(yè)級產(chǎn)品,提供豐富的開發(fā)設(shè)計資料,提供產(chǎn)品規(guī)格書,軟硬件手冊等,全志的T507適用于車載電子、電力、醫(yī)療、工業(yè)控制、物聯(lián)網(wǎng)、智能終端等領(lǐng)域。

    了解詳情
    OKT507-C 開發(fā)板
  • FETT507-C核心板

    推薦T507,全志T507核心板采用工業(yè)級處理器設(shè)計開發(fā),提供T507規(guī)格書,T507各類設(shè)計資料。FETT507-C核心板集成全志T507四核工業(yè)級處理器設(shè)計開發(fā),Cortex-A53架構(gòu),主頻1.5GHz,集成G31 GPU,內(nèi)存2GB DDR3L,存儲8GB eMMC。整板工業(yè)級運行溫寬,支持絕大部分當(dāng)前流行的視頻及圖片格式解碼,具有穩(wěn)定可靠的工業(yè)級產(chǎn)品性能、低功耗以及豐富的用戶接口等優(yōu)勢,搭載Linux、Android、Ubuntu*操作系統(tǒng),適用于車載電子、電力、醫(yī)療、工業(yè)控制、物聯(lián)網(wǎng)、智能終端等領(lǐng)域 了解詳情
    FETT507-C核心板

推薦閱讀 換一批 換一批