I read some threads here about I2C but couldn't found solution. The main issue is, I can't see anything toggling at the clock and data pin
1)
I Linux kernel I enabled the Cadence I2C (this addresses the two fixed built-in interfaces, right?). To be sure I also enabled Xilinx I2C Controller - does this disturbes something?
2)
In devicetree for some reason I found
ttps7_i2c_0: ps7-i2c@e0004000 { compatible = "invalid"; };
ttps7_i2c_1: ps7-i2c@e0005000 { compatible = "invalid"; };
Seems that this has to be commented out, as it otherwise will not work, right?
3) This I left unchanged, mainly because I didn't get the meaning:
ttps7_i2c_0: ps7-i2c@e0004000 {
tttbus-id = <0>;
tttclocks = <&clkc 38>;
tttcompatible = "cdns,i2c-r1p10", "xlnx,ps7-i2c-1.00.a";
tttinterrupt-parent = <&ps7_scugic_0>;
tttinterrupts = <0 25 4>;
tttreg = <0xe0004000 0x1000>;
ttti2c-clk = <400000>;
ttt#address-cells = <1>;
ttt#size-cells = <0>;
ttt};
Do I have to add a device here?
4)
In Vivado I customized I2C-0 to EMIO, make it external
5)
Connected in Package Pin to Bank 35, I2C clock to J14 (JH2 at carrier card), Data to G15. (SPI at same bank works fine).
6)
Booting that gives me:
root@uzed:~# i2cdetect -l
i2c-0 i2c Cadence I2C at e0004000 I2C adapter
i2c-1 i2c Cadence I2C at e0005000 I2C adapter
But I can't see anything at the Pins.
i2cdetect -r 0 just gives timeouts.
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0 using read byte commands.
I will probe address range 0x03-0x77.
Continue? [Y/n] y
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [ 2460.945542] cdns-i2c e0004000.ps7-i2c: timeout waiting on completion
-- [ 2461.945541] cdns-i2c e0004000.ps7-i2c: timeout waiting on completion
-- [ 2462.945546] cdns-i2c e0004000.ps7-i2c: timeout waiting on completion
What might go wrong here?