[U-Boot] [Patch 2/3] Revert "e1000: fix sw fw sync on igb i210/i211"

Tim Harvey tharvey at gateworks.com
Wed May 20 15:15:35 CEST 2015


On Wed, May 20, 2015 at 4:27 AM, Marcel Ziswiler <marcel at ziswiler.com> wrote:
> On Tue, 2015-05-19 at 10:01 -0700, Tim Harvey wrote:
>> This reverts commit 17da7120249bfdef877f46be5bbcb3cc01212eb9.
>>
>> The i210/i211 do have the SW_FW_SYNC (0x5b5c) register and this is what should
>> be used when acquiring the semaphore.
>>
>> I believe the issue that this patch was trying to resolve is now resolved
>> by properly releasing the semaphore once no longer needed.
>>
<snip>
>
> Tested on Apalis T30 1GB V1.1A with properly fused i211
> Tested on Apalis T30 2GB V1.1A with iNVM fused i210
> Tested on Apalis T30 1GB V1.0A with tools only aka non fused i211
> Tested-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> ---
> BTW: Still fails on Apalis T30 2GB V1.0E with tools only aka non fused
> i210 as follows:
> e1000: e1000#0: ERROR: Hardware Initialization Failed
> In our downstream production U-Boot we temporarily hacked this as
> follows for now:
> http://git.toradex.com/cgit/u-boot-toradex.git/commit/?h=2015.04-toradex&id=2d8ea651b6da79047b6fa729863d25b5eb9e15d7
>

Marcel,

I don't understand your results above. What I'm most interested in is
if this patch series (adding the proper semaphore release and removing
your patch that uses the wrong register for i210) resolves the need
for you having added this particular patch for whatever board you
needed it for. Is the configuration that was failing for you requiring
17da7120249bfdef877f46be5bbcb3cc01212eb9 resolved with this series
applied?

When you say it 'still fails on Apalis T30 2GB V1.0E' does that mean
you have that particular failure both before and after this patch
series? That would indicate to me there is something more needed
specifically for that configuration.

I'm also not really clear what you mean by 'properly fused i211' vs
'iNVM fused i210' vis 'tools only aka non fused i211'. I believe you
are referring to if they are programmed parts or not but I'm not clear
if all of your configurations are using internal phy or an external
phy.

Your downstream patch indicates that in your non-working configuration
the EEMNGCTL.CFG_DONE_P0 bit is not getting set indicating (from the
datasheet) that the configuration cycle (configuration of SerDes, PHY,
PCIe and PLLs) is not done for port 0 which very well may be the
expected behavior on a non-programmed part.

The configuration I required this series for was for an i210 with
internal phy in copper mode. Without this series it would error out
with 'ERROR: Hardware Initialization Failed' because
e1000_swfw_sync_acquire() would timeout and return
-E1000_ERR_SWFW_SYNC.

Regards,

Tim


More information about the U-Boot mailing list