I had used i2c5(dp_aux_ch0_i2c) (pin:F51 F52) connecting an i2c device(lm75b) for HW configuration.
The device(i2c_lm75b) can be loaded properly,but when I try to open and read the lm75b device,it shows the i2c error message:
[ 103.052844] tegra-i2c 31b0000.i2c: pio timed out addr: 0x48 tlen:28 rlen:4
[ 103.052992] tegra-i2c 31b0000.i2c: --- register dump for debugging ----
[ 103.053120] tegra-i2c 31b0000.i2c: I2C_CNFG - 0x22c00
[ 103.053221] tegra-i2c 31b0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 103.053329] tegra-i2c 31b0000.i2c: I2C_FIFO_CONTROL - 0x0
[ 103.053436] tegra-i2c 31b0000.i2c: I2C_FIFO_STATUS - 0x800080
[ 103.053527] tegra-i2c 31b0000.i2c: I2C_MST_FIFO_CONTROL - 0x70000
[ 103.053629] tegra-i2c 31b0000.i2c: I2C_MST_FIFO_STATUS - 0x7c0000
[ 103.053727] tegra-i2c 31b0000.i2c: I2C_MST_PACKET_TRANSFER_CNT - 0x0
[ 103.053844] tegra-i2c 31b0000.i2c: I2C_INT_MASK - 0x7d
[ 103.053930] tegra-i2c 31b0000.i2c: I2C_INT_STATUS - 0x2
[ 103.054015] tegra-i2c 31b0000.i2c: i2c transfer timed out addr: 0x48
My device tree is configured as follows:
/ {
host1x {
status = "okay";
i2c@31b0000{
status = "okay";
i2c_lm75b@48 {
compatible = "i2c_lm75b";
reg = <0x48>;
};
};
};
};
I tried below in device tree:
/ {
host1x {
status = "ok";
dpaux@155c0000 {
compatible = "nvidia,tegra194-dpaux-padctl";
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dpaux0_default>;
dpaux0_default: pinmux@0 {
dpaux0_pins {
pins = "dpaux-0";
function = "i2c";
};
};
};
i2c@31b0000{
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dpaux0_default>;
i2c_lm75b@48 {
compatible = "i2c_lm75b";
reg = <0x48>;
};
};
};
};
Unfortunately,this time, the device(i2c_lm75b) cannot be loaded properly(I can’t find the i2c_lm75b device in the “/dev” directory),and it doesn’t work too.
I want to use i2c5(dp_aux_ch0_i2c) as i2c,how to set up i2c5(dp_aux_ch0_i2c) to make it work normally.
How do I check the configuration information of I2C5 to make sure that I2C5 is set to i2c mode.
Thanks.