Rob, I didn't release the code, as this is not really part of openmoko. To make this driver, I used a part of Atheros's driver, merged with a part of openmoko's one, resulting in a "arch-independant" driver for 1.x versions of this card.
This worked well, and was stable enough for applications like video streaming, so I stayed with this solution. I don't have access to the code yet ( I recently changed of company ) , I have to ask a person to send it back to me. AFAIK, he is on holiday actually, I'll be able to give it to you in about a week I think. Regards, Vincent. 2009/8/18 Robert Emanuele <[email protected]> > Hi Vincent, > > I would be happy to give your code a try. We are not using DMA with a > real MMC driver. I'd appreciate a look at it. Have you released this > code back to the openmoko project? Is this the final solution you > went with or did you end up finding a card with the 2.0 firmware? > > Thanks, > > Rob > > On Mon, Aug 17, 2009 at 10:22 PM, Vincent Del > Medico<[email protected]> wrote: > > Hi rob, > > > > Openmoko's version of AR6k driver is for cards with 2.x firmware. > > You seem to have a 1.x version ( BMI Get Target Info: Exit (ver: > 0x1302270f > > type: 0x1) ), which is not compatible with 2.x. > > > > I faced the same problem as you before, except I was playing with the > OMAP > > processor ( TI ). > > > > I can give you the job I did, but it only works in some conditions : > > - your MMC/SD/SDIO driver must NOT use DMA transfers. The 32bit ARM core > > only supports transfers of data multiple of 4 bytes, but the AR6k driver > > sometimes sends data of 1, 2 or 3 bytes, resulting in DMA misaligned > errors. > > I've not been able to solve this problem, it could be nice to > investigate. > > - the driver works with a real MMC/SD/SDIO driver ( not SPI )... > > nevertheless, it maybe in SPI, but didn't tested. > > > > Regards, > > Vincent. > > 2009/8/18 Robert Emanuele <[email protected]> > >> > >> Greetings, > >> > >> I've been toying with your port of the ar6000 driver with my atmel > >> at91 processor. > >> > >> It tries to initialize the card but fails.... > >> > >> ar6000_available > >> BMI Get Target Info: Exit (ver: 0x1302270f type: 0x1) > >> Block Size Set: 128 (target address:0x8000066C) > >> ar6000_init() Got WMI @ 0xc3a37d60. > >> Timeout waiting for recv message > >> Target Not Available!! > >> ar6000_avail: register_netdev failed > >> +ar6000_destroy > >> ar6000_cleanup(): WMI not ready 0xc3a322c0 0xc3a37d60 > >> ar6000_cleanup(): Shut down WMI > >> eth0: link up (100/Full) > >> Attempting to reset target on instance destroy.... > >> -ar6000_destroy > >> > >> In an earlier post I saw that this firmware version may be too old. > >> I've tried cards from 3 different vendors and the newest version I can > >> come up with is 0x17 (which is on the way). Does anyone know the > >> differences between 1.3 and the version that works with this driver? > >> How do the CE guys get this to work? Or, does anyone know of a vendor > >> that sells an ar6000 with the latest firmware in an SD Card package? > >> > >> Thanks, > >> > >> Rob > >> > > > > >
