linux-amlogic.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Jerome Brunet <jbrunet@baylibre.com>
To: Ulf Hansson <ulf.hansson@linaro.org>,
	Kevin Hilman <khilman@baylibre.com>
Cc: linux-amlogic@lists.infradead.org, linux-mmc@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Jerome Brunet <jbrunet@baylibre.com>
Subject: [PATCH v2 0/7] mmc: meson-gx: clean up and tuning update
Date: Tue, 23 Apr 2019 11:02:28 +0200	[thread overview]
Message-ID: <20190423090235.17244-1-jbrunet@baylibre.com> (raw)

The purpose of this series is too improve reliability of the amlogic mmc
driver on new (g12a) and old ones (axg, gxl, gxbb, etc...)

* The 3 first patches are just harmless clean ups.
* Patch 4 makes sure HS400 can't be enabled, we still have not been able
  to crack this modes.
* Patch 5 removes some clock glitches when switching to DDR modes
* Patch 6 and 7 changes the tuning method from Rx phase to signal
  resampling. It could have been done in a single patch but the unified
  diff was extremely ugly. The change has been split in two patches to
  ease review.

The last tuning update that went through was meant to improve the axg
support. Since then, it was reported to break some other boards, like the
s912 vim2.

Also with the current tuning method, it was impossible to find phase
settings which would work on all the SoCs, including the new ones.

After redoing all the tests from scratch, it appeared that Rx phase made
(strangely) almost no difference, especially on g12a and axg. However, it
showed that it is important to have a phase shift between the Core and Tx
clock, 180 works best.

I discussed the test results with Amlogic. They suggested to use 180/0 or
0/180 for the Core and Tx phase. For tuning, they suggested to use
signal resampling.

So far, so good ... here the platform and modes tested:

NanoPi-K2 (S905): SD UHS SDR50/DDR50, SDIO HS
Odroid-C2 (S905): SD UHS SDR50/DDR50, eMMC DDR52/HS200 (16GB module)
Khadas Vim (S905X): SD HS, SDIO HS, eMMC HS200
Libretech CC (S905X): SD HS, eMMC HS200
Khadas Vim2 (S912): SD HS, SDIO HS, eMMC HS200
S400 (A113D): SDIO UHS SDR104, eMMC DDR52/HS200
U200 (S905D2): SD HS, eMMC DDR52/HS200
SEI510 (S905X2): SD HS, eMMC DDR52/HS200

Changes since v1 [0]:
* Add missing writel in patch 5 (error when switching width)
* Change patch 3 commit description

[0]: https://lkml.kernel.org/r/20190417204355.469-1-jbrunet@baylibre.com

Jerome Brunet (7):
  mmc: meson-gx: remove open coded read with timeout
  mmc: meson-gx: ack only raised irq
  mmc: meson-gx: correct irq flag
  mmc: meson-gx: disable HS400
  mmc: meson-gx: avoid clock glitch when switching to DDR modes
  mmc: meson-gx: remove Rx phase tuning
  mmc: meson-gx: add signal resampling tuning

 drivers/mmc/host/meson-gx-mmc.c | 419 +++++++++-----------------------
 1 file changed, 114 insertions(+), 305 deletions(-)

-- 
2.20.1


_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic

             reply	other threads:[~2019-04-23  9:02 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-23  9:02 Jerome Brunet [this message]
2019-04-23  9:02 ` [PATCH v2 1/7] mmc: meson-gx: remove open coded read with timeout Jerome Brunet
2019-04-23  9:02 ` [PATCH v2 2/7] mmc: meson-gx: ack only raised irq Jerome Brunet
2019-04-27 19:53   ` Martin Blumenstingl
2019-04-23  9:02 ` [PATCH v2 3/7] mmc: meson-gx: correct irq flag Jerome Brunet
2019-04-27 19:56   ` Martin Blumenstingl
2019-04-23  9:02 ` [PATCH v2 4/7] mmc: meson-gx: disable HS400 Jerome Brunet
2019-04-27 20:02   ` Martin Blumenstingl
2019-04-29  8:29     ` Jerome Brunet
2019-04-29 18:31       ` Martin Blumenstingl
2019-04-29 18:50         ` Jerome Brunet
2019-04-30 20:02           ` Martin Blumenstingl
2019-04-30 20:28             ` Jerome Brunet
2019-04-23  9:02 ` [PATCH v2 5/7] mmc: meson-gx: avoid clock glitch when switching to DDR modes Jerome Brunet
2019-04-27 20:03   ` Martin Blumenstingl
2019-04-23  9:02 ` [PATCH v2 6/7] mmc: meson-gx: remove Rx phase tuning Jerome Brunet
2019-04-27 20:09   ` Martin Blumenstingl
2019-04-23  9:02 ` [PATCH v2 7/7] mmc: meson-gx: add signal resampling tuning Jerome Brunet
2019-04-27 20:09   ` Martin Blumenstingl
2019-04-29 10:44 ` [PATCH v2 0/7] mmc: meson-gx: clean up and tuning update Ulf Hansson
2019-04-29 18:40   ` Martin Blumenstingl
2019-04-29 19:12     ` Kevin Hilman
2019-04-30 20:03     ` Martin Blumenstingl
2019-05-03 13:28   ` Ulf Hansson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190423090235.17244-1-jbrunet@baylibre.com \
    --to=jbrunet@baylibre.com \
    --cc=khilman@baylibre.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).