From patchwork Thu Jan 15 02:45:56 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joonyoung Shim X-Patchwork-Id: 429211 X-Patchwork-Delegate: promsoft@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 8E8D31401DA for ; Thu, 15 Jan 2015 13:45:54 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id EED574B6A1; Thu, 15 Jan 2015 03:45:50 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id It4wb6gCJhwa; Thu, 15 Jan 2015 03:45:50 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 7BB344B689; Thu, 15 Jan 2015 03:45:50 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 0C3A94B694 for ; Thu, 15 Jan 2015 03:45:46 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id KMnfhIWIvqY0 for ; Thu, 15 Jan 2015 03:45:45 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by theia.denx.de (Postfix) with ESMTPS id C58874B674 for ; Thu, 15 Jan 2015 03:45:42 +0100 (CET) Received: from epcpsbgr5.samsung.com (u145.gpu120.samsung.co.kr [203.254.230.145]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0NI7004KO6C48N50@mailout1.samsung.com> for u-boot@lists.denx.de; Thu, 15 Jan 2015 11:45:40 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.113]) by epcpsbgr5.samsung.com (EPCPMTA) with SMTP id 3E.1A.19034.4D927B45; Thu, 15 Jan 2015 11:45:40 +0900 (KST) X-AuditID: cbfee691-f79b86d000004a5a-d6-54b729d426a8 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 11.D5.09430.4D927B45; Thu, 15 Jan 2015 11:45:40 +0900 (KST) Received: from localhost.localdomain ([10.252.81.123]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0NI7009196C3X890@mmp1.samsung.com>; Thu, 15 Jan 2015 11:45:40 +0900 (KST) From: Joonyoung Shim To: u-boot@lists.denx.de Date: Thu, 15 Jan 2015 11:45:56 +0900 Message-id: <1421289958-21548-1-git-send-email-jy0922.shim@samsung.com> X-Mailer: git-send-email 1.9.1 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrCLMWRmVeSWpSXmKPExsWyRsSkUPeK5vYQg5MrJSyWzuhjtbjxq43V 4sW9iywWHUdaGC12XL7BYvFtyzZGi+nH37JavN3bye7A4TG74SKLx9/n11k8zt7ZwejRt2UV YwBLFJdNSmpOZllqkb5dAlfG1SX9zAWnRCo2vSpqYHwi0MXIySEhYCJx9P4ORghbTOLCvfVs XYxcHEICSxklNs45yg5T9GXlAqjEIkaJ63ueMkE4bUwSf98cA2tnE9CTuLPtOBOILSIgIfGr /yojSBGzwDpGiVe/9zCDJIQFnCXObP4DZrMIqEos3f8dqIiDg1fAXaK1MwVim5zEyWOTWUF6 JQT+s0k8erCFCaJeQOLb5EMsIPUSArISmw4wQ9RLShxccYNlAqPgAkaGVYyiqQXJBcVJ6UWm esWJucWleel6yfm5mxiBgXv637OJOxjvH7A+xCjAwajEw+twZGuIEGtiWXFl7iFGU6ANE5ml RJPzgfGRVxJvaGxmZGFqYmpsZG5ppiTOqyP9M1hIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QD 40aONavb581sedhhbvWL6cLpvA/1CiJVrNrfiqz0OP7N/1yZX314PeNUrn9zBN/OyFnP3J66 K4B5irKD7Ynl6SURWc4x86JfPJdSN+GftGN5scaxzZIb7e5PS5Cvy+treN5v/Xp20vxbUZfK V7Gel8qff9QzhOOhaMOkwzHe2VuWLL7ANc1JW4mlOCPRUIu5qDgRAChm+SVXAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupjkeLIzCtJLcpLzFFi42I5/e+xgO4Vze0hBotPCVgsndHHanHjVxur xYt7F1ksOo60MFrsuHyDxeLblm2MFtOPv2W1eLu3k92Bw2N2w0UWj7/Pr7N4nL2zg9Gjb8sq xgCWqAZGm4zUxJTUIoXUvOT8lMy8dFsl7+B453hTMwNDXUNLC3MlhbzE3FRbJRefAF23zByg Q5QUyhJzSoFCAYnFxUr6dpgmhIa46VrANEbo+oYEwfUYGaCBhDWMGVeX9DMXnBKp2PSqqIHx iUAXIyeHhICJxJeVC9ggbDGJC/fWA9lcHEICixglru95ygThtDFJ/H1zjBGkik1AT+LOtuNM ILaIgITEr/6rjCBFzALrGCVe/d7DDJIQFnCWOLP5D5jNIqAqsXT/d6AiDg5eAXeJ1s4UiG1y EiePTWadwMi9gJFhFaNoakFyQXFSeq6RXnFibnFpXrpecn7uJkZwXDyT3sG4qsHiEKMAB6MS D6/Dka0hQqyJZcWVuYcYJTiYlUR4337aFiLEm5JYWZValB9fVJqTWnyI0RRo+URmKdHkfGDM 5pXEGxqbmBlZGpkbWhgZmyuJ8yrZt4UICaQnlqRmp6YWpBbB9DFxcEo1MOquzfwSOCfjofDG hPIPVx7sUu5eweD7PjFs6Ypfl6ftL1aL239ltytPnIb6o7q5yxNM33s5bF1xb0OAdrLfvZlG hZv9Jf5FfZzIdvwk79H7TZEehqseF0sVeWrfv1CbrV39afc5zt4un/bXNy+UKHDzZNey9G4M 3aHW4WdZyDfl4u9Zqi6RE5VYijMSDbWYi4oTASn4YNGhAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: jh80.chung@samsung.com, p.marczak@samsung.com, human.hwang@samsung.com Subject: [U-Boot] [PATCH v2 1/3] samsung: board: support eMMC reset using DT X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.13 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de Some exynos boards require special handling of 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. Signed-off-by: Joonyoung Shim --- board/samsung/common/board.c | 28 ++++++++++++++++++++++++++ board/samsung/odroid/odroid.c | 8 -------- doc/device-tree-bindings/exynos/emmc-reset.txt | 15 ++++++++++++++ 3 files changed, 43 insertions(+), 8 deletions(-) create mode 100644 doc/device-tree-bindings/exynos/emmc-reset.txt diff --git a/board/samsung/common/board.c b/board/samsung/common/board.c index 8b4c8e9..da2245f 100644 --- a/board/samsung/common/board.c +++ b/board/samsung/common/board.c @@ -355,3 +355,31 @@ int misc_init_r(void) return 0; } #endif + +void reset_misc(void) +{ + struct gpio_desc gpio = {}; + int node; + + node = fdt_node_offset_by_compatible(gd->fdt_blob, 0, + "samsung,emmc-reset"); + if (node < 0) + return; + + gpio_request_by_name_nodev(gd->fdt_blob, node, "reset-gpio", 0, &gpio, + GPIOD_IS_OUT); + + if (dm_gpio_is_valid(&gpio)) { + /* + * Reset eMMC + * + * FIXME: Need to optimize delay time. Minimum 1usec pulse is + * required by 'JEDEC Standard No.84-A441' (eMMC) + * document but real delay time is expected to greater + * than 1usec. + */ + dm_gpio_set_value(&gpio, 0); + mdelay(10); + dm_gpio_set_value(&gpio, 1); + } +} diff --git a/board/samsung/odroid/odroid.c b/board/samsung/odroid/odroid.c index b7d2381..b648832 100644 --- a/board/samsung/odroid/odroid.c +++ b/board/samsung/odroid/odroid.c @@ -515,11 +515,3 @@ int board_usb_init(int index, enum usb_init_type init) return s3c_udc_probe(&s5pc210_otg_data); } #endif - -void reset_misc(void) -{ - /* Reset eMMC*/ - gpio_set_value(EXYNOS4X12_GPIO_K12, 0); - mdelay(10); - gpio_set_value(EXYNOS4X12_GPIO_K12, 1); -} 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..5e7ba26 --- /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 nRESET_OUT line for eMMC memory +to perform complete reboot. + +Required properties: +- compatible: should be "samsung,emmc-reset" +- reset-gpio: gpio chip for eMMC reset. + +Example: + +emmc-reset { + compatible = "samsung,emmc-reset"; + reset-gpio = <&gpk1 2 0>; +};