I2C Devices not detecting in IMX8mp custom board in Android 15

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

I2C Devices not detecting in IMX8mp custom board in Android 15

1,075件の閲覧回数
subash_p
Contributor III

Hi,

I'm working on a custom RSB-3720 i.MX8MP board running Android 15 Image. I'm unable to detect I2C devices on the I2C buses, even though the same I2C pin configuration works correctly on Android 11 Image. The devices were detected without issues in Android 11, but they are not appearing in Android 15. I will attach the debug log of my board below.

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

rsb3720_a1:/ # i2cdump -y 0 0x0a
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
10: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
20: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
30: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
40: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
50: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
60: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
70: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
80: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
90: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
a0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
b0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
c0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
d0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
e0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX
f0: XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXXXXXXXXXX


0x0a is the sgtl5000 device address. I'm trying to integrate with my RSB-3720 Board.

rsb3720_a1:/ # dmesg | grep i2c
[ 0.102013] /soc@0/bus@30800000/i2c@30a30000/adv7535@3d: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi_dsi@32e60000
[ 0.102070] /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c: Fixed dependency cycle(s) with /soc@0/bus@32c00000/camera/csi@32e40000
[ 0.102143] /soc@0/bus@30800000/i2c@30a30000/tcpc@50: Fixed dependency cycle(s) with /soc@0/usb@32f10100/usb@38100000
[ 0.102343] /soc@0/bus@32c00000/mipi_dsi@32e60000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/adv7535@3d
[ 0.102651] /soc@0/bus@32c00000/camera/csi@32e40000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 0.103380] /soc@0/usb@32f10100/usb@38100000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/tcpc@50
[ 0.111294] /soc@0/bus@30800000/i2c@30a30000/adv7535@3d: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi_dsi@32e60000
[ 0.111353] /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c: Fixed dependency cycle(s) with /soc@0/bus@32c00000/camera/csi@32e40000
[ 0.111480] /soc@0/bus@30800000/i2c@30a30000/tcpc@50: Fixed dependency cycle(s) with /soc@0/usb@32f10100/usb@38100000
[ 0.114139] /soc@0/bus@30800000/i2c@30a30000/adv7535@3d: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi_dsi@32e60000
[ 0.114268] /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c: Fixed dependency cycle(s) with /soc@0/bus@32c00000/camera/csi@32e40000
[ 0.114419] /soc@0/bus@30800000/i2c@30a30000/tcpc@50: Fixed dependency cycle(s) with /soc@0/usb@32f10100/usb@38100000
[ 0.117165] /soc@0/bus@32c00000/mipi_dsi@32e60000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/adv7535@3d
[ 0.117603] /soc@0/bus@32c00000/camera/csi@32e40000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 0.117833] /soc@0/bus@30800000/i2c@30a30000/adv7535@3d: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi_dsi@32e60000
[ 0.117917] /soc@0/bus@32c00000/mipi_dsi@32e60000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/adv7535@3d
[ 0.120905] /soc@0/bus@32c00000/camera/csi@32e40000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 0.121458] /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c: Fixed dependency cycle(s) with /soc@0/bus@32c00000/camera/csi@32e40000
[ 0.121563] /soc@0/bus@32c00000/camera/csi@32e40000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 0.129720] /soc@0/usb@32f10100/usb@38100000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/tcpc@50
[ 0.130851] /ldb-display-controller/lvds-channel@0: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/lvds-to-hdmi-bridge@4c
[ 0.136503] /soc@0/bus@30800000/i2c@30a30000/tcpc@50/connector: Fixed dependency cycle(s) with /cbtl04gp
[ 0.136609] /cbtl04gp: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/tcpc@50/connector
[ 8.086566] i2c i2c-0: IMX I2C adapter registered
[ 8.092846] /soc@0/bus@32c00000/mipi_dsi@32e60000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/adv7535@3d
[ 8.104975] /soc@0/bus@30800000/i2c@30a30000/adv7535@3d: Fixed dependency cycle(s) with /soc@0/bus@32c00000/mipi_dsi@32e60000
[ 8.117168] /ldb-display-controller/lvds-channel@0: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/lvds-to-hdmi-bridge@4c
[ 8.130396] /soc@0/bus@30800000/i2c@30a30000/lvds-to-hdmi-bridge@4c: Fixed dependency cycle(s) with /ldb-display-controller/lvds-channel@0
[ 8.143729] /soc@0/bus@32c00000/camera/csi@32e40000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c
[ 8.156414] /soc@0/bus@30800000/i2c@30a30000/ov5640_mipi@3c: Fixed dependency cycle(s) with /soc@0/bus@32c00000/camera/csi@32e40000
[ 8.169329] /soc@0/usb@32f10100/usb@38100000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/tcpc@50
[ 8.180803] /soc@0/bus@30800000/i2c@30a30000/tcpc@50: Fixed dependency cycle(s) with /soc@0/usb@32f10100/usb@38100000
[ 8.192205] /soc@0/bus@30800000/i2c@30a30000/tcpc@50/connector: Fixed dependency cycle(s) with /cbtl04gp
[ 8.203306] i2c i2c-1: IMX I2C adapter registered
[ 8.210066] i2c i2c-2: IMX I2C adapter registered
[ 8.218219] i2c_dev: i2c /dev entries driver
[ 8.699175] /soc@0/bus@30800000/i2c@30a30000/tcpc@50: Fixed dependency cycle(s) with /soc@0/usb@32f10100/usb@38100000
[ 8.710727] /soc@0/usb@32f10100/usb@38100000: Fixed dependency cycle(s) with /soc@0/bus@30800000/i2c@30a30000/tcpc@50


Thanks & Regards,
Subash P.

 

0 件の賞賛
返信
6 返答(返信)

1,015件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p!

Thank you for contacting NXP Support!

 

Based on the dmesg output you provided, it appears that the I2C1 bus is not active.

To assist you further, could you please share your device tree or the relevant portions of it? This will help me identify any configuration issues.

 

If you're unable to share the device tree, I recommend comparing the device tree files between your Android 11 and Android 15 versions. Additionally, you may want to reach out to Advantech Support for further assistance, as they may have board specific guidance.

 

Best regards,
Chavira

0 件の賞賛
返信

971件の閲覧回数
subash_p
Contributor III

Hi @Chavira 

I will attach both Android 11 DTS and Android 15 DTS files.

(Note: 6 I2C devices connected in I2C-0 Node, PMIC is working)

Thanks & Regards,
Subash P

タグ(4)
0 件の賞賛
返信

942件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p!

Thank you for your message.

 

While comparing the Android_11_kernel.dts and Android_15_kernel.dts files, I noticed differences in the I2C1 node configuration. Specifically, in Android 11, two GPIO expanders are declared, whereas in Android 15, these expanders are missing.

My theory is as follows: the SGTL5000 codec includes a configuration pin called CTRL_MODE. When this pin is pulled low, the SGTL5000 enables the I2C interface; when pulled high, it switches to SPI mode.

Please verify that the CTRL_MODE pin is pulled low. If it is connected to one of the GPIO expanders, you may need to declare those expanders in the device tree as well to ensure proper initialization.

Also, could you please share the schematic of your board?

That would help us better understand the hardware configuration and provide more accurate support.

 

Best regards,
Chavira

908件の閲覧回数
subash_p
Contributor III

Hi @Chavira,

I copied the same kernel DTS files from Android 15 to the Yocto Project 5.0, where the kernel version is 6.6.52. In this setup, I can able to detect the I2C device addresses connected to the I2C1 port without adding any nodes in dts file.

Below are the I2C devices connected to I2C1:

  • TI TCA9538

  • ST33HTPH2

  • TI MSP430G2202

  • SEIKO S-35390A this address is being detected via i2c detect

  • FREESCALE SGTL5000

Note : There is no any i2c expander connected in my RSB 3720 Board

Android 11 log:

u-boot=> i2c dev 0
Setting bus to 0
u-boot=> i2c probe
Valid chip addresses: 25 29 2E 30 31 32 33 34 35 36 37 70 71
u-boot=>

rsb3720_a1:/ # i2cdetect -y 0
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- UU -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- UU -- -- -- 29 -- -- -- -- 2e --
30: UU UU UU UU UU UU UU UU -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: UU UU -- -- -- -- -- --


Android 15 log :

u-boot=> i2c dev 0
Setting bus to 0
u-boot=> i2c probe
Valid chip addresses: 25
u-boot=>

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

 

タグ(4)
0 件の賞賛
返信

905件の閲覧回数
Chavira
NXP TechSupport
NXP TechSupport

Hi @subash_p!

could you please share the schematic of your board?

That would help us better understand the hardware configuration and provide more accurate support.

 

Best regards,
Chavira

0 件の賞賛
返信

700件の閲覧回数
subash_p
Contributor III

HI @Chavira 

I solved the issue by modifying the PMIC driver file. Now I can detect the I2C devices in Android 15


Thanks & Regards,
Subash P.

0 件の賞賛
返信