615 void (*set_scl)(struct i2c_adapter *adap, int val); /*设置当前SCL线的电平状态,如果使用generic scl recovery,这个方法必须要指定 */ 616 int (*get_sda)(struct i2c_adapter *adap); /* 获得当前SDA线的电平状态,如果使用generic scl recovery,且配置了sda_gpiod属性,这个方法或者set_sda必须要...
if(adap->bus_recovery_info) { structi2c_bus_recovery_info*bri=adap->bus_recovery_info; if(!bri->recover_bus) { dev_err(&adap->dev,"No recover_bus() found, not using recovery\n"); adap->bus_recovery_info =NULL; gotoexit_recovery; } /* Generic GPIO recovery */ if(bri->recover...
dev_err(&adap->dev,"No recover_bus() found, not using recovery\n"); adap->bus_recovery_info =NULL;gotoexit_recovery; }/*Generic GPIO recovery*/if(bri->recover_bus ==i2c_generic_gpio_recovery) {if(!gpio_is_valid(bri->scl_gpio)) { dev_err(&adap->dev,"Invalid SCL gpio, not ...
if (adap->bus_recovery_info) { struct i2c_bus_recovery_info *bri = adap->bus_recovery_info; if (!bri->recover_bus) { dev_err(&adap->dev, "No recover_bus() found, not using recovery\n"); adap->bus_recovery_info = NULL; goto exit_recovery; } /* Generic GPIO recovery */ if...
/* Generic SCL recovery */ dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery "); adap->bus_recovery_info = NULL; } } exit_recovery: /* create pre-declared device nodes */ /*通过设备树节点注册所有该控制器下的所有从设备*/ ...
/* Generic SCL recovery */ dev_err(&adap-》dev, “No {get|set}_gpio() found, not using recovery ”); adap-》bus_recovery_info = NULL; } } exit_recovery: /* create pre-declared device nodes */ /*通过设备树节点注册所有该控制器下的所有从设备*/ ...
22 struct i2c_bus_recovery_info *bus_recovery_info; 23 }; 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 2.2 struct i2c_algorithm i2c_adapter是CPU集成或外接的I2C适配器,用来控制各种I2C从设备,其驱动需要完成对适配器的完整描述,最...
} /* Generic GPIO recovery */ if (bri->recover_bus == i2c_generic_gpio_recovery) { if (!gpio_is_valid(bri->scl_gpio)) { dev_err(&adap->dev, "Invalid SCL gpio, not using recovery\n"); adap->bus_recovery_info = NULL; goto exit_recovery; } if (gpio_is_valid(bri->sda_gpio...
当4412的I2C接口空闲时,它往往工作在从机模式。或者说,4412的的i2c接口在SDA线上察觉到一个起始信号之前它应该工作在从机模式。当控制器改变4412的i2c接口的工作模式为主机模式后,SDA线上发起数据传输并且控制器会产生SCL时钟信号。 开始条件通过SDA线进行串行的字节传输,一个停止信号终止数据传输,停止信号是指SCL在...
bri->get_scl) { /* Generic SCL recovery */ dev_err(&adap->dev, "No {get|set}_gpio() found, not using recovery\n"); adap->bus_recovery_info = NULL; } } exit_recovery: /* create pre-declared device nodes */ /*通过设备树节点注册所有该控制器下的所有从设备*/ of_i2c_register_...