ARM: imx: fsl_esdhc: fix usage of low 4 bits of sysctl register
authorEric Nelson <eric@nelint.com>
Fri, 4 Dec 2015 19:32:48 +0000 (12:32 -0700)
committerStefano Babic <sbabic@denx.de>
Sun, 3 Jan 2016 14:21:21 +0000 (15:21 +0100)
commitf0b5f23f32adfb790293c4f1722042026fa98416
treeaf067eff7e525a63c19c32459d496068218c0d36
parent839479dda6b449d911d1d56c599f2a9538bb2215
ARM: imx: fsl_esdhc: fix usage of low 4 bits of sysctl register

The low four bits of the SYSCTL register are reserved on the USDHC
controller on i.MX6 and i.MX7 processors, but are used for clocking
operations on earlier models.

Guard against their usage by hiding the bit mask macros on those
processors.

These bits are used to prevent glitches when changing clocks on
i.MX35 et al. Use the RSTA bit instead for i.MX6 and i.MX7.

>From the i.MX6DQ RM:
To prevent possible glitch on the card clock, clear the
FRC_SDCLK_ON bit when changing clock divisor value(SDCLKFS
or DVS in System Control Register) or setting RSTA bit.

Signed-off-by: Eric Nelson <eric@nelint.com>
Reviewed-by: Fabio Estevam <fabio.estevam@freescale.com>
Reviewed-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Hector Palacios <hector.palacios@digi.com>
drivers/mmc/fsl_esdhc.c
include/fsl_esdhc.h