linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luca Porzio (lporzio)" <lporzio@micron.com>
To: Richard Leitner <richard.leitner@skidata.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>
Cc: Bart Van Assche <bart.vanassche@sandisk.com>,
	Rob Herring <robh+dt@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Shawn Lin <shawn.lin@rock-chips.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	"Jaehoon Chung" <jh80.chung@samsung.com>,
	"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	Richard Leitner <dev@g0hl1n.net>
Subject: RE: [EXT] Re: [PATCH v2] mmc: core: add mmc-card hardware reset enable support
Date: Wed, 14 Jun 2017 16:12:49 +0000	[thread overview]
Message-ID: <6b92d0af00024549a0d22dda039780dd@bowex36d.micron.com> (raw)
In-Reply-To: <0a29de1a-2635-2bb8-808a-7b9a0197921a@skidata.com>

Hi,

> -----Original Message-----
> From: Richard Leitner [mailto:richard.leitner@skidata.com]
> Sent: Wednesday, June 14, 2017 9:25 AM
> To: Ulf Hansson <ulf.hansson@linaro.org>; Linus Walleij
> <linus.walleij@linaro.org>
> Cc: Bart Van Assche <bart.vanassche@sandisk.com>; Luca Porzio (lporzio)
> <lporzio@micron.com>; Rob Herring <robh+dt@kernel.org>; Mark Rutland
> <mark.rutland@arm.com>; Shawn Lin <shawn.lin@rock-chips.com>; Adrian
> Hunter <adrian.hunter@intel.com>; Jaehoon Chung
> <jh80.chung@samsung.com>; linux-mmc@vger.kernel.org; linux-
> kernel@vger.kernel.org; devicetree@vger.kernel.org; Richard Leitner
> <dev@g0hl1n.net>
> Subject: [EXT] Re: [PATCH v2] mmc: core: add mmc-card hardware reset
> enable support
> 
> On 04/11/2017 12:43 PM, Ulf Hansson wrote:
> > On 11 April 2017 at 10:17, Linus Walleij <linus.walleij@linaro.org> wrote:
> >> On Tue, Apr 11, 2017 at 9:31 AM, Richard Leitner
> >> <richard.leitner@skidata.com> wrote:
> >>
> >>> Some eMMCs disable their hardware reset line (RST_N) by default. To
> >>> enable it the host must set the corresponding bit in ECSD. An
> >>> example for such a device is the Micron MTFCxGACAANA-4M.
> >>>

This behavior is not Micron specific but instead it is enforced by the Jedec 
Specification. All eMMC must have HW reset disabled by default.

> >>> This patch adds a new mmc-card devicetree property to let the host
> >>> enable this feature during card initialization.
> >>>
> >>> Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
> >>
> >> Do we know *WHY* these cards disable their hardware reset lines?
> >
> > Allow me to make a guess. In case the reset isn't enabled, the
> > internal eMMC card firmware don't monitor the pin for the reset. I
> > guess that could makes sense if SoC vendors has failed to properly
> > connect the pin, avoiding the eMMC card to be reset when it shouldn't.
> >
> >> If it is just some random over-cautious panic thing we might consider
> >> just force re-enableing it, maybe with a warning in the dmesg, so we
> >> can always reset the card. No DT property needed.
> >

This specification (as Ulf correctly hinted) originated from badly connected 
HW Reset pins which caused unnecessary eMMC reset glitches.
Disabling this feature is a good option to contain glitches and avoid 
system level bugs.

> > There is actually already a DT property "cap-mmc-hw-reset"
> > (MMC_CAP_HW_RESET), which tells whether the eMMC reset is
> supported by
> > the host.
> >
> > Perhaps we can consider to force-enabling it for the eMMC card, when
> > this property is set for the mmc host!? At least, inventing yet
> > another binding doesn't make sense to me.
> 
> IMHO setting this (permanent) configuration bit should be done explicitly
> and not within another DT property. Otherwise somebody may accidentally
> set this configuration by (for example) including a dtsi which has cap-mmc-
> hw-reset configured.
> 
> Nonetheless if the majority agrees to implicitly set it when "cap-mmc-hw-
> reset" is configured I'm fine with that too.
> 
> Another possibility is to don't include it in the kernel at all and therefore
> require the mmc userspace program to configure it...?
> 
> >
> >> Putting some people who work for eMMC vendors in the To: line so they
> >> can say if they know about this.
> >
> > Yes, let's see what they say about it.

Here I am :-)

> 
> Any news/comments?
> 

IMHO mmc-util is where the patch really stands: the enabling is OTP, 
the programmer have to use mmc-util only once and the kernel 
will behave accordingly. 

Any platform vendor must check that the HW Reset pin is actually
Connected BEFORE enabling this feature otherwise the system may be
unstable. A DT Binding may be dangerous if this condition is not met 
as well as the code execution at each MMC init is honestly redundant
for an OTP location of the extCSD.

Cheers,
   Luca

> kind regards,
> Richard.L

  reply	other threads:[~2017-06-14 16:27 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-11  7:31 [PATCH v2] mmc: core: add mmc-card hardware reset enable support Richard Leitner
2017-04-11  8:17 ` Linus Walleij
2017-04-11 10:43   ` Ulf Hansson
2017-06-14  7:25     ` Richard Leitner
2017-06-14 16:12       ` Luca Porzio (lporzio) [this message]
2017-06-20  9:45         ` [EXT] " Linus Walleij
2017-06-20 10:24           ` Richard Leitner
2017-06-20 16:10             ` Linus Walleij

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=6b92d0af00024549a0d22dda039780dd@bowex36d.micron.com \
    --to=lporzio@micron.com \
    --cc=adrian.hunter@intel.com \
    --cc=bart.vanassche@sandisk.com \
    --cc=dev@g0hl1n.net \
    --cc=devicetree@vger.kernel.org \
    --cc=jh80.chung@samsung.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=richard.leitner@skidata.com \
    --cc=robh+dt@kernel.org \
    --cc=shawn.lin@rock-chips.com \
    --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).