[U-Boot] [PATCH] mmc: atmel: Properly fix clock configuration
Marek Vasut
marex at denx.de
Thu Nov 5 17:38:45 CET 2015
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>
[...]
> @@ -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 ;-)
> }
> #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
*/
> + if (cmd->cmdidx == MMC_CMD_SWITCH)
> + udelay(8*1000000/ priv->curr_clk); /* 8 clk in us*/
> +
> return 0;
> }
Best regards,
Marek Vasut
More information about the U-Boot
mailing list