aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc/pxa_mmc_gen.c
diff options
context:
space:
mode:
authorStefan Mavrodiev2018-03-27 16:57:23 +0300
committerJagan Teki2018-04-23 12:12:56 +0530
commit4744d81cc0dbe238bd4d8cd88c1c71022bffa621 (patch)
tree284ebf85eaeec2d3ddc37d38725e1daa45a38480 /drivers/mmc/pxa_mmc_gen.c
parent275d80a4c2fb63890f3f4c16b7ad481064e650a0 (diff)
sunxi: mmc: Fix phase delays
U-boot driver for sunxi-mmc uses PLL6, unlike linux kernel where PLL5 is used, with clock rates respectively 600MHz and 768MHz. Thus there are different phase degree steps - 24 for the kernel and 30 for u-boot. In the kernel driver the phase is set 90 deg for output and 120 for sample. Dividing by 30 will result values 3 and 4. Those are the values set in the u-boot driver. However, the condition defining delays is wrong. MMC core driver requests clock of 52MHz, sunxi-driver sets clock of 50MHz, but phase is set 30 deg for output and 120 deg for sample. Apparently this works for most cards. On A20-SOM204-EVB-eMMC there is eMMC card (KLMAG2GEND) which complains about it. Maybe there is other boards with similar problem? So the fix is to match delays for both u-boot and kernel. Signed-off-by: Stefan Mavrodiev <stefan@olimex.com> Acked-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
Diffstat (limited to 'drivers/mmc/pxa_mmc_gen.c')
0 files changed, 0 insertions, 0 deletions