ARM: rmobile: Fix SD divider settings on Gen3
On RCar M3 and on RCar H3 newer than and not including ES1.0, the SD clock must be divided by 4 rather than 2 because a hardware workaround present only in the H3 ES1.0 has been removed from these chips. U-Boot currently only supports M3 and H3 ES 2.0 and newer, so configure the SD pre-divider to 4 to prevent SD instability. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
This commit is contained in:
parent
ec6bc928bb
commit
183f5fd3ca
@ -74,10 +74,10 @@ int board_early_init_f(void)
|
||||
/* SDHI0, 3 */
|
||||
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, SD0_MSTP314 | SD3_MSTP311);
|
||||
|
||||
writel(0, SD0CKCR);
|
||||
writel(0, SD1CKCR);
|
||||
writel(0, SD2CKCR);
|
||||
writel(0, SD3CKCR);
|
||||
writel(1, SD0CKCR);
|
||||
writel(1, SD1CKCR);
|
||||
writel(1, SD2CKCR);
|
||||
writel(1, SD3CKCR);
|
||||
|
||||
#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH)
|
||||
/* DVFS for reset */
|
||||
|
@ -72,10 +72,10 @@ int board_early_init_f(void)
|
||||
/* SDHI0 */
|
||||
mstp_clrbits_le32(MSTPSR3, SMSTPCR3, SD0_MSTP314);
|
||||
|
||||
writel(0, SD0CKCR);
|
||||
writel(0, SD1CKCR);
|
||||
writel(0, SD2CKCR);
|
||||
writel(0, SD3CKCR);
|
||||
writel(1, SD0CKCR);
|
||||
writel(1, SD1CKCR);
|
||||
writel(1, SD2CKCR);
|
||||
writel(1, SD3CKCR);
|
||||
|
||||
#if defined(CONFIG_SYS_I2C) && defined(CONFIG_SYS_I2C_SH)
|
||||
/* DVFS for reset */
|
||||
|
Loading…
Reference in New Issue
Block a user