Source-lib第三弹: i2c使用。
因为TQIMX6UL有两个 i2c,一个 i2c1空闲,一个i2c2用于电容屏触摸,rtc,声卡。
原理图如下:
在板子ls /dev/i2c* 发现只有一个i2c1,没有我们板子上这个驱动,查看设备树发现也没有。
自己移植吧.
在设备树中添加代码:
然后重新编译dtb。用命令make dtbs
然后把新的dtb更新到板子上。
再从新看下设备:
因为TQIMX6UL有两个 i2c,一个 i2c1空闲,一个i2c2用于电容屏触摸,rtc,声卡。
原理图如下:
在板子ls /dev/i2c* 发现只有一个i2c1,没有我们板子上这个驱动,查看设备树发现也没有。
自己移植吧.
在设备树中添加代码:
/* add by Sourcelink */
&i2c1 {
clock_frequency = <100000>;//ckk
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_i2c1>;
status = "okay";
};
/* add by Sourcelink */
pinctrl_i2c1: i2c1grp {
fsl,pins = <
MX6UL_PAD_CSI_MCLK__I2C1_SDA 0x4001b8b0
MX6UL_PAD_CSI_PIXCLK__I2C1_SCL 0x4001b8b0
>;
};
然后把新的dtb更新到板子上。
再从新看下设备: