5.常见i2c地址_修改i2c速率

  1. 一、 如何修改i2c 速率  
  2.     1. 在设备驱动代码中i2c_probe(),添加:  
  3.         spin_lock(&kdsensor_drv_lock);  
  4.         g_pstI2Cclient->timing = i2cSpeed;    // 遇到过摄像头读不到id: 300 -> 100  
  5.         spin_unlock(&kdsensor_drv_lock);  
  6.   
  7.     2. 直接修改默认值:  
  8.         dtsi:  
  9.         i2c2:i2c@11009000 {  
  10.             compatible = "mediatek,mt6735m-i2c";  
  11.             cell-index = <2>;  
  12.             reg = <0x11009000 0x1000>;  
  13.             interrupts = ,  
  14.                         ;  
  15.             def_speed = <100>;        // 修改为300khz -> 没有生效  
  16.         };  
  17.       
  18.         如果大于400,需要修改出错判断条件:  
  19.         kernel/driver/i2c/busses/i2c-qup.c  
  20.         qup_i2c_probe()  
  21.             of_property_read_u32(node, "clock-frequency", &clk_freq);  
  22.             if (!clk_freq || clk_freq > 400000) {    /* We support frequencies up to FAST Mode (400KHz) */  
  23.                 dev_err(qup->dev, "clock frequency not supported %d\n",  
  24.                     clk_freq);  
  25.             }  
  26.   
  27. 1. tp  
  28.     GT5668        0x5d    (0xba>>1)  
  29.     GT9XX        0x5d    (0xba>>1)  
  30.     ft6xx6_ges    0x38    (0x70>>1)  
  31.     gsl915        0x40  
  32.     hxchipset    0x48  
  33.     icn85xx        0x48    (0x90>>1)  
  34.     mstar_22xx    0x26    (0x4c>>1)  
  35.     mstar_2256    0x26    (0x4c>>1)  
  36.       
  37. 2. gsensor  
  38.     mxc4005        0x15  
  39.     mxc6255        0x15  
  40.     mc3433        0x4c  
  41.     qma6981        0x12  
  42.     bmc156        0x10  
  43.     icm-20608d(mpu6050) 0x69
  44.       
  45. 3. alsps  
  46.     ap3426        0x1e  
  47.     epl259x        0x49  
  48.     stk3x1x        0x48  
  49.       
  50. 4. magnetometer  
  51.     bmc156        0x12  
  52.     mmc3524x    0x0d  
  53.     mmc5603x    0x30
  54.       
  55. 5. gyroscope  
  56.     bmg160        0x69  
  57.  icm-20608d(mpu6050) 0x69

你可能感兴趣的:(sensor)