I2c sdl-gpio. sca-gpio properties in device tree

Hi,
Can anyone please explain what these parameters need as values for their operation? I know these are used for I2c recovery. I need to give scl and sda pin attached with gpio but I could not get what values to write here. I am attach SS and DTS file.

I need these parameters for 7000c000 and 7000c400.
They are already defined for 7000d000 but I am unable to get what they mean.


kernel_tegra210.dts (307.1 KB)

Hi sarim.jalil,

Are you using the devkit or custom board for Jetson Nano?
What’s your Jetpack version in use?

What’s your use case to do this?
Are you designing a custom carrier board and have some modification for I2C?

You could refer to the following for sda-gpio and sda-gpio:

- sda-gpios: gpio used for the sda signal, this should be flagged as
  active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
  from <dt-bindings/gpio/gpio.h> since the signal is by definition
  open drain.
- scl-gpios: gpio used for the scl signal, this should be flagged as
  active high using open drain with (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)
  from <dt-bindings/gpio/gpio.h> since the signal is by definition
  open drain.

Hi Kevin,
I am using the Jetson nano 2gb devkit and Jetpack version 4.6.3.
I am stuck with the i2c arbitration issue. I recompiled the kernel. enabled the GPIO-based I2C arbitration from the menuconfig and added some info messages in i2c-core.c for debugging. I am assuming that it will automatically enable the support as it is already implemented in i2c-core.c, but when I tested it (by unbind/bind the device from the driver) after recompiling, it just went to the initialization function and return from there. I am attaching the SS



of the i2c-core.c and the device driver. I found the same documentation that you provided and found that these pins need to be assigned for it to work ( I might be wrong).

My main focus is to enable the i2c arbitration recovery capability of the device driver so that it could recover itself. Can you please guide how to do that? I might not be heading in the right direction as I am new to this.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks

Could you help using pr_err() instead of pr_info() for debug message?

It should work after you enable that kernel config.
Could you help to provide the full dmesg from your board for further check?