When use I2c ,kernel panic

when I use i2c tool, kernel panic

he@tegra-ubuntu:~/Desktop$ sudo i2cdetect -r -y 3
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: [ 108.964312] Unable to handle kernel paging request at virtual address 00000000ffff0e1f
[ 108.972514] Mem abort info:
[ 108.975403] ESR = 0x96000004
[ 108.978552] EC = 0x25: DABT (current EL), IL = 32 bits
[ 108.984025] SET = 0, FnV = 0
[ 108.987173] EA = 0, S1PTW = 0
[ 108.990407] Data abort info:
[ 108.993369] ISV = 0, ISS = 0x00000004
[ 108.997317] CM = 0, WnR = 0
[ 109.000379] user pgtable: 4k pages, 48-bit VAs, pgdp=0000000146b8f000
[ 109.007009] [00000000ffff0e1f] pgd=0000000000000000, p4d=0000000000000000
[ 109.014005] Internal error: Oops: 96000004 [#1] PREEMPT SMP
[ 109.019734] Modules linked in: nvidia_modeset(OE) fuse(E) lzo_rle(E) lzo_compress(E) zram(E) ramoops(E) reed_solomon(E) loop(E) aes_ce_blk(E) crypto_simd(E) cryptd(E) snd_soc_tegra186_dspk(E) snd_soc_tegra210_ope(E) snd_soc_tegra186_asrc(E) aes_ce_cipher(E) snd_soc_tegra210_iqc(E) ghash_ce(E) snd_soc_tegra186_arad(E) snd_soc_tegra210_mvc(E) snd_soc_tegra210_dmic(E) snd_soc_tegra210_afc(E) sha2_ce(E) input_leds(E) snd_soc_tegra210_adx(E) snd_soc_tegra210_admaif(E) snd_soc_tegra210_adsp(E) snd_soc_tegra210_amx(E) sha256_arm64(E) snd_soc_tegra210_mixer(E) snd_soc_tegra210_i2s(E) snd_soc_tegra210_sfc(E) snd_soc_tegra_pcm(E) sha1_ce(E) snd_soc_tegra_machine_driver(E) snd_soc_tegra_utils(E) snd_hda_codec_hdmi(E) ofpart(E) cmdlinepart(E) nvadsp(E) snd_soc_spdif_tx(E) snd_soc_simple_card_utils(E) snd_hda_tegra(E) snd_soc_tegra210_ahub(E) nct1008(E) qspi_mtd(E) snd_hda_codec(E) userspace_alert(E) tegra_bpmp_thermal(E) snd_hda_core(E) tegra210_adma(E) mtd(E) spi_tegra114(E) nvidia(OE) ina3221(E)
[ 109.019825] pwm_fan(E) binfmt_misc(E) nvgpu(E) nvmap(E) ip_tables(E) x_tables(E)
[ 109.119517] CPU: 5 PID: 2291 Comm: i2cdetect Tainted: G OE 5.10.104-tegra #204
[ 109.128207] Hardware name: /, BIOS 1.0-d7fb19b 08/10/2022
[ 109.133846] pstate: 60400009 (nZCv daif +PAN -UAO -TCO BTYPE=–)
[ 109.140042] pc : tegra_prod_set_tuple+0x3c/0x90
[ 109.144709] lr : tegra_prod_set_tuple+0x24/0x90
[ 109.149373] sp : ffff80001602b940
[ 109.152784] x29: ffff80001602b940 x28: ffff80001602bbd0
[ 109.158252] x27: ffffbe7db07e8900 x26: 00000000ffff44da
[ 109.163719] x25: ffff8000146e1000 x24: 000000000000008d
[ 109.169186] x23: 0000000000000004 x22: ffff0e1f0638d4e0
[ 109.174652] x21: ffff0e1f0638d4e0 x20: 00000000af4a7e40
[ 109.180116] x19: ffff0e1f063df110 x18: 0000000000000000
[ 109.185584] x17: 0000000000000000 x16: 0000000000000000
[ 109.191051] x15: 0000fffff7431758 x14: 0000000000000000
[ 109.196516] x13: 0000000000000000 x12: 0000000000000000
[ 109.201983] x11: 0000000000000040 x10: ffffbe7db0877a80
[ 109.207450] x9 : 0000000000000008 x8 : 0000000000000008
[ 109.212917] x7 : ffffbe7dafdb0ea8 x6 : 0000000000000020
[ 109.218384] x5 : 0000000000000020 x4 : 0000000000000005
[ 109.223851] x3 : 00000000ffff0e1f x2 : 00000000ffff0e1f
[ 109.229318] x1 : ffff0e1f063df110 x0 : 00000000063df108
[ 109.234786] Call trace:
[ 109.237302] tegra_prod_set_tuple+0x3c/0x90
[ 109.241607] tegra_prod_set.part.0+0x58/0x80
[ 109.246008] tegra_prod_set_by_name+0x78/0xb0
[ 109.250494] tegra_i2c_config_prod_settings+0x70/0xb0
[ 109.255694] tegra_i2c_init+0xd0/0x320
[ 109.259555] tegra_i2c_xfer_msg.part.0+0x450/0x6c0
[ 109.264488] tegra_i2c_xfer+0x80/0x2c0
[ 109.268349] __i2c_transfer+0x14c/0x680
[ 109.272296] i2c_smbus_xfer_emulated+0xe0/0x660
[ 109.276961] __i2c_smbus_xfer+0x11c/0x530
[ 109.281088] i2c_smbus_xfer+0x80/0x120
[ 109.284949] i2cdev_ioctl_smbus+0x104/0x370
[ 109.289254] i2cdev_ioctl+0x190/0x400
[ 109.293026] __arm64_sys_ioctl+0xa8/0xf0
[ 109.297064] el0_svc_common.constprop.0+0x7c/0x1c0
[ 109.302000] do_el0_svc+0x34/0xa0
[ 109.305417] el0_svc+0x1c/0x30
[ 109.308565] el0_sync_handler+0xa8/0xb0
[ 109.312514] el0_sync+0x16c/0x180
[ 109.315928] Code: b40002f3 29400a60 f8607aa3 8b020063 (b9400063)
[ 109.322210] —[ end trace 57a40244221cb9ac ]—
[ 109.333473] Kernel panic - not syncing: Oops: Fatal exception
[ 109.339388] SMP: stopping secondary CPUs
[ 109.343729] Kernel Offset: 0x3e7d9eb30000 from 0xffff800010000000
[ 109.350000] PHYS_OFFSET: 0xfffff1e200000000
[ 109.354301] CPU features: 0x0040006,4a80aa38
[ 109.358700] Memory Limit: none
[ 109.368286] —[ end Kernel panic - not syncing: Oops: Fatal exception ]—

Did you connect device to this bus? Any customized like kernel/device tree?

yes, I connect device to this bus, I dont customized this i2c, I just use it.
I found that if I read or write on a not exist i2c addr on this i2c bus, it may be cause kernel panic, other i2c bus is ok.

Which pin connected to?

J52 J53 PN3 and PN4 for I2C3 i2c@3190000

custom board

Could you probe to check if any wave form without any device connect to this bus.

Thanks

Hi,
You may need to configure the J52/J53 by PINMUX spreadsheet to generate the dtb to enable it as i2c4.

		dp_aux_ch1_p_pn3 {
			nvidia,pins = "dp_aux_ch1_p_pn3";
			nvidia,function = "i2c4";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
			nvidia,lpdr = <TEGRA_PIN_DISABLE>;
		};

		dp_aux_ch1_n_pn4 {
			nvidia,pins = "dp_aux_ch1_n_pn4";
			nvidia,function = "i2c4";
			nvidia,pull = <TEGRA_PIN_PULL_NONE>;
			nvidia,tristate = <TEGRA_PIN_DISABLE>;
			nvidia,enable-input = <TEGRA_PIN_ENABLE>;
			nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
			nvidia,lpdr = <TEGRA_PIN_DISABLE>;
		};

I’m closing this topic due to there is no update from you for a period, assuming this issue was resolved.
If still need the support, please open a new topic. Thanks

Is this still an issue to support? Any result can be shared? Thanks