[U-Boot] [PATCH] i2c: intel_i2c: SMBus driver PCI addition (e.g. BayTrail)

Simon Glass sjg at chromium.org
Sat Aug 6 05:36:00 CEST 2016


Hi Stefan,

On 5 August 2016 at 01:18, Stefan Roese <sr at denx.de> wrote:
> On 05.08.2016 09:10, Heiko Schocher wrote:
>>
>> Hello Bin,
>>
>> Am 05.08.2016 um 07:46 schrieb Bin Meng:
>>>
>>> Simon, Stefan,
>>>
>>> On Tue, Jul 26, 2016 at 8:13 PM, Stefan Roese <sr at denx.de> wrote:
>>>>
>>>> Hi Simon,
>>>>
>>>> On 25.07.2016 04:07, Simon Glass wrote:
>>>>>
>>>>>
>>>>> On 28 June 2016 at 07:44, Stefan Roese <sr at denx.de> wrote:
>>>>>>
>>>>>>
>>>>>> This patch adds support for the SMBus block read/write functionality.
>>>>>> Other protocols like the SMBus quick command need to get added
>>>>>> if this is needed.
>>>>>>
>>>>>> This patch also removed the SMBus related defines from the Ivybridge
>>>>>> pch.h header. As they are integrated in this driver and should be
>>>>>> used from here. This change is added in this patch to avoid compile
>>>>>> breakage to keep the source git bisectable.
>>>>>>
>>>>>> Tested on a congatec BayTrail board to configure the SMSC2513 USB
>>>>>> hub.
>>>>>>
>>>>>> Signed-off-by: Stefan Roese <sr at denx.de>
>>>>>> Cc: Bin Meng <bmeng.cn at gmail.com>
>>>>>> Cc: Simon Glass <sjg at chromium.org>
>>>>>> Cc: Heiko Schocher <hs at denx.de>
>>>>>> ---
>>>>>> Simon, I'm not sure if this change breaks your Ivybridge targets
>>>>>> using the probe part of this driver. Could you please let me
>>>>>> know if this works? Or let me know what needs changes here?
>>>>>
>>>>>
>>>>>
>>>>> Yes this breaks booting on link. Something odd is going on because the
>>>>> call to set up I2C in ivybridge's print_cpuinfo() returns a very
>>>>> strange error -726376.
>>>>
>>>>
>>>>
>>>> Hmmm, very strange.
>>>>
>>>>> But I then enabled CONFIG_CMD_I2C and it boots. However 'i2c probe'
>>>>> produces a lot of errors like this:
>>>>>
>>>>> ERROR: len=0 on read
>>>>> smbus_block_read (107): dev=0x3b offs=0x0 len=0x1
>>>>> smbus_block_read (136): count=0 (len=1)
>>>>
>>>>
>>>>
>>>> A general question:
>>>>
>>>> Is the SMBus controller on Ivybridge also exported as PCI device? If
>>>> yes, can't we just use the PCI code as done for BayTrail for this
>>>> platform as well? And get rid of the platform specific stuff this
>>>> way?
>>>>
>>>> Could you send me the output of "pci 0 long" on this platform?
>>>>
>>>
>>> Do you plan to get this I2C merged in this release? If so, please work
>>> this out .. I don't feel comfortable to apply this at present.
>>
>>
>> Full Ack.
>
>
> I really would like to see this SMBus support upstream. As other
> patches depend on this. Unfortunately I can't test on the Ivybridge
> platform. I talked with Simon on #irc some days ago and he
> "volunteered" (thanks again) to fix / debug this Ivybridge problem
> on his board - perhaps by moving to a PCI based probing there as
> well.
>
> Simon, did you find the time to dig into this? Please let me know if
> there is something that I can do to help / assist you here.
>
> Thanks,
> Stefan

I found one problem, which is that intel_i2c_bind() writes to BSS
before it is available. That fixes the crash. I sent a few patches for
that and something else I found.

Also I don't think your code in intel_i2c_probe() is very different
from the ivybridge code. SMB_BASE is the same as PCI_BASE_ADDRESS_4.
So perhaps just drop the ivybridge code?

Here's the output you asked for.

=> pci 0 long
Scanning PCI devices on bus 0

Found PCI device 00.00.00:
  vendor ID =                   0x8086
  device ID =                   0x0154
  command register ID =         0x0006
  status register =             0x2090
  revision ID =                 0x09
  class code =                  0x06 (Bridge device)
  sub class code =              0x00
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.02.00:
  vendor ID =                   0x8086
  device ID =                   0x0166
  command register ID =         0x0007
  status register =             0x0090
  revision ID =                 0x09
  class code =                  0x03 (Display controller)
  sub class code =              0x00
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0000004
  base address 1 =              0x00000000
  base address 2 =              0xd000000c
  base address 3 =              0x00000000
  base address 4 =              0x00001001
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.16.00:
  vendor ID =                   0x8086
  device ID =                   0x1e3a
  command register ID =         0x0006
  status register =             0x0018
  revision ID =                 0x04
  class code =                  0x07 (Simple comm. controller)
  sub class code =              0x80
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x80
  BIST =                        0x00
  base address 0 =              0xe0400004
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1a.00:
  vendor ID =                   0x8086
  device ID =                   0x1e2d
  command register ID =         0x0006
  status register =             0x0290
  revision ID =                 0x04
  class code =                  0x0c (Serial bus controller)
  sub class code =              0x03
  programming interface =       0x20
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0400400
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x5000
  sub system ID =               0x4813
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1d.00:
  vendor ID =                   0x8086
  device ID =                   0x1e26
  command register ID =         0x0006
  status register =             0x0290
  revision ID =                 0x04
  class code =                  0x0c (Serial bus controller)
  sub class code =              0x03
  programming interface =       0x20
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0400800
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x052b
  sub system ID =               0x00a4
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1f.00:
  vendor ID =                   0x8086
  device ID =                   0x1e5d
  command register ID =         0x0007
  status register =             0x0210
  revision ID =                 0x04
  class code =                  0x06 (Bridge device)
  sub class code =              0x01
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x80
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1f.02:
  vendor ID =                   0x8086
  device ID =                   0x1e03
  command register ID =         0x0007
  status register =             0x02b0
  revision ID =                 0x04
  class code =                  0x01 (Mass storage controller)
  sub class code =              0x06
  programming interface =       0x01
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0x00001041
  base address 1 =              0x00001049
  base address 2 =              0x00001051
  base address 3 =              0x00001059
  base address 4 =              0x00001061
  base address 5 =              0xe0401000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1f.03:
  vendor ID =                   0x8086
  device ID =                   0x1e22
  command register ID =         0x0003
  status register =             0x0280
  revision ID =                 0x04
  class code =                  0x0c (Serial bus controller)
  sub class code =              0x05
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0401804
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00001081
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x02
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.16.01:
  vendor ID =                   0x8086
  device ID =                   0x1e3b
  command register ID =         0x0006
  status register =             0x0018
  revision ID =                 0x04
  class code =                  0x07 (Simple comm. controller)
  sub class code =              0x80
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x80
  BIST =                        0x00
  base address 0 =              0xe0401904
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1b.00:
  vendor ID =                   0x8086
  device ID =                   0x1e20
  command register ID =         0x0006
  status register =             0x0010
  revision ID =                 0x04
  class code =                  0x04 (Multimedia device)
  sub class code =              0x03
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0404004
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  min Grant =                   0x00
  max Latency =                 0x00

Found PCI device 00.1c.00:
  vendor ID =                   0x8086
  device ID =                   0x1e10
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x01
  subordinate bus number =      0x01
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe050
  memory limit =                0xe040
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.01:
  vendor ID =                   0x8086
  device ID =                   0x1e12
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x02
  subordinate bus number =      0x02
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe050
  memory limit =                0xe040
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.02:
  vendor ID =                   0x8086
  device ID =                   0x1e14
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x03
  subordinate bus number =      0x03
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x0000
  memory base =                 0xe050
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x01
  bridge control =              0x0000

Found PCI device 00.1c.03:
  vendor ID =                   0x8086
  device ID =                   0x1e16
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x04
  subordinate bus number =      0x04
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.04:
  vendor ID =                   0x8086
  device ID =                   0x1e18
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x05
  subordinate bus number =      0x05
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.05:
  vendor ID =                   0x8086
  device ID =                   0x1e1a
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x06
  subordinate bus number =      0x06
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.06:
  vendor ID =                   0x8086
  device ID =                   0x1e1c
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x07
  subordinate bus number =      0x07
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1c.07:
  vendor ID =                   0x8086
  device ID =                   0x1e1e
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xc4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x00
  cache line =                  0x08
  latency time =                0x00
  header type =                 0x81
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x08
  subordinate bus number =      0x08
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2000
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1e.00:
  vendor ID =                   0x8086
  device ID =                   0x2448
  command register ID =         0x0007
  status register =             0x0010
  revision ID =                 0xa4
  class code =                  0x06 (Bridge device)
  sub class code =              0x04
  programming interface =       0x01
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x01
  BIST =                        0x00
  base address 0 =              0x00000000
  base address 1 =              0x00000000
  primary bus number =          0x00
  secondary bus number =        0x09
  subordinate bus number =      0x09
  secondary latency timer =     0x00
  IO base =                     0x20
  IO limit =                    0x10
  secondary status =            0x2280
  memory base =                 0xe060
  memory limit =                0xe050
  prefetch memory base =        0xe001
  prefetch memory limit =       0xdff1
  prefetch memory base upper =  0x00000000
  prefetch memory limit upper = 0x00000000
  IO base upper 16 bits =       0x0000
  IO limit upper 16 bits =      0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x00
  bridge control =              0x0000

Found PCI device 00.1f.06:
  vendor ID =                   0x8086
  device ID =                   0x1e24
  command register ID =         0x0006
  status register =             0x0010
  revision ID =                 0x04
  class code =                  0x11 (DSP)
  sub class code =              0x80
  programming interface =       0x00
  cache line =                  0x00
  latency time =                0x00
  header type =                 0x00
  BIST =                        0x00
  base address 0 =              0xe0600004
  base address 1 =              0x00000000
  base address 2 =              0x00000000
  base address 3 =              0x00000000
  base address 4 =              0x00000000
  base address 5 =              0x00000000
  cardBus CIS pointer =         0x00000000
  sub system vendor ID =        0x0000
  sub system ID =               0x0000
  expansion ROM base address =  0x00000000
  interrupt line =              0x00
  interrupt pin =               0x03
  min Grant =                   0x00
  max Latency =                 0x00
=>


Here's what I get when I try it:

=> i2c dev 0
Setting bus to 0
here intel_i2c#0
SMBus controller enabled
=> i2c probe
Valid chip addresses:smbus_block_read (107): dev=0x0 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x4 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x5 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x6 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x7 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x8 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x9 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xa offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xb offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xc offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xd offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xe offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0xf offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x10 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x11 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x12 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x13 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x14 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x15 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x16 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x17 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x18 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x19 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1a offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1b offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1c offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1d offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1e offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x1f offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x20 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x21 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x22 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x23 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x24 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x25 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x26 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x27 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x28 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x29 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2a offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2b offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2c offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2d offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2e offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x2f offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x30 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x31 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x32 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x33 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x34 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x35 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x36 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x37 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x38 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x39 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3a offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3b offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3c offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3d offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3e offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x3f offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x40 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x41 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x42 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x43 offs=0x0 len=0x1
smbus_block_read (136): count=0 (len=1)
ERROR: len=0 on read
smbus_block_read (107): dev=0x44 offs=0x0 len=0x1
smbus_block_read (136): count=255 (len=1)
Invalid Opcode (Undefined Opcode)
EIP: 0010:[<00000058>] EFLAGS: 00010283
Original EIP :[<52fae058>]
EAX: c9fffff0 EBX: ffffffff ECX: 00000000 EDX: ffffff00
ESI: ffffffff EDI: 00000004 EBP: ffffffff ESP: acd48fdc
 DS: 0018 ES: 0018 FS: 0020 GS: 0018 SS: 0018
CR0: 00000033 CR2: 00000000 CR3: 00000000 CR4: 00000000
DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
DR6: ffff0ff0 DR7: 00000400
Stack:
    0xacd4901c : 0xffffffff
    0xacd49018 : 0xffffffff
    0xacd49014 : 0xffffffff
    0xacd49010 : 0xffffffff
    0xacd4900c : 0xffffffff
    0xacd49008 : 0xffffffff
    0xacd49004 : 0xffffffff
    0xacd49000 : 0xffffffff
    0xacd48ffc : 0xffffffff
    0xacd48ff8 : 0xffffffff
    0xacd48ff4 : 0xffffffff
    0xacd48ff0 : 0xffffffff
    0xacd48fec : 0xffffffff
    0xacd48fe8 : 0xffffffff
    0xacd48fe4 : 0xffffffff
    0xacd48fe0 : 0xffffffff
--->0xacd48fdc : 0x00000000
    0xacd48fd8 : 0x00010283
    0xacd48fd4 : 0x00000010
    0xacd48fd0 : 0x00000058
### ERROR ### Please RESET the board ###


Regards
Simon



More information about the U-Boot mailing list