How can I setup I2C3 in mainline Linux kernel?

Hello!
I have some trouble with my I2C3 device.

I added I2C3 in device-tree (tegra124-apalis-eval.dts file).

/*I2C3 Enable CAM AR0134*/
     i2c@7000c500 {
         status = "okay";
         clock-frequency = <100000>;
     };

And I add pinmux in tegra124-apalis-pinmux.dtsi.

/* Apalis I2C3 (CAM) */
         cam_i2c_scl_pbb1 {
             nvidia,pins = "cam_i2c_scl_pbb1";
             nvidia,function = "i2c3";
             nvidia,pull = <TEGRA_PIN_PULL_NONE>;
             nvidia,tristate = <TEGRA_PIN_DISABLE>;
             nvidia,enable-input = <TEGRA_PIN_ENABLE>;
             nvidia,open-drain = <TEGRA_PIN_ENABLE>;
         };
         cam_i2c_sda_pbb2 {
             nvidia,pins = "cam_i2c_sda_pbb2";
             nvidia,function = "i2c3";
             nvidia,pull = <TEGRA_PIN_PULL_NONE>;
             nvidia,tristate = <TEGRA_PIN_DISABLE>;
             nvidia,enable-input = <TEGRA_PIN_ENABLE>;
             nvidia,open-drain = <TEGRA_PIN_ENABLE>;
         };

But when I use i2cdetect, only this shows up.

0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
 00:       -- -- -- -- -- -- -- -- -- -- -- -- -- --
 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
 70: -- -- -- -- -- -- -- --

And also I don’t see clock on cam_scl_pin. I checked pull up resistor on my circuit board. It’s ok.

What’s maybe wrong?

Sorry for my English.

Thank you!

Hi pointhex,

Suggest should go to https://www.toradex.com/community/
to get the support for your mainline kernel issue on Toradex’s Apalis carrier board (https://www.toradex.com/computer-on-modules/apalis-arm-family/nvidia-tegra-k1)

Thanks