Re: [PATCH V3 3/3 ] mmc: add support for H/W clock gating of SD controller (resend)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Dec 13, 2010, at 6:50 AM, David Vrabel wrote:

> Nicolas Pitre wrote:
>> On Wed, 8 Dec 2010, zhangfei gao wrote:
>> 
>>> On Tue, Dec 7, 2010 at 9:50 PM, Philip Rakity <prakity@xxxxxxxxxxx> wrote:
>>>> On Dec 7, 2010, at 5:49 PM, zhangfei gao wrote:
>>>>> 2. we have to fully verify the hardware clk gating internally before
>>>>> sending the code.
>>>> code tested under marvell 2.6.32 linux.
>>> Thanks a lot, just wander could sdio be supported, since marvell8787
>>> requires around 10 clock cycles after cmd53 finished.
> 
> The specification requires only 8 clocks after end bit of a CMD53 data
> block.  (SD physical spec 3.01 section 4.4, clock control).  It is
> possible that the controller sends more than the minimum.
> 

hardware was designed before sdio 3.0

>> SDIO is currently left out as this is not clear if all SDIO cards still 
>> can send interrupts if their clock is disabled, or even function 
>> properly.  This might have to be a property that the SDIO function 
>> drivers could provide to the core.
> 
> It's a minefield.
> 
> Cards in 1-bit mode may interrupt at any time whether there is a clock
> or not.
> 
> Cards compliant to SDIO v2.00 should require the clock to generate
> interrupts when in 4-bit mode as this is what's specified in the
> specification.  As a vendor-specific extension, some v2.00 cards (e.g.,
> all CSR devices) do not require the clock.
> 
> Cards compliant to SDIO v3.00 may optionally have the clock turned off
> if the card indicates support for asynchronous interrupts and support
> has been enabled (via CCCR register bits).
> 
> Some host controllers will not detect interrupts if the clock is off and
> 4-bit mode is enabled.
> 
> I would suggest:
> 
> * Cards have a property: auto-clock-disable which indicates if the the
> clock can be switched off automatically by mmc core or if hardware clock
> gating may be used.
> 
> a. Memory cards would set this to true.
> b. SDIO v2.00 cards would set this to false.
> c. SDIO v3.00 cards would set this to true if asynchronous interrupts
> are supported and enabled, otherwise false.
> d. combo cards set this based on the SDIO function.
> 
> * If necessary, host controllers switch to 1-bit mode if the clock is
> turned off and switch back to 4-bit mode when the clock is turned back
> on (e.g., some sdhci controllers require this).
> 
> * SDIO function drivers can set auto-clock-disable to true if they're
> for a v2.00 card that supports asynchronous interrupts.
> 
> David
> -- 
> David Vrabel, Senior Software Engineer, Drivers
> CSR, Churchill House, Cambridge Business Park,  Tel: +44 (0)1223 692562
> Cowley Road, Cambridge, CB4 0WZ                 http://www.csr.com/
> 
> 
> Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom

--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux