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

Darren Hart dvhart at linux.intel.com
Fri Oct 18 11:10:48 PDT 2013


On Thu, 2013-10-10 at 15:14 -0300, João Marinho de Castro Assis wrote:
> 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: -- -- -- -- -- -- -- --                         


Hrm, all I can say is I have seen this working on another eg20t device,
but without your specific hardware, I don't have any advice right off
the top of my head to help out. I haven't tried this in a while, but
I'll pay close attention next time I test and let you know if there is
something missing from the above.

--
Darren

> 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
> Brazil
> _______________________________________________
> meta-intel mailing list
> meta-intel at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-intel

-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel





More information about the meta-intel mailing list