Libertas with if_cs.c on ARM processor

Cyril HAENEL chaenel at free.fr
Fri Jan 23 02:35:18 EST 2009



Ryan Mallon a écrit :
> Cyril HAENEL wrote:
>   
>> Hi all,
>>
>> I am not sure I am on the right place, but I don't know where to ask my 
>> question.
>>
>> I built a custom board based on the AT91SAM9260 ARM processor. My wifi 
>> card is based on the marvell 8385 chip, and is connected to the 
>> processor with compact flash bus.
>> The card is detected but the board freeze when I try to load the helper 
>> in the card. The problem comes from the /WAIT signal, after some 
>> read/write on the bus the 8385 put this signal low for ever, and the 
>> processor wait for ever....
>>
>> I looked in detail on the scope, and I seen that the 8385 put the /wait 
>> signal low when its chip selects CE1 and CE2 are not active !!
>> So I seen it puts the /wait signal low when /IORD and /IOWR are low. 
>> Because /IORD and /IOWR are multiplexed with other signal on the 
>> AT91SAM9260, it is possible these signals goes low simultaneously. It's 
>> seems the 8385 is affected by this situation, even if it is not 
>> chip-selected.
>>
>> Is someone have a 8385 cf module working on a AT91SAM926x board ? If 
>> yes, how have you connected these signals ?
>>     
>
> Hi,
>
> First off, I'm a software engineer, so forgive me if my explanation is a
> little off :-). We have the Marvell 8385 compact flash (Winstron Wifi
> module) working on an AT91SAM9260 based board. Our memory bus is 1.8v so
> there are buffers for the conversion from 3v3 on the compact flash
> signals and also pullups on the pc_wait_n, pc_rst, pc_reg and pc_rdy
> signals to 3v3.
>
> Also, check that your kernel is putting all of the pins in their correct
> alternative function mode for compact flash.
>
> ~Ryan
>
>   
Ryan, thank you for your answer.
On my board, mem bus is 3.3V and the wifi card is definitively mounted 
on the board, thus I have no buffer, all signals are directly connected 
on the card, exactly as figure 20.5 on page 152 of the at91sam9260 
datasheet, but without the buffers.

On your board the mem bus is 16 bits or 32 bits ? Because in 16 bits 
mode (my bus is 16 bits), normally NBS3 (multiplexed with CFIOW) should 
be not used when accessing other memory zone than the pcmci memory zone. 
And I can see this signal at zero level even when the pcmcia memory zone 
is not acceded.

Regards,
Cyril

-- 

Cyril Haenel
Registered Linux User #332632




More information about the libertas-dev mailing list