From patchwork Thu Apr 4 07:06:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 233649 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 40A372C008E for ; Thu, 4 Apr 2013 17:59:33 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id CE1324A38C; Thu, 4 Apr 2013 08:59:29 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 GpBwrrScCpI7; Thu, 4 Apr 2013 08:59:29 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 79CE54A37A; Thu, 4 Apr 2013 08:59:28 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id EA5294A37A for ; Thu, 4 Apr 2013 08:59:25 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 cFB-s7EMxt4D for ; Thu, 4 Apr 2013 08:59:24 +0200 (CEST) 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 mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by theia.denx.de (Postfix) with ESMTP id 595534A375 for ; Thu, 4 Apr 2013 08:59:22 +0200 (CEST) Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MKP006OZY1XHVM0@mailout2.samsung.com> for u-boot@lists.denx.de; Thu, 04 Apr 2013 15:59:11 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.124]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id 51.81.20872.FB42D515; Thu, 04 Apr 2013 15:59:11 +0900 (KST) X-AuditID: cbfee68d-b7f786d000005188-fa-515d24bfe83b Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id C4.E6.17838.FB42D515; Thu, 04 Apr 2013 15:59:11 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MKP00GD4Y2EX410@mmp1.samsung.com>; Thu, 04 Apr 2013 15:59:11 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Date: Thu, 04 Apr 2013 12:36:05 +0530 Message-id: <1365059165-23764-1-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJLMWRmVeSWpSXmKPExsWyRsSkRne/Smygwcn7ihYdR1oYLaYc/sJi 8W3LNkaLt3s72R1YPGY3XGTxuHNtD5vH2Ts7GD36tqxiDGCJ4rJJSc3JLEst0rdL4MqYtG4H S0GTYMWf7dfYGhiX83UxcnBICJhIHLtu0sXICWSKSVy4t54NxBYSWMoo0bfIHSJuItF3dz1L FyMXUHwRo8TO2zeYIZyJTBLrpixkBqliEzCS2HpyGiOILSIgIfGr/yqYzSxgJ7F5TTM7iC0s YCuxbuVPMJtFQFVi7pn5YL28Ah4SM96/YIPYpiBxbOpXVgj7OZvErk26EPUCEt8mH2KBOFpW YtMBZogSSYmDK26wTGAUXMDIsIpRNLUguaA4Kb3IUK84Mbe4NC9dLzk/dxMjMBhP/3vWu4Px 9gHrQ4zJQOMmMkuJJucDgzmvJN7Q2MzIwtTE1NjI3NKMNGElcV61FutAIYH0xJLU7NTUgtSi +KLSnNTiQ4xMHJxSDYxxB6/9ifwuvNf9olRej2rFi2ImnStyDfs/6XRfZVz9VmWG4ja/jdwb rW2D9ob99fP5usZe3jHo2syFJ2dorirzkBB+Vv5yyezwijWmsvu//uYRuHjdMaG9UPmJ3NVd +g90ctWfrXrdam/fvShNd8miC5eK2TlSnjuvV7rm+oWtn+vajHuK1b+UWIozEg21mIuKEwHE vofkXAIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrJIsWRmVeSWpSXmKPExsVy+t9jAd39KrGBBmffS1t0HGlhtJhy+AuL xbct2xgt3u7tZHdg8ZjdcJHF4861PWweZ+/sYPTo27KKMYAlqoHRJiM1MSW1SCE1Lzk/JTMv 3VbJOzjeOd7UzMBQ19DSwlxJIS8xN9VWycUnQNctMwdoqZJCWWJOKVAoILG4WEnfDtOE0BA3 XQuYxghd35AguB4jAzSQsIYxY9K6HSwFTYIVf7ZfY2tgXM7XxcjJISFgItF3dz0LhC0mceHe erYuRi4OIYFFjBI7b99ghnAmMkmsm7KQGaSKTcBIYuvJaYwgtoiAhMSv/qtgNrOAncTmNc3s ILawgK3EupU/wWwWAVWJuWfmg/XyCnhIzHj/gg1im4LEsalfWScwci9gZFjFKJpakFxQnJSe a6hXnJhbXJqXrpecn7uJERzwz6R2MK5ssDjEKMDBqMTDu9I/JlCINbGsuDL3EKMEB7OSCK87 T2ygEG9KYmVValF+fFFpTmrxIcZkoO0TmaVEk/OB0ZhXEm9obGJuamxqaWJhYmZJmrCSOO+B VutAIYH0xJLU7NTUgtQimC1MHJxSDYx9W+/8M2aeldmnNpNptVeVE/uO9e1RLY8Xfgk+sDAx +/mZSZ+ueory/mqzX+V52G/tk5yTNd51c/Lu6DFvqLN+F7SfaUeIkczZrds9Dz+dxWBgct3o g5np9dcW5Y9nXZW5ELTQieGa4ZmiFhu15xGT905q/Cb6sOr7v6OhL1uSzNf8fsZQ/q9WiaU4 I9FQi7moOBEAFAYFSbwCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Cc: patches@linaro.org Subject: [U-Boot] [PATCH] EXYNOS: Add API for power reset and shutdown X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 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 This patch adds API's to reset and shutdown the power of EXYNOS boards power_shutdown: powers off the board by deasserting PS_HOLD pin. power_reset: this function software resets the Exynos board when called. Signed-off-by: Che-Liang Chiou Signed-off-by: Rajeshwari Shinde --- arch/arm/cpu/armv7/exynos/power.c | 31 ++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 10 +++++++++ 2 files changed, 41 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/power.c b/arch/arm/cpu/armv7/exynos/power.c index 6375a81..2b65bbe 100644 --- a/arch/arm/cpu/armv7/exynos/power.c +++ b/arch/arm/cpu/armv7/exynos/power.c @@ -113,6 +113,25 @@ void set_ps_hold_ctrl(void) } +void exynos5_power_shutdown(void) +{ + struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power(); + + clrbits_le32(&power->ps_hold_control, EXYNOS_PS_HOLD_CONTROL_DATA_HIGH); +} + +void exynos5_power_reset(void) +{ + struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power(); + + /* Clear inform1 so there's no change we think we've got a wake reset */ + power->inform1 = 0; + + setbits_le32(&power->swreset, 1); +} + static void exynos5_set_xclkout(void) { struct exynos5_power *power = @@ -140,3 +159,15 @@ void set_hw_thermal_trip(void) setbits_le32(&power->ps_hold_control, POWER_ENABLE_HW_TRIP); } } + +void power_shutdown(void) +{ + if (cpu_is_exynos5()) + exynos5_power_shutdown(); +} + +void power_reset(void) +{ + if (cpu_is_exynos5()) + exynos5_power_reset(); +} diff --git a/arch/arm/include/asm/arch-exynos/power.h b/arch/arm/include/asm/arch-exynos/power.h index 3549667..6844e0f 100644 --- a/arch/arm/include/asm/arch-exynos/power.h +++ b/arch/arm/include/asm/arch-exynos/power.h @@ -888,4 +888,14 @@ void set_ps_hold_ctrl(void); * source as XXTI */ void set_xclkout(void); + +/* + * Power off the system; it should never return. + */ +void power_shutdown(void); + +/* + * Perform a software reset. + */ +void power_reset(void); #endif