高通LK中GPIO的配置和使用

2021-10-14 11:04:28 字數 1722 閱讀 7955

高通 lk中的gpio配置函式定義:

void gpio_tlmm_config(uint32_t gpio, uint8_t func,

uint8_t dir , uint8_t pull,

uint8_t drvstr, uint32_t enable)

#define gpio_config_addr(x) (tlmm_base_addr + (x)0x1000)

gpio_config_addr這個巨集定義是和下圖的位址一致的:0x01000000+ 0x1000n

即第n個gpio的位址是0x01000000+ 0x1000n

這個函式的功能是對gpio進行配置,其中第3個引數dir 是無效的。

這個函式是配置gpio腳的輸出高低或者輸入使能。

參考《80-np408-2x msm8909-msm8609-msm8209-msm8208-apq8009 hardware register description document for oems》

一般輸入是這麼配置的:

//config lcd glass id pin as input

gpio_tlmm_config(lcd_glass_gpio_id0, 0, gpio_input, gpio_no_pull, gpio_2ma, gpio_enable);

//wait for the configuration to complete. delay 5ms

//gpio_set(lcd_glass_gpio_id0, 1); //允許讀

mdelay(5);

lcd_glass_id0 = gpio_status(lcd_glass_gpio_id0);

一般輸出是這麼配置的:

gpio_tlmm_config(88, 0, gpio_output, gpio_pull_down, gpio_8ma, gpio_disable);

gpio_set(88, 0); //輸出低 bit1=0

或者gpio_set(88, 2); //輸出高 bit1=1

讀取gpio狀態:

#cat /sys/kernel/debug/gpio

gpios 0-112, platform/1000000.pinctrl, 1000000.pinctrl:

gpio0 : in 0 2ma no pull //輸入 功能是0(gpio) 上下拉能力

gpio1 : in 0 2ma no pull

gpio2 : in 0 2ma pull down

gpio3 : in 0 2ma pull down

gpio4 : out 2 8ma no pull //輸出

gpio5 : out 2 8ma no pull

高通平台在modem側讀取和設定GPIO狀態

高通msm8953平台有乙個需求 需要在modem側讀取和設定gpio狀態,這樣就可以識別不同的硬體版本,從而載入不同的射頻nv檔案。使用gpio134和gpio62來檢測不同硬體的上下拉來識別,如下圖 修改 begin stone added for gpio in dal apis includ...

MTK中GPIO的使用

一 gpio有關的函式 1 gpio modesetup 函式原型 void gpio modesetup kal uint16 pin,kal uint16 conf dada 功能 設定gpio的工作模式是作為gpio,還是作為專有功能介面。引數 pin gpio 的pin腳號,對應於原理圖上m...

高通培訓 Brew MP的安裝配置

安裝bmp7.6,7.8的版本目前還沒有除錯成功,安裝後還有一些問題。1.安裝adobe flash player 10 activex 2.安裝microsoft visual studio 2005,2008,or 2010.我安的是2005 3.安裝arm 2009q3 68 arm none...