Changeset 2805


Ignore:
Timestamp:
Jan 10, 2012, 1:45:52 AM (4 years ago)
Author:
quozl
Message:

OLPC XO-1.75 - retry EDI interface activation when using it for tag maintenance operations, change EDI byte in to reveal an inactive state, tested on C1 SKU201, fix for #11565.

Location:
cpu/arm/olpc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpu/arm/olpc/ecflash.fth

    r2762 r2805  
    4040: ?reflash-ec-flags  ( adr -- )
    4141   use-edi-spi                          ( adr )
    42    spi-start                            ( adr )  \ avoids holding EC in reset
     42   edi-open-active                      ( adr )  \ avoids holding EC in reset
    4343   load-base /flash-page ec-flags-offset edi-read-flash         ( adr )
    4444   dup load-base /flash-page comp       ( adr different? )
  • cpu/arm/olpc/edi.fth

    r2803 r2805  
    2727[ifndef] edi-wait-b
    2828: edi-wait-b  ( -- b )  \ Wait for and receive EC response byte
    29    d# 10000 0  do
    30       spi-in h# 50 =  if
    31          spi-in           ( b )
    32          spi-cs-off       ( b )
    33          unloop exit
    34       then
     29   d# 100 0  do
     30      spi-in              ( d )
     31      dup h# 5f <>  if    ( d )
     32         dup h# 50 =  if  ( d )
     33            drop
     34            spi-in        ( b )
     35            spi-cs-off    ( b )
     36            unloop exit
     37         then             ( d )
     38         spi-cs-off       ( d )
     39         h# ff =  abort" EDI byte in inactive"
     40         true abort" EDI byte in confused"
     41      then                ( d )
     42      drop
    3543   loop
    3644   spi-cs-off
     
    228236   \ fast-edi-clock   \ Target speed up to 16 MHz
    229237   \ reset
     238;
     239: edi-open-active  ( -- )
     240   spi-start
     241   ['] select-flash  catch  if  select-flash  then
    230242;
    231243
Note: See TracChangeset for help on using the changeset viewer.