[PATCH 0/2] Fix reboot issue on Odroid boards with eMMC card

2015-01-27 Thread Marek Szyprowski
Hello,

This patchset fixes 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, one need to set this line to zero 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
generic Exynos code, so the code has been moved to Exynos DW MMC driver.

Best regards
Marek Szyprowski
Samsung RD Institute Poland


Changelog:

initial version:
http://thread.gmane.org/gmane.linux.power-management.general/51855/


Path summary:

Marek Szyprowski (2):
  mmc: dw_mmc-exynos: add support for controlling emmc reset pin
  ARM: dts: exynos*-odroid*: add eMMC reset line

 .../devicetree/bindings/mmc/exynos-dw-mshc.txt |  6 +++
 arch/arm/boot/dts/exynos4412-odroid-common.dtsi|  1 +
 arch/arm/boot/dts/exynos5422-odroidxu3.dts |  1 +
 drivers/mmc/host/dw_mmc-exynos.c   | 43 +-
 4 files changed, 50 insertions(+), 1 deletion(-)

-- 
1.9.2

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/2] Fix reboot issue on Odroid boards with eMMC card

2015-01-27 Thread Sjoerd Simons
On Tue, 2015-01-27 at 09:11 +0100, Marek Szyprowski wrote:
 Hello,
 
 This patchset fixes 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, one need to set this line to zero 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
 generic Exynos code, so the code has been moved to Exynos DW MMC driver.

This seems a general board design quirk, rather then an exynos specific
one. Potentially better to have this in the mmc core so it can be
re-used by non-exynos boards?

A very quick peek at the schematic for the hardkernel C1 (amlogic
based), shows that for that board the eMMC reset line is hooked up to an
SoC gpio line as well. (Although ofcourse, it may not need to be reset
before a warm restart depending on what the amlogic rom code does).


Random side-note, at least the samsung peach chromebooks are also hooked
up this way. But don't run into this issue as they load their initial
stages from flash rather then the eMMC. 


 Best regards
 Marek Szyprowski
 Samsung RD Institute Poland
 
 
 Changelog:
 
 initial version:
 http://thread.gmane.org/gmane.linux.power-management.general/51855/
 
 
 Path summary:
 
 Marek Szyprowski (2):
   mmc: dw_mmc-exynos: add support for controlling emmc reset pin
   ARM: dts: exynos*-odroid*: add eMMC reset line
 
  .../devicetree/bindings/mmc/exynos-dw-mshc.txt |  6 +++
  arch/arm/boot/dts/exynos4412-odroid-common.dtsi|  1 +
  arch/arm/boot/dts/exynos5422-odroidxu3.dts |  1 +
  drivers/mmc/host/dw_mmc-exynos.c   | 43 
 +-
  4 files changed, 50 insertions(+), 1 deletion(-)
 




smime.p7s
Description: S/MIME cryptographic signature


Re: [PATCH 0/2] Fix reboot issue on Odroid boards with eMMC card

2015-01-27 Thread Marek Szyprowski

Hello,

On 2015-01-27 09:56, Sjoerd Simons wrote:

On Tue, 2015-01-27 at 09:11 +0100, Marek Szyprowski wrote:

This patchset fixes 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, one need to set this line to zero 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
generic Exynos code, so the code has been moved to Exynos DW MMC driver.

This seems a general board design quirk, rather then an exynos specific
one. Potentially better to have this in the mmc core so it can be
re-used by non-exynos boards?

A very quick peek at the schematic for the hardkernel C1 (amlogic
based), shows that for that board the eMMC reset line is hooked up to an
SoC gpio line as well. (Although ofcourse, it may not need to be reset
before a warm restart depending on what the amlogic rom code does).


Random side-note, at least the samsung peach chromebooks are also hooked
up this way. But don't run into this issue as they load their initial
stages from flash rather then the eMMC.


Okay, I will try to move all the code to mmc core. I've also noticed that
sdhci-pci driver already implements hw_reset feature with gpio line, 
although

I cannot find any user of it (I cannot find any platform data provider for
sdhci-pci driver).

Best regards
--
Marek Szyprowski, PhD
Samsung RD Institute Poland

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html