* Au1200 MMC/SD problem
@ 2006-05-02 5:46 Wolfgang Ocker
2006-05-02 14:43 ` Jordan Crouse
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Ocker @ 2006-05-02 5:46 UTC (permalink / raw)
To: linux-mips
Hello,
I'm trying to get a SD card to work on an Db1200 board. I'm using kernel
2.6.16.11 (+ the patch from Jordan Crouse):
http://www.linux-mips.org/archives/linux-mips/2005-12/msg00006.html
The card gets recognized and issues its relative address. Then command 9
(send csd) times out.
MMC: req done (37): 0: 00000120 00000000 00000000 00000000
MMC: starting cmd 29 arg 00018000 flags 00000061
MMC: req done (29): 0: 80ff8000 00000000 00000000 00000000
MMC: starting cmd0 2 arg 00000000 flags 00000067
MMC: req done (02): 0: 01504153 30313642 414a8be0 08004a00
MMC: starting cmd 03 arg 00000000 flags 00000065
MMC: req done (03): 0: e008004a 00000000 00000000 00000000
MMC: starting cmd 02 arg 00000000 flags 00000067
MMC: req done (02): 1: 00000000 00000000 00000000 00000000
MMC: req done (02): 1: 00000000 00000000 00000000 00000000
MMC: req done (02): 1: 00000000 00000000 00000000 00000000
MMC: req done (02): 1: 00000000 00000000 00000000 00000000
au1xx(0): DEBUG: set_ios (power=2, clock=450000Hz, vdd=15, mode=2)
MMC: starting cmd 09 arg e0080000 flags 00000007
MMC: req done (09): 1: 00000000 00000000 00000000 00000000
MMC: req done (09): 1: 00000000 00000000 00000000 00000000
MMC: req done (09): 1: 00000000 00000000 00000000 00000000
MMC: req done (09): 1: 00000000 00000000 00000000 00000000
I'm new to MMC/SD and I have no idea whether this is a problem with the
hardware, the software or the SD card (I tried two different SD cards.
Both work on my laptop with Linux 2.6.16 and a Winbond W83L51xD).
Any hints are highly appreciated.
Thanks,
Wolfgang
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Au1200 MMC/SD problem
2006-05-02 5:46 Au1200 MMC/SD problem Wolfgang Ocker
@ 2006-05-02 14:43 ` Jordan Crouse
2006-05-02 18:02 ` Wolfgang Ocker
0 siblings, 1 reply; 5+ messages in thread
From: Jordan Crouse @ 2006-05-02 14:43 UTC (permalink / raw)
To: Wolfgang Ocker; +Cc: linux-mips
On 02/05/06 07:46 +0200, Wolfgang Ocker wrote:
> Hello,
>
> I'm trying to get a SD card to work on an Db1200 board. I'm using kernel
> 2.6.16.11 (+ the patch from Jordan Crouse):
Thats not an encouraging sign.
> au1xx(0): DEBUG: set_ios (power=2, clock=450000Hz, vdd=15, mode=2)
> MMC: starting cmd 09 arg e0080000 flags 00000007
> MMC: req done (09): 1: 00000000 00000000 00000000 00000000
> MMC: req done (09): 1: 00000000 00000000 00000000 00000000
> MMC: req done (09): 1: 00000000 00000000 00000000 00000000
> MMC: req done (09): 1: 00000000 00000000 00000000 00000000
Ok - so the reasons for cmd->error to be MMC_ERR_TIMEOUT are:
* invalid return from dma_map_sg in au1xmmc_prepare_data
* general error from the DBDMA engine
* one of SD_STATUS_RAT sent when the IRQ fires
So to narrow it down - check the return value of au1xmmc_prepare_data
in au1xmmc_request. Then, see if RAT is ever set in au1xmmc_irq. This
will help narrow down the problem.
Also, the usual general questions:
What SD card are you using? How big is it? Is it a v1.01 or a v1.1 card?
Jordan
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Au1200 MMC/SD problem
2006-05-02 14:43 ` Jordan Crouse
@ 2006-05-02 18:02 ` Wolfgang Ocker
2006-05-03 14:59 ` Jordan Crouse
0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Ocker @ 2006-05-02 18:02 UTC (permalink / raw)
To: Jordan Crouse; +Cc: linux-mips
On Tue, 2006-05-02 at 08:43 -0600, Jordan Crouse wrote:
> On 02/05/06 07:46 +0200, Wolfgang Ocker wrote:
> > [ timeout during cmd 9 ]
> Ok - so the reasons for cmd->error to be MMC_ERR_TIMEOUT are:
> * invalid return from dma_map_sg in au1xmmc_prepare_data
> * general error from the DBDMA engine
> * one of SD_STATUS_RAT sent when the IRQ fires
The last one. In au1xmmc_irq() the status register is read with the
SD_STATUS_RAT bit set.
> So to narrow it down - check the return value of au1xmmc_prepare_data
> in au1xmmc_request. Then, see if RAT is ever set in au1xmmc_irq. This
> will help narrow down the problem.
au1xmmc_prepare_data doesn't return any error.
> Also, the usual general questions:
> What SD card are you using? How big is it? Is it a v1.01 or a v1.1 card?
1. Canon, 16 MB, got this one with a Canon camera.
2. Labeled by Hama, 1 GB, but I don't know the real manufacturer.
I can operate the cards on my Linux-Laptop. Is there a way to determine
the manufacturer and version directly from the card?
Thanks,
Wolfgang
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Au1200 MMC/SD problem
2006-05-02 18:02 ` Wolfgang Ocker
@ 2006-05-03 14:59 ` Jordan Crouse
2006-05-05 10:39 ` Wolfgang Ocker
0 siblings, 1 reply; 5+ messages in thread
From: Jordan Crouse @ 2006-05-03 14:59 UTC (permalink / raw)
To: Wolfgang Ocker; +Cc: linux-mips
> The last one. In au1xmmc_irq() the status register is read with the
> SD_STATUS_RAT bit set.
Ok - so the card is timing out. That could be a series of problems, some
of which could be hardware, some of which could be software. Since you are
using a db1200, I'll rule out hardware for the moment, unless you have a
modified board.
Do MMC cards work? Try one - that will give us another data point.
Jordan
--
Jordan Crouse
Senior Linux Engineer
AMD - Personal Connectivity Solutions Group
<www.amd.com/embeddedprocessors>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Au1200 MMC/SD problem
2006-05-03 14:59 ` Jordan Crouse
@ 2006-05-05 10:39 ` Wolfgang Ocker
0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Ocker @ 2006-05-05 10:39 UTC (permalink / raw)
To: Jordan Crouse; +Cc: linux-mips
On Wed, 2006-05-03 at 08:59 -0600, Jordan Crouse wrote:
> > The last one. In au1xmmc_irq() the status register is read with the
> > SD_STATUS_RAT bit set.
>
> Ok - so the card is timing out. That could be a series of problems, some
> of which could be hardware, some of which could be software. Since you are
> using a db1200, I'll rule out hardware for the moment, unless you have a
> modified board.
Today I tested a third SD card from SanDisk, 128MB, same problem and log
output (time out in command 9).
> Do MMC cards work? Try one - that will give us another data point.
Today I received a SanDisk 64 MB MMC card, it doesn't work either. Here
the log output:
au1xx(0): DEBUG: set_ios (power=0, clock=0Hz, vdd=0, mode=1)
au1xxx-mmc: MMC Controller 0 set up at B0600000 (mode=dma)
au1xx(0): DEBUG: set_ios (power=1, clock=0Hz, vdd=23, mode=1)
au1xx(0): DEBUG: set_ios (power=2, clock=450000Hz, vdd=23, mode=1)
au1xx(0): DEBUG: set_ios (power=2, clock=450000Hz, vdd=23, mode=1)
MMC: starting cmd 00 arg 00000000 flags 00000040
MMC: req done (00): 0: 00000000 00000000 00000000 00000000
au1xx(0): DEBUG: set_ios (power=2, clock=450000Hz, vdd=23, mode=1)
MMC: starting cmd 37 arg 00000000 flags 00000015
au1xx(0): DEBUG: au1xmmc_irq(), SD_STATUS_RAT set
MMC: req done (37): 1: 00000000 00000000 00000000 00000000
MMC: starting cmd 37 arg 00000000 flags 00000015
au1xx(0): DEBUG: au1xmmc_irq(), SD_STATUS_RAT set
MMC: req done (37): 1: 00000000 00000000 00000000 00000000
MMC: starting cmd 37 arg 00000000 flags 00000015
au1xx(0): DEBUG: au1xmmc_irq(), SD_STATUS_RAT set
MMC: req done (37): 1: 00000000 00000000 00000000 00000000
MMC: starting cmd 37 arg 00000000 flags 00000015
au1xx(0): DEBUG: au1xmmc_irq(), SD_STATUS_RAT set
MMC: req done (37): 1: 00000000 00000000 00000000 00000000
MMC: mmc_setup(), send_app_op_cond, ocr = 1000fc00, err = 1
MMC: mmc_setup(), no SD card found (1)
MMC: starting cmd 01 arg 00000000 flags 00000061
au1xx(0): DEBUG: au1xmmc_irq(), SD_STATUS_RAT set
MMC: req done (01): 1: 00000000 00000000 00000000 00000000
MMC: mmc_rescan(): no card found!
au1xx(0): DEBUG: set_ios (power=0, clock=0Hz, vdd=0, mode=1)
Thanks,
Wolfgang
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2006-05-05 10:39 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-02 5:46 Au1200 MMC/SD problem Wolfgang Ocker
2006-05-02 14:43 ` Jordan Crouse
2006-05-02 18:02 ` Wolfgang Ocker
2006-05-03 14:59 ` Jordan Crouse
2006-05-05 10:39 ` Wolfgang Ocker
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.