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

本文介绍了如何修改I2C总线速率,包括在设备驱动代码中设置及修改DTSI配置,并列举了各类传感器如触摸屏、加速度计、磁力计和陀螺仪的常用I2C地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 如何修改i2c 速率
    1. 在设备驱动代码中i2c_probe(),添加:
        spin_lock(&kdsensor_drv_lock);
        g_pstI2Cclient->timing = i2cSpeed;    // 遇到过摄像头读不到id: 300 -> 100
        spin_unlock(&kdsensor_drv_lock);

    2. 直接修改默认值:
        dtsi:
        i2c2:i2c@11009000 {
            compatible = "mediatek,mt6735m-i2c";
            cell-index = <2>;
            reg = <0x11009000 0x1000>;
            interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_LOW>,
                        <GIC_SPI 101 IRQ_TYPE_LEVEL_LOW>;
            def_speed = <100>;        // 修改为300khz -> 没有生效
        };
    
        如果大于400,需要修改出错判断条件:
        kernel/driver/i2c/busses/i2c-qup.c
        qup_i2c_probe()
            of_property_read_u32(node, "clock-frequency", &clk_freq);
            if (!clk_freq || clk_freq > 400000) {    /* We support frequencies up to FAST Mode (400KHz) */
                dev_err(qup->dev, "clock frequency not supported %d\n",
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值