最近有个需求,动态修改频率,小看了一下,验证了几个猜想:
在i2c-imx.c中,probe函数里的pdev->id就是bus number
而频率的设置在i2c_imx_start这个函数的
if (pdata && pdata->bitrate)
i2c_imx_set_clk(i2c_imx, pdata->bitrate);
else
i2c_imx_set_clk(i2c_imx, IMX_I2C_BIT_RATE);
而最初的pdata->bitrate则是在board-mx6q_sabresd.c中
static struct imxi2c_platform_data mx6q_sabresd_i2c_data = {
.bitrate = 200000,
};这里设置了,记录一下,以后方便寻找