Hi,
We are trying to configure additional I2c interface (I2c-5) on WP7608. We have done following changes (using I2c-4 config as reference ) in device tree files using GPIO-10 and GPIO-11. We are able to detect /dev/I2c-5 but unable to see any transition on clock signal.
Please refer following changes in device tree config and dmesg logs for reference.
mdm9607.dtsi :
aliases {
/* smdtty devices */
smd7 = &smdtty_data1;
smd8 = &smdtty_data4;
smd9 = &smdtty_data2;
smd10 = &smdtty_data3;
smd11 = &smdtty_data11;
smd21 = &smdtty_data21;
smd36 = &smdtty_loopback;
/* spi device */
spi1 = &spi_1;
i2c4 = &i2c_4;
**i2c5 = &i2c_5;**
sdhc2 = &sdhc_2; /* SDC2 SD card slot */
};
**Added following block to above file :**
**i2c_5: i2c@78b9000** { /* BLSP1 QUP4 */
compatible = "qcom,i2c-msm-v2";
#address-cells = <1>;
#size-cells = <0>;
reg-names = "qup_phys_addr";
**reg = <0x78b9000 0x600>;**
interrupt-names = "qup_irq";
interrupts = <0 99 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_qup5_i2c_apps_clk>;
pinctrl-names = "i2c_active", "i2c_sleep";
**pinctrl-0 = <&i2c_5_active>;**
** pinctrl-1 = <&i2c_5_sleep>;**
qcom,noise-rjct-scl = <0>;
qcom,noise-rjct-sda = <0>;
qcom,master-id = <86>;
**dmas = <&dma_blsp1 10 64 0x20000020 0x20>,**
** <&dma_blsp1 11 32 0x20000020 0x20>;**
dma-names = "tx", "rx";
status = "disabled";
};
mdm9607-pinctrl.dtsi :
Added following block to above file.
i2c_5 {
i2c_5_active: i2c_5_active {
/* active state */
mux {
pins = "gpio10", "gpio11";
function = "blsp_i2c5";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-disable;
};
};
i2c_5_sleep: i2c_5_sleep {
/* suspended state */
mux {
pins = "gpio10", "gpio11";
function = "gpio";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-pull-down;
};
};
};
mdm9607-wp76xx.dtsi :
Added following block to above file.
&i2c_5 {
/* reduce bus frequency as a workaround for MCU ROM boot loader */
qcom,clk-freq-out = <100000>;
/* Increase clock high width from 3.4ns to 4.6ns to meet I2C spec */
qcom,fs-clk-div = <100>;
qcom,high-time-clk-div = <86>;
status = "ok";
};
**Please find following logs for your reference :**
root@RelySys:~# i2cdetect -y -r 5
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
Attaching dmesg logs for your reference.dmesg.txt (91.8 KB)