【Android驱动】一个i2c问题 ,TIMEOUT_ERROR(val:510msec) misconfigured GPIO or slave pulling bus line(s) low

 

    
[    1.921325] i2c-msm-v2 78b9000.i2c: msm_bus_scale_register_client(mstr-id:86):0x8 (ok)
[    1.923189] [<c073bedc>] (himax_chip_common_probe) from [<c074c8e8>] (i2c_device_probe+0xcc/0x110)
[    1.923236] [<c074c8e8>] (i2c_device_probe) from [<c05b366c>] (driver_probe_device+0x130/0x354)
[    1.923449] [<c05b4470>] (driver_register) from [<c074b424>] (i2c_register_driver+0x40/0xdc)
[    1.923494] [<c074b424>] (i2c_register_driver) from [<c0139960>] (async_run_entry_fn+0x88/0x190)
[    1.924601] [<c073bedc>] (himax_chip_common_probe) from [<c074c8e8>] (i2c_device_probe+0xcc/0x110)
[    1.924646] [<c074c8e8>] (i2c_device_probe) from [<c05b366c>] (driver_probe_device+0x130/0x354)
[    1.924855] [<c05b4470>] (driver_register) from [<c074b424>] (i2c_register_driver+0x40/0xdc)
[    1.924900] [<c074b424>] (i2c_register_driver) from [<c0139960>] (async_run_entry_fn+0x88/0x190)

[    2.310223] i2c-msm-v2 78b5000.i2c: TIMEOUT_ERROR(val:510msec) misconfigured GPIO or slave pulling

 bus line(s) low\x0a: msgs(n:2 cur:0 tx) bc(rx:1 tx:1) mode:FIFO slv_addr:0x30 

MSTR_STS:0x08132100 OPER:0x00000010

[    2.420109] i2c-msm-v2 78b5000.i2c: bus lines held low by a slave detected
[    2.420142] i2c-msm-v2 78b5000.i2c: Executing bus recovery procedure (9 clk pulse)
[    2.429284] i2c-msm-v2 78b5000.i2c: Bus recovery success after 1 retries

8909调sensor出现的,TIMEOUT_ERROR(val:510msec) misconfigured GPIO or slave pulling bus line(s) low:

              这个看起来是说GPIO配置错误或者是从机拉低总线。

1. 实际操作dtsi检查并写对了,还是报错。

2.换不同的sensor软件调试,依旧报错,报错的sensor地址会改变。

3.换一个简单的地磁传感器,传感器只有两个电和i2c。所以不会有gpio配置错误的问题。

3.然后换了个机器就好了,下载同一个boot,sensor正常。

因为是整机调试,没有量i2c。这应该是硬件损坏导致i2c被拉低。

-----------------------------------------

dtsi我也检查了,公司dtsi用的是别人公司提供的SDK,里面写的真是乱啊,一个sensor的写的到处都是,qrd-skua.dtsi, qrd-skue.dtsi搞这么多做什么,dsti也没有什么规则,引用节点就行了,想尼玛写在哪个文件写哪个文件。搞这么多dtsi又不分类,又不想camera dsti一样专门有什么意义呢,很影响分析判断,无力吐槽。。。。。总觉得linux把dsti从驱动抽离出来,但是dsti规则松散,最后在dtsi中还是乱糟糟

----------------------------------------

 

这个记一下:
    tlmm_pinmux: pinctrl@100000                //android5.1
    msm_gpio: pinctrl@1000000                 //android8.1
    tlmm: pinctrl@1000000                    //android9
 
引用gpio口的, 这个就是一个东西吗,非要改个名字...
-----------------------------------------
默认电平控制:
-----------------------------------------
379 &msm_gpio {
380 
381     bma2x2_int1_pin {
382         bma2x2_int1_default: int1_default {
383             mux {
384                 pins = "gpio96";
385                 function = "gpio";
386             };
387             config {
388                 pins = "gpio96";
389                 drive-dtrength = <6>;
390                 bias-pull-up;
391             };
392         };
393     };
394 
395     bma2x2_int2_pin {
396         bma2x2_int2_default: int2_default {
397             mux {
398                 pins = "gpio65";
399                 function = "gpio";
400             };
401             config {
402                 pins = "gpio65";
403                 drive-dtrength = <6>;
404                 bias-pull-up;
405             };
406         };
407     
---------------------------------------------
411 &msm_gpio {
412      bma2x2_int1_pin {
413         qcom,pins = <&msm_gpio 96>;
414         qcom,num-grp-pins = <1>;
415         label = "bma2x2_int1_pin";
416         bma2x2_int1_default: int1_default {
417             drive-strength = <6>;
418             bias-pull-up;
419         };
420     };
421 
422     bma2x2_int2_pin {
423         qcom,pins = <&msm_gpio 65>;
424         qcom,num-grp-pins = <1>;
425         label = "bma2x2_int2_pin";
426         bma2x2_int2_default: int2_default {
427             drive-strength = <6>;
428             bias-pull-up;
429         };
430     };
431 };
---------------------------------------------

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值