[meta-intel] i2c not working with eg20t - poky-dylan-9.0

João Marinho de Castro Assis jassis at cpqd.com.br
Thu Oct 10 11:14:00 PDT 2013


Hi all,

I am not sure if is the correct list to send this question. If not, please
let me know.

I have an issue with i2c not working with a COM Express board (Atom e620
and EG20t platform controller) and Yocto Linux poky-dylan-9.0.2 with kernel
3.8. I enabled i2c for eg20t pch/lapis.

In Linux startup I can see i2c module starting:

...
i2c /dev entries driver
i2c_eg20t 0000:02:0c.2: pch_i2c_probe :Entered.
i2c_eg20t 0000:02:0c.2: pch_i2c_init :I2CCTL=380 pch_i2cbc=3f
pch_i2ctmr=186a Enable interrupts
i2c-dev: adapter [i2c_eg20t] registered as minor 0
i2c i2c-0: adapter [i2c_eg20t] registered
i2c_eg20t 0000:02:0c.2: pch_i2c_probe :returns 0.
...

Using i2c-tools, I have the following:

root at cpqd:~# i2cdetect -l
i2c-0    i2c           i2c_eg20t                           I2C adapter

root at cpqd:~# i2cdetect 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

In dmesg we see a lot of messages from i2c, like:

i2c i2c-0: ioctl, cmd=0x705, arg=0xbfcfd420
i2c i2c-0: ioctl, cmd=0x705, arg=0xbfcb8998
i2c i2c-0: ioctl, cmd=0x703, arg=0x03
i2c i2c-0: ioctl, cmd=0x720, arg=0xbfcb899c
i2c i2c-0: master_xfer[0] W, addr=0x03, len=0
i2c_eg20t 0000:02:0c.2: pch_i2c_xfer
:adap->p_adapter_info->pch_i2c_suspended is 0
i2c_eg20t 0000:02:0c.2: pch_i2c_xfer :After invoking I2C_MODE_SEL :flag= 0x0
i2c_eg20t 0000:02:0c.2: pch_i2c_writebytes :I2CCTL = 390 msgs->len = 0
i2c_eg20t 0000:02:0c.2: pch_i2c_start :I2CCTL = 390
i2c_eg20t 0000:02:0c.2: pch_i2c_cb :PCH_I2CSR = 9
i2c_eg20t 0000:02:0c.2: pch_i2c_getack :return-71
i2c_eg20t 0000:02:0c.2: pch_i2c_wait_for_check_xfer :Receive NACK for slave
addresssetting

If I use get or write commands, the logs from i2c_eg20t are the same.

Using an oscilloscope, we can see the clock and data on up level (according
to i2c specs). But whenever we issue a i2c command, the clock doesn't go
down as expected. So it looks like a software issue. We do have some i2c
devices connected to the bus.

Do you have any idea what we should do?

Thanks very much!

-- 
João Marinho Assis
CPqD
Tel.: +55 19 3705-4996
jassis at cpqd.com.br <asassi at cpqd.com.br>
Brazil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-intel/attachments/20131010/c9097eea/attachment.html>


More information about the meta-intel mailing list