I am trying to enable I2C-6 (DP0_AUX) on our custom baseboard. We are using several other I2C busses on the board which all work and we have 3v3 pullups on this bus.
From what I have read in the many forum posts, it seems that DP0_AUX cannot be set using the pinmux template (the xml file found in downloads). I have tried changing the the status of DP0_AUX_CH+ and DP0_AUX_CH- in the pinmux template however when i generate output files they are no different before and after these changes (comparing the dtsi files in my editor).
My method for detecting whether I2C 6 is up and running is to run
sudo i2cdetect -r -y 5, my current output is that the command freezes and then times out while trying to scan the bus:. This is the output from DMESG when the scan is running:
[ 89.420624] tegra-i2c 31b0000.i2c: pio timed out addr: 0x4 tlen:12 rlen:4
[ 89.427584] tegra-i2c 31b0000.i2c: — register dump for debugging ----
[ 89.434300] tegra-i2c 31b0000.i2c: I2C_CNFG - 0x22c00
[ 89.439397] tegra-i2c 31b0000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 89.446134] tegra-i2c 31b0000.i2c: I2C_FIFO_CONTROL - 0xe0
[ 89.451660] tegra-i2c 31b0000.i2c: I2C_FIFO_STATUS - 0x800080
[ 89.457428] tegra-i2c 31b0000.i2c: I2C_INT_MASK - 0x7d
[ 89.462581] tegra-i2c 31b0000.i2c: I2C_INT_STATUS - 0x2
[ 89.467814] tegra-i2c 31b0000.i2c: i2c transfer timed out addr: 0x4
I have also tried following the solution from this forum post however my device tree will not compile with error:
ERROR (phandle_references): Reference to non-existent node or label "clk32k_in" (note I am replacing the
host1x section in tegra186-quill-p3310-1000-a00-00-base.dts).
I have also tried making changes which disable sor and sor1 in the device tree as per this post. This also did not enable the I2C port.
From this post I have gathered that if you are trying to use the dpaux0 pins for I2C on a board that does not have HDMI, you need to disable all references to sor, sor1 and any nvdisplay nodes to prevent the HDMI driver from loading. I have tried decompiling
tegra186-quill-p3310-1000-a00-00-base.dtb, disabling all references and then recompiling and flashing the device tree however this also didn’t enable the bus. I can see that I am at least disabling the HDMI driver by running:
find /sys -name 'edid'
and receiving “No EDID” as the response.
Can you please advise any other changes that I should try and also the files that I should be making changes to. I would appreciate a quick response as we will have to order new hardware if we can’t get this bus running.