Dear Dongas,

It's very kind of you.
Really appreciate for you reply. :)

2009/3/28 Ivan Petrov <[email protected]>:
Dear Ivan,

Can you help tell that which SDIO WiFi card are you using?
Are you using Openmoko's ar6000 driver in Andy-tracking branch in kernel
2.6.29?

Card - Silex SX-SDAWG. Drivers based on OpenMokko branch, but with small
patches.

I'm also using Silex SX-SDWAG with driver based on OpenMoko
Andy-tracking branch in kernel 2.6.29.
But i havn't got any small patches.

Does it mean that the ar6000 driver from Openmoko can not work for
SX-SDWAG by default, need some extra patches?
No no, SX-SDWAG work with AR6000 Openmoko dirvers,
1) driver have GPIO ussage on HIF layer, but on AT91 it not work.
2) I have myself HIF levele module, and now I try merge it with OpenMoko driver. I send old module to Werner as sample, posible he can find inside any useful part.
3) AT91 have small bugs...

Can you help tell me that where can i get these special patches?
1, 2 - I attach full experemental snapshot (diff with orig kernel), apply it to clean kernel, driver have different path with OpenMoko.
3 - about bugs...

AT91SAM9260 not correctly work with SDIO_IRQ in 4wire mode.
For solve:
1. Turn off 4wire mode in EK BOARD file, or try switch it on HIF layer (atm I 
not arrive)

+/*
+ * MCI (SD/MMC)
+ */
+static struct at91_mmc_data __initdata board_mmc_data = {
+ .slot_b  = 0, // port A on my board
+ .wire4  = 0, // wire1 mode
+// .det_pin = ... not connected
+// .wp_pin  = ... not connected
+// .vcc_pin = ... not connected
+};

2. Disable SDIO_IRQ in host controller, and increase jifies HZ form 100 to 1000 
in Linux config

==================
CONFIG_AT91_TIMER_HZ=1000

==================
diff -urN linux-2.6.28.8.orig/drivers/mmc/host/at91_mci.c
linux-2.6.28.8/drivers/mmc/host/at91_mci.c
--- linux-2.6.28.8.orig/drivers/mmc/host/at91_mci.c 2009-03-17
03:50:03.000000000 +0300
+++ linux-2.6.28.8/drivers/mmc/host/at91_mci.c 2009-03-22 01:08:53.000000000
+0300
@@ -1007,7 +1007,7 @@
 mmc->f_min = 375000;
 mmc->f_max = 25000000;
 mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34;
- mmc->caps = MMC_CAP_SDIO_IRQ;
+ mmc->caps = 0; // MMC_CAP_SDIO_IRQ;

 mmc->max_blk_size = 4095;
 mmc->max_blk_count = mmc->max_req_size;
==================

And more... Please insert card to slot before board power ON. Hotplug i not test, but after reset (not power off/on) my card not work.

In addition , which firmware are your card based?
My card is based on firmware 2.0 since Werner told me that the ar6000
driver of Openmoko is only for firmware 2.0 card.
equally.

My board is based on ARM926 core.
ARM926 or AT91SAM9260? however it is not important.

--
Regards, Ivan

Reply via email to