public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Add support for hardware reset of eMMC card on reboot
@ 2015-02-02  8:33 Marek Szyprowski
  2015-02-02  8:33 ` [PATCH v2 1/3] mmc: pwrseq: add driver for emmc hardware reset Marek Szyprowski
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Marek Szyprowski @ 2015-02-02  8:33 UTC (permalink / raw)
  To: linux-mmc, linux-samsung-soc
  Cc: Marek Szyprowski, Kukjin Kim, Tobias Jakobi, Daniel Drake,
	Sebastian Reichel, Seungwon Jeon, Jaehoon Chung, Ulf Hansson,
	Chris Ball, Joonyoung Shim, Javier Martinez Canillas

Hello,

This patchset adds new mmc power sequence driver, which performs eMMC
card hardware reset. Such power sequence, involving resetting emmc card,
is required on some boards to properly perform system reboot procedure.

This patchset originates from fixes for the reboot hang issue on
Hardkernel's Odroid boards with eMMC card. Those boards are designed in
such a way, that the eMMC nreset signal is routed to SoC GPIO line
instead of the board reset logic. To properly restard system and let ROM
bootloader to read next bootloader from eMMC, one need to reset emmc
card before performing reboot.

The initial patches consisted of a complete reset/power off driver, but
after further analysis, it turned out that only eMMC nreset line control
logic is specific for those boards. Everything else can be done by the
MMC code. Sjoerd Simons and Jaehoon Chung suggested that such feature is
something generic, not really specific to the MMC host controller used
on Odroid boards, so it should be implemented in MMC core. Then, Ulf
Hansson suggested to use recently introduced power sequences driver for
implementing this feature.

This patches provides a simple mmc-pwrseq-emmc driver, which controls
single gpio line and performs eMMC reset procedure just after card power
on and just before turning it off or performing system reboot. This
driver has been instantiated on Odroid X2/U3 and XU3 boards.

Patches are prepared on top of linux-next.

Best regards
Marek Szyprowski
Samsung R&D Institute Poland


Changelog:

v2:
- moved all code to separate mmc-prwseq-emmc driver

v1:
https://www.mail-archive.com/linux-samsung-soc@vger.kernel.org/msg41641.html
- moved all the code and logic to mmc core (slot-gpio.c), so it is
  available to all mmc drivers, which uses device tree

v0:
http://thread.gmane.org/gmane.linux.kernel.samsung-soc/42477/
- separated emmc reset logic from other code and moved to exynos dw-mmc
  driver

initial version:
http://thread.gmane.org/gmane.linux.power-management.general/51855/
- separate reset driver implementing all the logic

Patch summary:

Marek Szyprowski (3):
  mmc: pwrseq: add driver for emmc hardware reset
  ARM: dts: exynos4412-odroid*: add eMMC reset line
  ARM: dts: exynos5422-odroidxu3: add eMMC reset line

 .../devicetree/bindings/mmc/mmc-pwrseq-emmc.txt    |  25 +++++
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi    |  14 +++
 arch/arm/boot/dts/exynos5422-odroidxu3.dts         |  17 ++++
 drivers/mmc/core/Makefile                          |   2 +-
 drivers/mmc/core/pwrseq.c                          |   3 +
 drivers/mmc/core/pwrseq.h                          |   1 +
 drivers/mmc/core/pwrseq_emmc.c                     | 108 +++++++++++++++++++++
 7 files changed, 169 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/mmc/mmc-pwrseq-emmc.txt
 create mode 100644 drivers/mmc/core/pwrseq_emmc.c

-- 
1.9.2

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2015-02-04 15:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-02  8:33 [PATCH v2 0/3] Add support for hardware reset of eMMC card on reboot Marek Szyprowski
2015-02-02  8:33 ` [PATCH v2 1/3] mmc: pwrseq: add driver for emmc hardware reset Marek Szyprowski
2015-02-02  8:59   ` Javier Martinez Canillas
2015-02-02 10:00     ` Marek Szyprowski
2015-02-02 10:05     ` [PATCH v3 " Marek Szyprowski
2015-02-02 12:53       ` Ulf Hansson
2015-02-02 13:19         ` Marek Szyprowski
2015-02-03 13:07         ` [PATCH v4 " Marek Szyprowski
2015-02-04  8:48           ` Ulf Hansson
2015-02-02  8:33 ` [PATCH v2 2/3] ARM: dts: exynos4412-odroid*: add eMMC reset line Marek Szyprowski
2015-02-02  8:33 ` [PATCH v2 3/3] ARM: dts: exynos5422-odroidxu3: " Marek Szyprowski
2015-02-02  8:51 ` [PATCH v2 0/3] Add support for hardware reset of eMMC card on reboot Javier Martinez Canillas
2015-02-04 15:39   ` Kukjin Kim

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox