Dear Dongas,

I was have similar problem at start of driver port to AT91SAM9260, problem was in SDIO_IRQ suport for my CPU in 4wire mode. First, try turn off MMC_CAP_SDIO_IRQ in you MMC host controller. In this case IRQ state will request every 10ms. Posible it help you.

- mmc->caps = MMC_CAP_SDIO_IRQ;
+ mmc->caps = 0; // MMC_CAP_SDIO_IRQ;

--
Regards, Ivan

----- Original Message ----- From: "dongas" <[email protected]>
To: <[email protected]>
Sent: Tuesday, April 07, 2009 4:46 PM
Subject: Re: AR6000 driver failed on probe stage


2009/3/28 dongas <[email protected]>:
After digging into the code, i found that in bmiBufferSend function in bmi.c,
the driver will try to repeatly read the COUNT_DEC register of the
card until the register value read back is Non-zero and then the following
steps can go on.
But the value returned from register was alway zero , so ar6000 driver
hanged there and keeped doing almost the infinit loop
reading&checking.

Why the driver can not read a non-zero value from COUNT_DEC register
as it wanted?

After debugging i found that the ar6000 driver failed when it was
trying to read target version via BMI request of ar6000 in the routine
BMIGetTargetInfo because it was unable to get a BMI command credit(by
reading CONUTER_DEC register) for the next BMI request according to
the BMI flow control.
I think if the target(ar6000) initialized successful before after the
host enabled it, the target should have initially provided one command
credit to host according to the datasheet, but it hadn’t. (if wrong
pls correct me )
(The target is enabled by the CMD52 to write to ENABLE BIT of CCCR
register of card.
Once the target is enabled, it executes firmware that initializes SoC
and software states.)
So the driver repeatly tried to get this command credit and hanged there.
I went through some ar6001 related specs/documents, but still havn't
got the key of this issue that why the target failed to provided one
command credit to after it was enabled by host?

I guess the target failed to initailize itself or worked inproperly
but don't know which reason might cause it failed.
Now only one thing i can make sure is that wifi card is on I/O Ready
state after host enables it by checing CCCR register.

Any ideas about this issue?

Thanks

Regards
Dongas




Reply via email to