From patchwork Wed Nov 7 13:08:43 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hatim RV X-Patchwork-Id: 197665 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 024CF2C00D6 for ; Thu, 8 Nov 2012 00:16:40 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A631F4A74F; Wed, 7 Nov 2012 14:16:39 +0100 (CET) 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 Otx73H8uQq82; Wed, 7 Nov 2012 14:16:39 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 3B9D14A742; Wed, 7 Nov 2012 14:16:38 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id A719A4A742 for ; Wed, 7 Nov 2012 14:16:36 +0100 (CET) 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 CkLuEzcsIj+L for ; Wed, 7 Nov 2012 14:16:35 +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 mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by theia.denx.de (Postfix) with ESMTP id 490094A722 for ; Wed, 7 Nov 2012 14:16:33 +0100 (CET) Received: from epcpsbgm2.samsung.com (epcpsbgm2 [203.254.230.27]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MD4006IJCVJQV00@mailout4.samsung.com> for u-boot@lists.denx.de; Wed, 07 Nov 2012 22:16:31 +0900 (KST) Received: from epcpsbgm2.samsung.com ( [172.20.52.122]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 58.6A.12699.F2F5A905; Wed, 07 Nov 2012 22:16:31 +0900 (KST) X-AuditID: cbfee61b-b7f616d00000319b-2a-509a5f2f1c08 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm2.samsung.com (EPCPMTA) with SMTP id 27.6A.12699.F2F5A905; Wed, 07 Nov 2012 22:16:31 +0900 (KST) Received: from hatim-linux.sisodomain.com ([107.108.73.95]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MD400CVDCPAQN70@mmp2.samsung.com> for u-boot@lists.denx.de; Wed, 07 Nov 2012 22:16:31 +0900 (KST) From: Hatim Ali To: u-boot@lists.denx.de Date: Wed, 07 Nov 2012 18:38:43 +0530 Message-id: <1352293728-9958-4-git-send-email-hatim.rv@samsung.com> X-Mailer: git-send-email 1.7.2.3 In-reply-to: <1352293728-9958-1-git-send-email-hatim.rv@samsung.com> References: <1352293728-9958-1-git-send-email-hatim.rv@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrJLMWRmVeSWpSXmKPExsWyRsSkSlc/flaAQcNyfYu3ezvZHRg9zt7Z wRjAGMVlk5Kak1mWWqRvl8CVsfOhcsEF/orFz1YwNjB283YxcnJICJhIHDq0mxXCFpO4cG89 WxcjF4eQwFJGiRVLX7F0MXKAFS1aIgdSIyQwnVGif6kARM0SJomGh01MIAk2ATWJ9a872UBs EQEJiV/9VxlBbGaBUokjrdtYQGxhAW+JJffPMYPMZBFQldjysw4kzCvgLNGy4RQbxA0KEq9u rGUHsTkFXCS+3DvDBrHXWeLrnldgNouAgMS3yYegTpOV2HSAGeQcCYHLbBInVr9mh5gjKXFw xQ2WCYzCCxgZVjGKphYkFxQnpeca6RUn5haX5qXrJefnbmIEht/pf8+kdzCuarA4xCjAwajE w2uROjNAiDWxrLgy9xCjBAezkggve+ysACHelMTKqtSi/Pii0pzU4kOMPkCXTGSWEk3OB8ZG Xkm8obGJuamxqaWRkZmpKQ5hJXHeZo+UACGB9MSS1OzU1ILUIphxTBycUsBoKWYLKUjMd2ve oqhv0PJu8sOfER+llBXXpfP3bAyu3/Uz9dEi62kcLduqRBZtuLDE92/tguWaflxPNRpMVrs9 7bB1FBb5w/doxWLhex4fxY9vT97ywm6R5B3dn2+z1dq7Ftw6dvHmhdCSpKWZB5lqW/M0Lhgd jLJ7IpN+8cTkt8uOzL79evlCJZbijERDLeai4kQAQwHcG2wCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupgkeLIzCtJLcpLzFFi42I5/e+xoK5+/KwAg0OnZSze7u1kd2D0OHtn B2MAY1QDo01GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5kkJeYm6qrZKLT4CuW2YO 0FglhbLEnFKgUEBicbGSvh2mCaEhbroWMI0Rur4hQXA9RgZoIGENY8bOh8oFF/grFj9bwdjA 2M3bxcjBISFgIrFoiVwXIyeQKSZx4d56NhBbSGA6o0T/UoEuRi4gewmTRMPDJiaQBJuAmsT6 151gRSICEhK/+q8ygtjMAqUSR1q3sYDYwgLeEkvun2MGmc8ioCqx5WcdSJhXwFmiZcMpNohd ChKvbqxlB7E5BVwkvtw7A7XXWeLrnldsExh5FzAyrGIUTS1ILihOSs810itOzC0uzUvXS87P 3cQIDu5n0jsYVzVYHGIU4GBU4uG1SJ0ZIMSaWFZcmXuIUYKDWUmElz12VoAQb0piZVVqUX58 UWlOavEhRh+goyYyS4km5wMjL68k3tDYxNzU2NTSxMLEzBKHsJI4b7NHSoCQQHpiSWp2ampB ahHMOCYOTqkGRvHC6eH/PisoLL8t6d6v+VBEe8cKvbUN/CLsiiwyE/zUyxcnFv49cM3/6dl0 r+dafNVavG8dTB8qaddtPnE20vdO0z433XXGx6XcBJ+KXpmW+u670JmtBk7JL90sds3Ztmqa zt5epeIXW3dqBNY+7L55b/5f5qd25kFXP71xX376YJXZ2W7nH0osxRmJhlrMRcWJAJDexheb AgAA X-CFilter-Loop: Reflected Cc: akshay.s@samsung.com, alim.akhtar@samsung.com Subject: [U-Boot] [PATCH 3/8 v2] EXYNOS5: Power down API for Thermal Management Unit 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 From: Akshay Saraswat Adding API in power for system shutdown when tripping value is reached in Exynos Thermal Management Unit. Signed-off-by: Akshay Saraswat Acked-by: Simon Glass --- Changes since v1: - Changed description comment for power_shutdown function - Added Acked-by: Simon Glass arch/arm/cpu/armv7/exynos/power.c | 15 +++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 8 ++++++++ 2 files changed, 23 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/power.c b/arch/arm/cpu/armv7/exynos/power.c index d4bce6d..725c2d3 100644 --- a/arch/arm/cpu/armv7/exynos/power.c +++ b/arch/arm/cpu/armv7/exynos/power.c @@ -95,3 +95,18 @@ void set_dp_phy_ctrl(unsigned int enable) if (cpu_is_exynos5()) exynos5_dp_phy_control(enable); } + +/* + * This function never returns. + * When called this function makes system hang and PAD driving value high + * which in turn makes system power down in case of cold reboot. + */ +void power_shutdown(void) +{ + struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power(); + + clrbits_le32(&power->ps_hold_control, POWER_PS_HOLD_CONTROL_DATA_HIGH); + + hang(); +} diff --git a/arch/arm/include/asm/arch-exynos/power.h b/arch/arm/include/asm/arch-exynos/power.h index d2fdb59..f069a0b 100644 --- a/arch/arm/include/asm/arch-exynos/power.h +++ b/arch/arm/include/asm/arch-exynos/power.h @@ -863,5 +863,13 @@ void set_usbhost_phy_ctrl(unsigned int enable); void set_dp_phy_ctrl(unsigned int enable); #define EXYNOS_DP_PHY_ENABLE (1 << 0) +#define POWER_PS_HOLD_CONTROL_DATA_HIGH (1 << 8) + +/* + * This function never returns. + * When called this function makes system hang and PAD driving value high + * which in turn makes system power down in case of cold reboot. + */ +void power_shutdown(void) __attribute__ ((noreturn)); #endif