[SOLVED] iMX6 : I2C2_SCL goes permanently low at Linux boot

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[SOLVED] iMX6 : I2C2_SCL goes permanently low at Linux boot

Jump to solution
715 Views
dplamp
Contributor I

Hi,

I bought :

  • a processor board with a iMX6Q
  • development board.

I tested I2C1 and I2C2 with the processor board on the development board with i2cdetect, and it sees all connected chips on both buses.

Then I made my own board. I2C1 passes the test. But at some point, while the Linux kernel is loading, the I2C2_SCL line goes low, and stays low forever. I2C2_SDA is high all the time. A reboot doesn't bring SCL back high again, only a power cycle. When I take the processor board from my home made board to the development board, I2C2 works OK.

What I did on my home made board :

  • checked the 4.7K pull-up resistors on SCL and SDA lines to +3.3V : OK
  • checked short circuits : didn't find any...
  • unsoldered the 3 chips on I2C2 (RTC, GPIO expander and DAC) : the iMX6Q is on its own on I2C2
  • toggled the I2C2_SCL (KEY_COL3) and I2C2_SDA (KEY_ROW3) in U-Boot : OK
  • checked registers configurations in Linux :
    • pad mux registers (0x20e0210, 0x20e0214) both read 0x00000014
    • control registers (0x20e05e0, 0x20e05e4) both read 0x0001B8B1
  • disabled drivers like the RTC's, which is on I2C2 on both the development and home made board

So, now, I'm desperately running out of ideas...

Regards

Labels (2)
0 Kudos
Reply
1 Solution
701 Views
dplamp
Contributor I

**bleep** it ! That was a shortcut to the next pin configured as a SPI chip select. Hence the pin pulled low at Linux boot.

View solution in original post

0 Kudos
Reply
2 Replies
702 Views
dplamp
Contributor I

**bleep** it ! That was a shortcut to the next pin configured as a SPI chip select. Hence the pin pulled low at Linux boot.

0 Kudos
Reply
710 Views
igorpadykov
NXP Employee
NXP Employee

Hi dplamp

 

one can try to narrow down issue, if this is caused by hardware or linux running baremetal sdk test

https://github.com/RT-Thread/rt-thread/tree/master/bsp/imx6sx/iMX6_Platform_SDK/sdk/drivers/i2c

https://community.nxp.com/t5/i-MX-Processors/SMP-Enable-in-IMX6/m-p/542111

 

Best regards
igor

0 Kudos
Reply