[MinnowBoard] [edk2] i2cdetect inconsistency/problem

Bill Traynor btraynor at gmail.com
Mon Aug 17 23:02:16 UTC 2015


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