
On Fri, 2015-01-09 at 16:42 +0900, Joonyoung Shim wrote:
Hi,
On 01/09/2015 01:21 PM, Jaehoon Chung wrote:
On 01/09/2015 08:23 AM, Sjoerd Simons wrote:
On Thu, 2015-01-08 at 14:44 +0900, Joonyoung Shim wrote:
Some exynos boards require special handling of SD4_nRESET_OUT line for eMMC memory to perform complete reboot e.g. Odroid X2/U3/XU3 boards.
This will support eMMC reset using DT from reset_misc of samsung common board file and each board files can support eMMC reset on non DT case.
Signed-off-by: Joonyoung Shim jy0922.shim@samsung.com
diff --git a/doc/device-tree-bindings/exynos/emmc-reset.txt b/doc/device-tree-bindings/exynos/emmc-reset.txt new file mode 100644 index 0000000..e48e508 --- /dev/null +++ b/doc/device-tree-bindings/exynos/emmc-reset.txt @@ -0,0 +1,15 @@ +* Samsung eMMC reset
+Some exynos boards require special handling of SD4_nRESET_OUT line for eMMC +memory to perform complete reboot.
Nitpick, on XU3 the line you apparently need to twiddle is SD0_nRESET_OUT.
Then, i think it's better to omit "SD4_".
Is this type of usage of this pin specific to the Odroid Exynos boards or potentially on more boards? (Sorry for the simple questions, but my exynos documentation just says the line exists not what its intended usage is).
In case of Exynos4, eMMC can be used with sdhci controller or dw-mmc controller. So Pin name should be used to SD0 or SD4.
But Exynos5 is only supported the dw-mmc controller. (So eMMC is used pin-name as "SD0".)
I can find only "SD_4_nRESET_OUT" from exynos4412 user manual and only "SD_0__nRESET_OUT" from exynos5422 user manual.
Best Regards, Jaehoon Chung
Fwiw, I did a quick check in the linux code and it doesn't seem to be using those pins for currently for any boards. However my X2 does successfully reset/reboot in u-boot and linux, so it seems optional there. The XU3 does fail to reset itself, so it seems required for that board.
I checked upstream u-boot and hardkernel u-boot and i found codes to reset eMMC using gpio.
upstream u-boot: reset_misc() of board/samsung/odroid/odroid.c hardkernel u-boot: reset_cpu() of arch/arm/cpu/armv7/exynos/reset.c
Yeah u-boot does it, but linux upstream kernel does not. Hence wondering about the requirements.