如果还没有加载设备只是单纯看i2c通不通,可以用一下方法:
dts配置只使能i2c-2就可以
i2c_2: i2c@78b6000 { /* BLSP1 QUP4 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
reg-names = "qup_phys_addr";
reg = <0x78b6000 0x600>;
interrupt-names = "qup_irq";
interrupts = <0 96 0>;
qcom,clk-freq-out = <400000>;
qcom,clk-freq-in = <19200000>;
clock-names = "iface_clk", "core_clk";
clocks = <&clock_gcc clk_gcc_blsp1_ahb_clk>,
<&clock_gcc clk_gcc_blsp1_qup2_i2c_apps_clk>;
pinctrl-names = "i2c_active", "i2c_sleep";
pinctrl-0 = <&i2c_2_active>;
pinctrl-1 = <&i2c_2_sleep>;
qcom,noise-rjct-scl = <0>;
qcom,noise-rjct-sda = <0>;
qcom,master-id = <86>;
dmas = <&dma_blsp1 14 64 0x20000020 0x20>,
<&dma_blsp1 15 32 0x20000020 0x20>;
dma-names = "tx", "rx";
status = "okay";
/*SMI230_ACC@18{
compatible = "SMI230ACC";
gpio_irq = <34>;
interrupt-parent = <&tlmm_pinmux>;
gpio_irq = <&tlmm_pinmux 34 0x2002>;
reg = <0x18>;
};
SMI230_GYRO@68{
compatible = "SMI230GYRO";
gpio_irq = <74>;
reg = <0x68>;
};*/
系统启动后会在/dev中有i2c-2设备
/dev # ls i2c*
ls i2c*
i2c-2 i2c-4
示波器接上i2c-2时钟引脚,同时在命令行发数据
/dev # echo 0 >i2c-2
echo 0 >i2c-2
如果有波形,就说明i2c-2是通的