[U-Boot] [PATCH] mmc: atmel: Properly fix clock configuration
Gregory CLEMENT
gregory.clement at free-electrons.com
Thu Nov 5 20:56:19 CET 2015
Hi Marek,
On jeu., nov. 05 2015, Marek Vasut <marex at denx.de> wrote:
> On Thursday, November 05, 2015 at 03:53:16 PM, Gregory CLEMENT wrote:
>> Timing issue occurs on eMMC not only when modifying the frequency but
>> also for all the switch command(CMD6). According to the MMC spec waiting
>> 8 clocks after a switch command would be the thing to do.
>>
>> This patch allows fixing CPU hang observed when trying to changing the
>> bus width on a eMMC on SAMA5D4.
>>
>> Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
>
> On DENX MA5D4EVK:
>
> Tested-by: Marek Vasut <marex at denx.de>
Thanks for having tested it so quick!
>
> [...]
>
>> @@ -284,8 +286,10 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
>> struct mmc_data *data) {
>> u32 cnt = word_count * 4;
>> printf("Read Data:\n");
>> + /*
>> print_buffer(0, data->dest + cnt * block_count,
>> 1, cnt, 0);
>> + */
>
> This bit shouldn't be in the patch I guess ;-)
You're right!
>
>> }
>> #endif
>> #ifdef DEBUG
>> @@ -323,6 +327,12 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
>> struct mmc_data *data) }
>> }
>>
>> + /* After the switch command, wait for 8 clocks before the next
>> + * command
>> + */
>
> The comment style should match the kernel one -- multilines go like this:
> /*
> * foo
> * bar
> */
Sure, I will send a v2 with tour comment taken into account anw with
your tested-by.
Thanks,
Gregory
>
>> + if (cmd->cmdidx == MMC_CMD_SWITCH)
>> + udelay(8*1000000/ priv->curr_clk); /* 8 clk in us*/
>> +
>> return 0;
>> }
>
> Best regards,
> Marek Vasut
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the U-Boot
mailing list