[#5937] MMC/SD can't work on bf518f-ezbrd when icache or dcache is off and system clock is low

Document created by Aaronwu Employee on Sep 25, 2013
Version 1Show Document
  • View in full screen mode

[#5937] MMC/SD can't work on bf518f-ezbrd when icache or dcache is off and system clock is low

Submitted By: Vivi Li

Open Date

2010-03-01 04:06:34    

Priority:

Medium     Assignee:

Nobody

Category:

N/A     Fixed In Release:

N/A

Found In Release:

N/A     Status:

Open

Board:

N/A     Processor:

BF518

Silicon Revision:

    Resolution:

N/A

Is the bug repeatable?:

yes     

Summary: MMC/SD can't work on bf518f-ezbrd when icache or dcache is off and system clock is low

Details:

 

MMC/SD can not work when icache or dcache is off and system clock is low.

 

 

--

U-Boot 2009.11.1-svn2234 (ADI-2010R1-pre) (Feb 27 2010 - 15:08:59)

 

CPU:   ADSP bf518-0.0 (Detected Rev: 0.0) (parallel flash boot)

Board: ADI BF518F EZ-Board board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 200 MHz, Core: 100 MHz, System: 50 MHz

RAM:   64 MB

Flash:  4 MB

MMC:  Blackfin SDH: 0

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   Blackfin EMAC

Hit any key to stop autoboot:  0

bfin>

 

bfin> icache on

Instruction Cache is ON

bfin> dcache off

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

bfin>

 

bfin> icache off

Instruction Cache is OFF

bfin> dcache on

Data (writethrough) Cache is ON

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

 

bfin> icache off

Instruction Cache is OFF

bfin> dcache off

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

--

 

Follow-ups

 

--- Cliff Cai                                                2010-06-11 03:10:27

The sd host controller should be the same with the one on BF54x,

and the code is the same.So,my thought is don't let it work under your

conditions.

 

Cliff

 

--- Mike Frysinger                                           2010-06-14 15:10:43

turning off of caches slows things down which may expose timing bugs that are

otherwise missed due to the processor being "fast enough".

 

it needs to be determined whether the issue is the driver not polling/setting

the right bits, or whether the slowed down core cant keep up the data rate for

the device.

 

--- Cliff Cai                                                2010-06-17 01:41:46

I had to add a lot SSNYCs after writing registers to make the driver work for

BF518,while BF548 SD doesn't need these SSYNCs.So I guess the timing problem

exists.

 

Cliff

 

--- Mike Frysinger                                           2010-06-20 21:11:41

you've already added a **** ton of undocumented SSYNCs to the bfin_sdh driver

for bug [#5726]:

http://blackfin.uclinux.org/gf/project/u-boot/scmsvn/trunk/?action=browse&path=/&view=rev&revision=2141

 

--- Cliff Cai                                                2010-06-28 22:30:47

After remove some redundant ssyncs,it works just fine.

 

--- Vivi Li                                                  2010-07-14 05:58:31

This test still fail in U-Boot 2010.03 and latest U-Boot 2010.06.

 

 

For any clock rate, when set dcache to off, mmc rescan will fail.

--

U-Boot 2010.03-svn2336 (ADI-2010R1-pre) (Jun 30 2010 - 06:33:29)

 

CPU:   ADSP bf518-0.0 (Detected Rev: 0.0) (parallel flash boot)

Board: ADI BF518F EZ-Board board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 400 MHz, Core: 400 MHz, System: 80 MHz

RAM:   64 MB

Flash:  4 MB

MMC:  Blackfin SDH: 0

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   bfin_mac

Hit any key to stop autoboot:  0

bfin> icache on

Instruction Cache is ON

bfin> dcache off

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

bfin> fatls mmc 0

  4441739   uimage

 

1 file(s), 0 dir(s)

 

bfin>

--

 

 

Bellow is the log for low system clock:

--

U-Boot 2010.03-svn2336 (ADI-2010R1-pre) (Jun 30 2010 - 08:53:14)

 

CPU:   ADSP bf518-0.0 (Detected Rev: 0.0) (parallel flash boot)

Board: ADI BF518F EZ-Board board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 200 MHz, Core: 100 MHz, System: 50 MHz

RAM:   64 MB

Flash:  4 MB

MMC:  Blackfin SDH: 0

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   bfin_mac

Hit any key to stop autoboot:  0

bfin>

bfin> mmc rescan 0

bfin>

bfin> icache off; dcache on

Instruction Cache is OFF

Data (writethrough) Cache is ON

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

bfin> icache on; dcache off

Instruction Cache is ON

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

bfin>

bfin> icache off; dcache off

Instruction Cache is OFF

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

bfin>

bfin> icache on; dcache on

Instruction Cache is ON

Data (writethrough) Cache is ON

bfin> mmc rescan 0

bfin>

--

 

--

U-Boot 2010.03-svn2336 (ADI-2010R1-pre) (Jun 30 2010 - 11:22:34)

 

CPU:   ADSP bf518-0.0 (Detected Rev: 0.0) (parallel flash boot)

Board: ADI BF518F EZ-Board board

       Support: http://blackfin.uclinux.org/

Clock: VCO: 400 MHz, Core: 400 MHz, System: 50 MHz

RAM:   64 MB

Flash:  4 MB

MMC:  Blackfin SDH: 0

In:    serial

Out:   serial

Err:   serial

KGDB:  [on serial] ready

Net:   bfin_mac

Hit any key to stop autoboot:  0

bfin>

bfin> icache on; dcache on

Instruction Cache is ON

Data (writethrough) Cache is ON

bfin> mmc rescan 0

bfin>

bfin> icache on; dcache off

Instruction Cache is ON

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

bfin>

bfin> icache off; dcache on

Instruction Cache is OFF

Data (writethrough) Cache is ON

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

bfin> icache off; dcache off

Instruction Cache is OFF

Data (writethrough) Cache is OFF

bfin> mmc rescan 0

tranfering data failed

sending CMD51 failed

sending CMD51 failed

sending CMD51 failed

bfin>

bfin> icache on; dcache on

Instruction Cache is ON

Data (writethrough) Cache is ON

bfin> mmc rescan 0

bfin>

--

 

--- Sonic Zhang                                              2010-09-15 23:18:29

Since rare people use sd in such low SCLK 50MHz, down the priority of this bug.

 

 

 

 

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

 

File Name     File Type     File Size     Posted By

No Files Were Found

Attachments

    Outcomes