The Jetson TX1 OEM product design guide specifies that the 3.3V I2C busses should use pinctrl to set the pin driver to open-drain when used with 3.3V pull up resistors (pg 54, note 2):
When the device tree is modified to specify that the pins should be set to open-drain:
nvidia,open-drain = <TEGRA_PIN_ENABLE>;
The lines go low and never get pulled back up after the first attempt to communicate with an I2C device.
If the device tree is left unmodified we have found that the I2C signals do not quite meet spec; especially the SCL signal which is never pulled all the way to 0V (typically pulled to ~300mv) and never rises all the way to 3.3V (typically rises to ~2.9V). The edges are relatively clean but the compressed range is a bit worrying and seems contradictory to what the OEM design guide specifies.
Has anyone utilized / probed the 3.3V I2C lines and found their signals were clean & within spec? Can anyone comment on the open-drain configuration and if the OEM design guide is wrong?