mmc: sdhci-iproc: cygnus: Set NO_HISPD bit to fix HS50 data hold time problem
authorTrac Hoang <trac.hoang@broadcom.com>
Thu, 9 May 2019 17:24:26 +0000 (10:24 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 May 2019 13:47:11 +0000 (06:47 -0700)
commit17ed6b37d703c6acbe13a62fd66f80cb72ba084f
treee8f5eb8b76ee65c4aeb8ac173cf96a76d73f0868
parent7e52c06c796ea17e258a49289e8bceb77a1e4e6c
mmc: sdhci-iproc: cygnus: Set NO_HISPD bit to fix HS50 data hold time problem

commit b7dfa695afc40d5396ed84b9f25aa3754de23e39 upstream.

The iproc host eMMC/SD controller hold time does not meet the
specification in the HS50 mode. This problem can be mitigated
by disabling the HISPD bit; thus forcing the controller output
data to be driven on the falling clock edges rather than the
rising clock edges.

This change applies only to the Cygnus platform.

Stable tag (v4.12+) chosen to assist stable kernel maintainers so that
the change does not produce merge conflicts backporting to older kernel
versions. In reality, the timing bug existed since the driver was first
introduced but there is no need for this driver to be supported in kernel
versions that old.

Cc: stable@vger.kernel.org # v4.12+
Signed-off-by: Trac Hoang <trac.hoang@broadcom.com>
Signed-off-by: Scott Branden <scott.branden@broadcom.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mmc/host/sdhci-iproc.c