I2c problem with wp7607-1


#1

after some updates, i2c fails to start,
recovering to original binaries didn’t help
I’ve tried releases 7,8 and 9

it looks like dtb was broken

  • where is it stored ?
  • how to download only dtb?

maybe the problem is somwhere else…

root@swi-mdm9x28:~# dmesg |grep i2c
[ 0.367220] swimcu_i2c_init: start
[ 0.369950] i2c-msm-v2 78b8000.i2c: probing driver i2c-msm-v2
[ 0.370188] i2c-msm-v2 78b8000.i2c: msm_bus_scale_register_client(mstr-id:86):0 (not a problem)
[ 0.371635] swimcu_i2c_probe: start 1
[ 0.372197] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(r
x:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x081343c8 OPER:0x00000090
[ 0.424975] wm8944_i2c_probe
[ 0.940024] i2c-core: driver [tabla-i2c-core] using legacy suspend method
[ 0.940035] i2c-core: driver [tabla-i2c-core] using legacy resume method
[ 0.940347] i2c-core: driver [wcd9xxx-i2c-core] using legacy suspend method
[ 0.940358] i2c-core: driver [wcd9xxx-i2c-core] using legacy resume method
[ 0.940497] i2c-core: driver [tasha-i2c-core] using legacy suspend method
[ 0.940507] i2c-core: driver [tasha-i2c-core] using legacy resume method
[ 1.038998] i2c /dev entries driver
[ 10.451000] i2c-msm-v2 78b8000.i2c: msm_bus_scale_register_client(mstr-id:86):0xa (ok)
[ 10.458225] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(r
x:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x001363c8 OPER:0x00000090
[ 22.630766] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(r
x:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x001363c8 OPER:0x00000090
[ 27.711794] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(r
x:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x0d1343c8 OPER:0x00000090
[ 418.899390] i2c-msm-v2 78b8000.i2c: NACK: slave not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(r
x:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x0c1300c8 OPER:0x00000090
root@swi-mdm9x28:~# dmesg |grep DT
[ 1.041271] unable to find DT imem DLOAD mode node
[ 1.045327] unable to find DT imem EDLOAD mode node
[ 1.050292] unable to find DT imem dload-type node
[ 21.831343] msm-dai-stub-dev soc:qcom,msm-dai-stub:qcom,msm-dai-stub-dtmf-tx: ASoC: no sink widget found fo
r STUB_DTMF_TX
[ 21.898038] msm-dai-stub-dev soc:qcom,msm-dai-stub:qcom,msm-dai-stub-dtmf-tx: ASoC: Failed to add route DTM
F TX -> direct -> STUB_DTMF_TX
root@swi-mdm9x28:~# dmesg |grep of_
[ 0.230014] __of_mpm_init(): MPM driver mapping exists
[ 0.364218] of_get_named_gpiod_flags: parsed ‘wake-n-gpio’ property of node ‘/soc/sierra_gpio_wake_n[0]’ -
status (0)
[ 0.365562] of_get_named_gpiod_flags: can’t parse ‘gpio’ property of node ‘/soc/sdcard_ext_vreg[0]’
[ 0.366060] of_get_named_gpiod_flags: can’t parse ‘gpio’ property of node ‘/soc/rome_vreg[0]’
[ 0.366509] of_get_named_gpiod_flags: can’t parse ‘gpio’ property of node ‘/soc/emac_lan_vreg[0]’
[ 0.367594] of_get_named_gpiod_flags: parsed ‘qcom,gpio-connect’ property of node ‘/soc/wcd9xxx-irq[0]’ - s
tatus (0)
[ 0.649100] of_get_named_gpiod_flags: parsed ‘qcom,gpio-proxy-unvote’ property of node ‘/soc/qcom,mss@40800
00[0]’ - status (-517)
[ 0.650942] of_get_named_gpiod_flags: can’t parse ‘qcom,tx-gpio’ property of node ‘/soc/uart@78b0000[0]’
[ 0.650971] of_get_named_gpiod_flags: can’t parse ‘qcom,rx-gpio’ property of node ‘/soc/uart@78b0000[0]’
[ 0.650990] of_get_named_gpiod_flags: can’t parse ‘qcom,cts-gpio’ property of node ‘/soc/uart@78b0000[0]’
[ 0.651010] of_get_named_gpiod_flags: can’t parse ‘qcom,rfr-gpio’ property of node ‘/soc/uart@78b0000[0]’
[ 0.939731] of_get_named_gpiod_flags: parsed ‘sfpr-gpio’ property of node ‘/soc/sierra_safe_pwr_remove[0]’

  • status (0)
    [ 0.989711] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-clk’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989729] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-miso’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989741] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-mosi’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989752] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-cs0’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989763] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-cs1’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989774] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-cs2’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.989785] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-cs3’ property of node ‘/soc/spi@78b6000[0]’
    [ 0.994792] of_get_named_gpiod_flags: can’t parse ‘qcom,hub-reset-gpio’ property of node ‘/soc/usb@78d9000[
    0]’
    [ 0.994806] of_get_named_gpiod_flags: can’t parse ‘qcom,usbeth-reset-gpio’ property of node ‘/soc/usb@78d90
    00[0]’
    [ 0.994819] of_get_named_gpiod_flags: can’t parse ‘qcom,sw-sel-gpio’ property of node ‘/soc/usb@78d9000[0]’
    [ 0.994871] of_get_named_gpiod_flags: parsed ‘qcom,usbid-gpio’ property of node ‘/soc/usb@78d9000[0]’ - sta
    tus (0)
    [ 0.994892] of_get_named_gpiod_flags: can’t parse ‘qcom,hsusb-otg-vddmin-gpio’ property of node ‘/soc/usb@7
    8d9000[0]’
    [ 0.999911] of_get_named_gpiod_flags: can’t parse ‘hsic,strobe-gpio’ property of node ‘/soc/hsic_host@7c000
    00[0]’
    [ 0.999927] of_get_named_gpiod_flags: can’t parse ‘hsic,data-gpio’ property of node ‘/soc/hsic_host@7c00000
    [0]’
    [ 0.999939] of_get_named_gpiod_flags: can’t parse ‘hsic,resume-gpio’ property of node ‘/soc/hsic_host@7c000
    00[0]’
    [ 1.032606] of_get_named_gpiod_flags: can’t parse ‘hsic,swi_reset_gpio’ property of node ‘/soc/hsic_host@7c
    00000[0]’
    [ 1.039961] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/pps[0]’ - status (0)
    [ 1.079545] of_get_named_gpiod_flags: can’t parse ‘qcom,gpio-mode-sel’ property of node '/soc/usb_detect[0]

    [ 1.090966] of_get_named_gpiod_flags: can’t parse ‘cd-gpios’ property of node ‘/soc/sdhci@07864900[0]’
    [ 1.168887] of_get_named_gpiod_flags: parsed ‘qcom,gpio-proxy-unvote’ property of node ‘/soc/qcom,mss@40800
    00[0]’ - status (0)
    [ 1.169640] of_get_named_gpiod_flags: parsed ‘qcom,gpio-err-fatal’ property of node ‘/soc/qcom,mss@4080000[
    0]’ - status (0)
    [ 1.169660] of_get_named_gpiod_flags: parsed ‘qcom,gpio-err-ready’ property of node ‘/soc/qcom,mss@4080000[
    0]’ - status (0)
    [ 1.169676] of_get_named_gpiod_flags: parsed ‘qcom,gpio-stop-ack’ property of node ‘/soc/qcom,mss@4080000[0
    ]’ - status (0)
    [ 1.169692] of_get_named_gpiod_flags: parsed ‘qcom,gpio-force-stop’ property of node ‘/soc/qcom,mss@4080000
    [0]’ - status (0)
    [ 1.169710] of_get_named_gpiod_flags: parsed ‘qcom,gpio-shutdown-ack’ property of node ‘/soc/qcom,mss@40800
    00[0]’ - status (0)
    [ 1.184632] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/qcom,smp2pgpio_test_smp2p_15_in
    [0]’ - status (0)
    [ 1.184707] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/qcom,smp2pgpio_test_smp2p_15_ou
    t[0]’ - status (0)
    [ 1.184767] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/qcom,smp2pgpio_test_smp2p_1_in[
    0]’ - status (0)
    [ 1.184828] of_get_named_gpiod_flags: parsed ‘gpios’ property of node ‘/soc/qcom,smp2pgpio_test_smp2p_1_out
    [0]’ - status (0)
    root@swi-mdm9x28:~#

root@swi-mdm9x28:~# cm info
Device: WP7607-1
IMEI: 359780080100138
IMEISV: 4
FSN: VP737670061102
Firmware Version: SWI9X07Y_02.16.02.00 000000 jenkins 20 418.899390] i2c-msm-v2 78b8000.i2c: NACK: slave
not responding, ensure its powered: msgs(n:1 cur:0 tx) bc(rx:0 tx:2) mode:FIFO slv_addr:0x3a MSTR_STS:0x0c130
0c8 OPER:0x00000090
04/19 19:59:02
Bootloader Version: SWI9X07Y_02.16.02.00 000000 jenkins 2018/04/19 19:59:02
MCU Version: 002.009
PRI Part Number (PN): 9907364
PRI Revision: 001.000
Carrier PRI Name: GENERIC
Carrier PRI Revision: 002.032_000
SKU: 1103529
Last Reset Cause: Reset, User Requested
Resets Count: Expected: 9 Unexpected: 0
root@swi-mdm9x28:~# legato version
18.03.0_b463e04cf08fb8d8f1ea5ee00d7894c0


#2

What is the FW version of module & MCU?


#3

LChing,

When you say what is the firmware and MCU version what do you mean? The MCU version is the configurable cortex M3 which in the example given is at version 2.009 and the firmware version is the signalling stack version of code which in the case given is generically referred to as 2.16.02.00.

Regards

Matt


#4

Matt

I have a similar I2C problem in before.
However it become normal after upgrade FW.
After that I found the FW of MCU has been changed too.

So I interest to know more FW ver. of modem & MCU on I2C.

BR


#5

The MCU is configurable only for low power operation/wake up, it is not programmable.

Regards

Matt


#6

Matt

Baseband chip is using I2C to communicate MCU.
for example, wake up source of ULPM define.

I guess I2C problem may be related to MCU(it is my worry only).

BR