[MinnowBoard] [edk2] i2cdetect inconsistency/problem

Gerard Bucas gerard.b at tekmagic.net
Mon Aug 17 23:11:28 UTC 2015


Hi again Bill

Sorry to be a pain but I'm still not clear on why those devices are detected i2c bus 4 (yocto below) when minnowBoard does NOT have all those i2c devices on that bus!?

You wrote:
They are detected because both kernels are configured to support i2c.
So yes, it is a function of the OS configuration.

I DO know/realise that (as I configured the yocto kernel/build!).

Thanks for your help so far..!

Regards

Gerard

> On Aug 17, 2015, at 7:02 PM, Bill Traynor <btraynor at gmail.com> wrote:
> 
>> On Mon, Aug 17, 2015 at 4:56 PM, Gerard Bucas <gerard.b at tekmagic.net> wrote:
>> Hi Bill
>> 
>> Thanks for your fast response!
>> 
>> You are right of course BUT why does one need the "Synopsis Designware I2c adapter"!? As I don't really know what it is, I assume I don't need it!!
>> 
>> The fact that Ubuntu includes it, of course explains why it shows those extra two buses in ubuntu. So that answers my first question!
>> How about my 2nd queston? BOTH yocto and Ubuntu show the same i2c devices detected on the "5th i2c bus (# 4 in yocto and #6 in Ubuntu which makes sense when one compensates for the two Designware buses detected)?
>> 
>> Including my questions again below, so you don't have to go and search for it.
>> 
>> I have two questions:
>> 
>> 1. Where does i2cdetect get the "i2c adapter" bus names? How can they be different with same firmware & hardware & linux kernel (between yocto & Ubuntu)? Is this from some firmware or OS config? OK - explained by the fact that Ubuntu includes two "Synopsis Designware" i2c buses.
> 
> The i2c adapter bus names are directly from the Linux driver for the
> bus.  For example, "Synopsys DesignWare I2C adapter" comes from:
> 
> ../drivers/i2c/busses/i2c-designware-platdrv.c
> 
>> 2. Why are all those i2c devices detected by BOTH yocto linux and Ubuntu!?
>> Where do they come from? Is this due to some firmware or OS config?
> 
> They are detected because both kernels are configured to support i2c.
> So yes, it is a function of the OS configuration.
> 
> "i2cdetect is a userspace program to scan an I2C bus for devices. It
> outputs a table with the list of detected devices on the specified
> bus."  You are asking i2cdetect to list all of the devices on the
> i2cbus because you're not supplying a specific bus as a parameter.
> See man i2cdetect for more info.
> 
> I hope that helps.
> 
> If you're interested in i2c support in the linux kernel, see the
> documentation in the source:
> 
> https://www.kernel.org/doc/Documentation/i2c/
> 
>> 
>> Below are the i2cdetect outputs from both my yocto and Ubuntu OS's (NOTE:
>> both are using the linux 3.19 kernel):
>> 
>> YOCTO:
>> # uname -a
>> Linux intel-corei7-64 3.19.5-yocto-standard #1 SMP PREEMPT Fri Aug 14
>> 00:21:30 UTC 2015 x86_64 GNU/Linux
>> 
>> #modprobe i2c-dev
>> #i2cdetect -l
>> i2c-0   i2c             i915 gmbus ssc                          I2C adapter
>> i2c-1   i2c             i915 gmbus vga                          I2C adapter
>> i2c-2   i2c             i915 gmbus panel                        I2C adapter
>> i2c-3   i2c             i915 gmbus dpc                          I2C adapter
>> i2c-4   i2c             i915 gmbus dpb                          I2C adapter
>> i2c-5   i2c             i915 gmbus dpd                          I2C adapter
>> i2c-6   i2c             DPDDC-B                                 I2C adapter
>> 
>> #i2cdetect -y 4
>>     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>> 00:          -- -- -- -- -- -- -- -- -- -- -- -- --
>> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
>> 40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- --
>> 50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
>> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 70: -- -- -- -- -- -- -- --
>> 
>> UBUNTU:
>> # uname -a
>> Linux tekmagic 3.19.0-26-generic #28~14.04.1-Ubuntu SMP Wed Aug 12 14:09:17 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>> 
>> # modprobe i2c-dev
>> 
>> # i2cdetect -l
>> i2c-0   i2c             Synopsys DesignWare I2C adapter         I2C adapter
>> i2c-1   i2c             Synopsys DesignWare I2C adapter         I2C adapter
>> i2c-2   i2c             i915 gmbus ssc                          I2C adapter
>> i2c-3   i2c             i915 gmbus vga                          I2C adapter
>> i2c-4   i2c             i915 gmbus panel                        I2C adapter
>> i2c-5   i2c             i915 gmbus dpc                          I2C adapter
>> i2c-6   i2c             i915 gmbus dpb                          I2C adapter
>> i2c-7   i2c             i915 gmbus dpd                          I2C adapter
>> i2c-8   i2c             DPDDC-B                                 I2C adapter
>> 
>> # i2cdetect -y 6
>>     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>> 00:          -- -- -- -- -- -- -- -- -- -- -- -- --
>> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 30: 30 -- -- -- -- -- -- 37 -- -- 3a -- -- -- -- --
>> 40: -- -- -- -- -- -- -- -- -- -- 4a 4b -- -- -- --
>> 50: 50 51 52 53 54 55 56 57 -- -- -- -- -- -- -- --
>> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>> 70: -- -- -- -- -- -- -- --
>> 
>> Thanks!!
>> 
>> Gerard
>> 
>> 
>> -----Original Message-----
>> From: Bill Traynor [mailto:btraynor at gmail.com]
>> Sent: Monday, August 17, 2015 4:38 PM
>> To: gerard.b at tekmagic.net; MinnowBoard Development and Community Discussion <elinux-minnowboard at lists.elinux.org>
>> Subject: Re: [MinnowBoard] [edk2] i2cdetect inconsistency/problem
>> 
>> Are you using identical kernel configurations for each build?
>> 
>> It looks to me like you may not have configured for the Synopsys DesignWare I2C adapter in the Yocto build.
>> 
>> 
>>> On Mon, Aug 17, 2015 at 4:30 PM, Gerard Bucas <gerard.b at tekmagic.net> wrote:
>>> Synopsys DesignWare I2C adapter
>> 


More information about the elinux-MinnowBoard mailing list