Firefly开源社区

I2C4 添加设备 读写失败

34

积分

0

威望

0

贡献

游客

积分
34
发表于 2017-2-25 11:42:17     
参考wiki 在I2C4 上添加了个设备,dts 配置如下,i2c_add_driver返回值也是0,;开机后,用i2cdetect -y 4,检测出0x36位置显示"UU";
但是执行读写操作时,返回-6,(
No such device or address );求大神
&i2c4 {
        status = "okay";
        dlpc34@36 {
                compatible = "dlpc34";
                //gpio-sw = <&gpio7 GPIO_D3 GPIO_ACTIVE_LOW>;
                reg = <0x36>;
       };
};
代码:
static const struct i2c_device_id dlpc34_id[] = {
        { "dlpc34", 0 },
        { }
};
MODULE_DEVICE_TABLE(i2c, dlpc34_id);

static const struct of_device_id dlpc34_of_match[] = {
        { .compatible = "dlpc34" },
        {}
};


static struct i2c_driver dlpc34_driver = {
        .driver                = {
                .name        = "dlpc34",
                .owner        = THIS_MODULE,
                .of_match_table = of_match_ptr(dlpc34_of_match),
        },
        .probe                = dlpc34_probe,
        .remove                = dlpc34_remove,
        .id_table        = dlpc34_id,
};

module_i2c_driver(dlpc34_driver);

回复

使用道具 举报

34

积分

0

威望

0

贡献

游客

积分
34
发表于 2017-2-25 11:48:10     
另外,检测SCL SDA是有信号的,芯片资料,是低速设备,我scl_rate设置的50*1000;
I 2 C interface ports support 100-kHz baud rate. By definition, I 2 C transactions operate at the
speed of the slowest device on the bus, thus there is no requirement to match the speed grade of all devices in
the system.
回复

使用道具 举报

34

积分

0

威望

0

贡献

游客

积分
34
发表于 2017-2-27 19:32:06     
结贴,原因:芯片读操作和标准的有差异!文档没看仔细;按照标准linux读写出现错误!
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表