AnsweredAssumed Answered

LPC3250FET296: i2c bus hang

Question asked by Imran Khan on Jan 15, 2018
Latest reply on Jan 18, 2018 by CarlosCasillas

Hi ,

I am using a custom board based on LPC3250FET296 . It is running Linux 3.18 kernel.

I am seeing i2c bus hangs with the following messages:

 

Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: Master timed out. stat = 2a60, cntrl = 000e. Resetting master...
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus busy. Slave addr = 40, cntrl = 0, stat = 2a60
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus is still active after xfer. Reset it...
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus is still active after xfer. Reset it...
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: Master timed out. stat = 2a60, cntrl = 000e. Resetting master...
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus busy. Slave addr = 40, cntrl = 0, stat = 2a60
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus is still active after xfer. Reset it...
Jan 1 01:43:58 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus is still active after xfer. Reset it...
Jan 1 01:43:59 (none) user.err kernel: i2c-adapter i2c-1: Master timed out. stat = 2a60, cntrl = 000e. Resetting master...
Jan 1 01:43:59 (none) user.err kernel: i2c-adapter i2c-1: PNX4008-I2C1: Bus busy. Slave addr = 41, cntrl = 0, stat = 2a60

 

 

After googling a bit I found the following thread:

I2C reset 

 

This talks about recovering the i2c bus by making the master send 9 clock pulses. I see that some of the i2c controllers have (ST, OMAP etc.) have implemented the recovery mechanism but the recovery mechanism is not implemented for 

Philips-IP3204 I2C controllers.

Just wanted to know if someone has tried this out. From my understanding of the data sheet apparently GPIO functionality is not available for SCL pin here.

Outcomes