Linux GPIO口配置衝突導致問題

2021-09-19 22:51:15 字數 2307 閱讀 1924

在裝置進行休眠時,休眠成功後被喚醒,檢視休眠gpio口被拉高,排除微控制器拉高的可能,列印如下:

suspend: set mcu wakeup(pin2) to high level 休眠下去

detect usb vbus is:0(off) 關vbus

msm_hsusb msm_hsusb: ci13***_controller_disconnect_event received

android_work: android_work: did not send uevent (0 0 (null))

mmc1: card 0001 removed

blk_update_request: i/o error, dev mmcblk0, sector 0

sdhci_msm 7864900.sdhci: card claims to support voltages below defined range

mmc1: error -110 whilst initialising sdio card

sdhci_msm 7864900.sdhci: card claims to support voltages below defined range

blk_update_request: i/o error, dev mmcblk0, sector 0

mmc1: mmc_init_card: mmc_send_op_cond() fails -110

mmc1: error -110 whilst initialising mmc card

這裡電平被拉進行異常喚醒

detect usb vbus is:1(on)

msm_hsusb msm_hsusb: ci13***_controller_reset_event received

msm_hsusb msm_hsusb: ci13***_controller_connect_event received

suspend: set mcu wakeup(pin2) to low level 喚醒上來

mmc1: out-of-interrupt timeout is 100[ms]

mmc1: bkops_en equals 0x2

mmc1: emmc fw version: 0x37

mmc1: cmdq supported: depth: 32

mmc1: cache barrier support 1 flush policy 1

mmc1: new hs200 mmc card at address 0001

mmc1: -524: cmdq: unable to set-up

mmcblk0: mmc1:0001 dg4008 7.28 gib

mmcblk0: p1

mdm9607-asoc-snd soc:sound: asoc: codec dai quec-stub-rx name: quec-stub-codec.2-0001, not registered

qcmap:bringup v6

ext4-fs (mmcblk0p1): recovery complete

ext4-fs (mmcblk0p1): mounted filesystem with ordered data mode. opts: nodelalloc,barrier=1,journal_checksum,noauto_da_alloc

1、懷疑是wifi在polling時進行異常喚醒,驗證:

echo 0 > /sys/devices/7864900.sdhci/polling 無改善

2、懷疑是加了gbtest影響休眠,驗證:

cat /sys/module/usb_storage/parameters/gbtest n 預設關閉無影響

3、回退git版本驗證:

+# config_leds_andromeda is not set 有影響,檢視**編譯進andromeda_leds,繼續**與dtsi中檢視gpio衝突管腳:

檢視andromeda-leds.c原始碼

.name = "codec_pwr",

.gpio = 11, 【衝突】

檢視dtsi

sleep_ind_active: sleep_ind_active ;

明顯衝突,需要加巨集控制不編譯

andromeda-leds中的codec_pwr gpio口與sleep口11衝突,導致codec有訊號時會影響休眠成功後被馬上喚醒。

熟悉休眠喚醒流程,找到問題原因,杜絕不規範配置gpio口導致的衝突難排查問題。

app中module導包衝突解決

1 專案引入v4包和v7包,因為v7包裡面包含了v4包,所以導致衝突 解決方案 exclude module support v4 預設情況下v7中是包含v4包的,exclude 的意思就是從v7包中去除v4包這樣就可以解決衝突 2 引入的module中有v4包,然後主module又有v4包,如果你...

初學Zigbee IO口配置

我在寫這篇文章的時候依然是乙個小白。關於在學習zigbee所用到的cc2530這塊晶元,在一開始我就打算通過幾個基礎實驗的例子來熟悉zigbee的程式設計方式。然而對於沒有接觸過51之類的我來說還是有很大難度的,在第乙個基礎實驗點亮第乙個燈的時候就對於一些什麼暫存器啊什麼io口一頭霧水。在幾經周折之...

華為映象口配置教程

交換機型別 華為交換機 方法步驟1 埠對埠,乙個映象口對應乙個被映象口。將映象埠ge0 0 2入方向的報文 即接收到的報文 複製到觀察埠ge0 0 1上。1.配置埠對埠映象 observe port 1 inte ce gigabitethernet 0 0 1 port mirroring to ...