[ 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 };
---------------------------------------------