From patchwork Mon Jul 1 10:02:03 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 18189 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ve0-f200.google.com (mail-ve0-f200.google.com [209.85.128.200]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 048E925E46 for ; Mon, 1 Jul 2013 10:00:44 +0000 (UTC) Received: by mail-ve0-f200.google.com with SMTP id m1sf6844042ves.7 for ; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:x-beenthere:x-forwarded-to:x-forwarded-for :delivered-to:x-auditid:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:x-brightmail-tracker:x-brightmail-tracker :dlp-filter:x-mtr:x-cfilter-loop:x-gm-message-state :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:x-google-group-id:list-post:list-help :list-archive:list-unsubscribe; bh=OO3zJBmtxvEupRj4tJOPu4efhfdF7oZulLnl6RF20F8=; b=KnzApTNno0L5a2/VvA8PoHvm2PBO/V3vVQ/500d8zfeZzYCDHNrDzRjYBXBpq/sOvl SsaYfhTQqpQg1dGQYiA/uM0gss1DhwkAz3LtRuXvS49kwOVYtRuGyicv9dCqdAJ80JkH 94OyMQxSRTZqQ0nCz+fe1igFBN7ykIbqHyE3s15x7nHwlfI/3KRr1Z0QZpEfrywkbxXR +maL/mmPPhmP5bPOJYKCLM2diEbKwAX+BA9Y3+k9iSxekvNmgq5UW61nm+89lYwg1QVS ieS8pvw9ueMk3+vkeOZbXJTbRS06fijCfF3OVHLONYFdYmwjQ5NpbKnR7+AwdIyodObg fCgg== X-Received: by 10.236.194.33 with SMTP id l21mr14225636yhn.42.1372672844234; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.98.67 with SMTP id eg3ls2263152qeb.28.gmail; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) X-Received: by 10.221.42.138 with SMTP id ty10mr9254681vcb.42.1372672844159; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) Received: from mail-vb0-f51.google.com (mail-vb0-f51.google.com [209.85.212.51]) by mx.google.com with ESMTPS id n6si4628064ven.79.2013.07.01.03.00.44 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 01 Jul 2013 03:00:44 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.212.51 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.212.51; Received: by mail-vb0-f51.google.com with SMTP id x17so3392897vbf.24 for ; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) X-Received: by 10.220.67.10 with SMTP id p10mr9165425vci.85.1372672844052; Mon, 01 Jul 2013 03:00:44 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patches@linaro.org Received: by 10.58.165.8 with SMTP id yu8csp274256veb; Mon, 1 Jul 2013 03:00:43 -0700 (PDT) X-Received: by 10.68.235.103 with SMTP id ul7mr23071814pbc.14.1372672842657; Mon, 01 Jul 2013 03:00:42 -0700 (PDT) Received: from mailout2.samsung.com (mailout2.samsung.com. [203.254.224.25]) by mx.google.com with ESMTP id vx10si3078837pac.178.2013.07.01.03.00.42 for ; Mon, 01 Jul 2013 03:00:42 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.25 as permitted sender) client-ip=203.254.224.25; Received: from epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout2.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MP900CC354P58A0@mailout2.samsung.com> for patches@linaro.org; Mon, 01 Jul 2013 19:00:41 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.123]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id 24.0F.29708.94351D15; Mon, 01 Jul 2013 19:00:41 +0900 (KST) X-AuditID: cbfee690-b7f6f6d00000740c-ee-51d153493200 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 14.01.28381.94351D15; Mon, 01 Jul 2013 19:00:41 +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 <0MP9006XU54ZGCO0@mmp1.samsung.com>; Mon, 01 Jul 2013 19:00:41 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Cc: patches@linaro.org, sjg@chromium.org, mk7.kang@samsung.com, u-boot-review@google.com, prashanth.g@samsung.com, sreekumar.c@samsung.com Subject: [PATCH 1/4 V2] EXYNOS: Add API for power reset and exit wakeup Date: Mon, 01 Jul 2013 15:32:03 +0530 Message-id: <1372672926-32614-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1372672926-32614-1-git-send-email-rajeshwari.s@samsung.com> References: <1372672926-32614-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRmVeSWpSXmKPExsWyRsSkWtcz+GKgQecqXYuOIy2MFlMOf2Gx WHV4A7vFty3bGC0OPlzAbLH89UZ2i7d7O9kd2D1mN1xk8ViwqdTjzrU9bB5n7+xg9Ojbsoox gDWKyyYlNSezLLVI3y6BK2PO1Q6mglaRiqeLbBoYPwp0MXJySAiYSHxecJQdwhaTuHBvPVsX IxeHkMBSRomf1xezwhS9u76NCSKxiFHi2YNzUM5EJoknL74xg1SxCRhJbD05jRHEFhGQkPjV f5URpIhZoIdRYtO9bWA7hAXcJXY8mgJmswioSnx//hWomYODV8ADqDkQYpuCxLGpX8E2cwp4 SvxY9g3MFgIqabm/nRVkpoTAPHaJad/WQc0RkPg2+RALyBwJAVmJTQeYIeZIShxccYNlAqPw AkaGVYyiqQXJBcVJ6UUmesWJucWleel6yfm5mxiBYX7637MJOxjvHbA+xJgMNG4is5Rocj4w TvJK4g2NzYwsTE1MjY3MLc1IE1YS51VvsQ4UEkhPLEnNTk0tSC2KLyrNSS0+xMjEwSnVwGiR P6skyiO25/CG0oR2rWMrjy6KyNR0m+lq17FtZvQlLsut/3k+cT7IW7pw+8vrLLHXp/mkvehe bzBfLK5E8ouKnOVPvbOVvS8X8Yc9mjTfZ5k2Z0X3tm/yi7RYVaf7btM1Sc7m2nko9Nqd7AXG z7533F+xPSLwGIsDR8uGX2xpHZNjYn8u81NiKc5INNRiLipOBADSTRJaiQIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMIsWRmVeSWpSXmKPExsVy+t9jAV3P4IuBBt/mqFh0HGlhtJhy+AuL xarDG9gtvm3Zxmhx8OECZovlrzeyW7zd28nuwO4xu+Eii8eCTaUed67tYfM4e2cHo0ffllWM AaxRDYw2GamJKalFCql5yfkpmXnptkrewfHO8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUB3 KCmUJeaUAoUCEouLlfTtME0IDXHTtYBpjND1DQmC6zEyQAMJaxgz5lztYCpoFal4usimgfGj QBcjJ4eEgInEu+vbmCBsMYkL99azdTFycQgJLGKUePbgHBOEM5FJ4smLb8wgVWwCRhJbT05j BLFFBCQkfvVfZQQpYhboYZTYdG8bO0hCWMBdYsejKWA2i4CqxPfnX4GaOTh4BTyAmgMhtilI HJv6lRXE5hTwlPix7BuYLQRU0nJ/O+sERt4FjAyrGEVTC5ILipPScw31ihNzi0vz0vWS83M3 MYKj6JnUDsaVDRaHGAU4GJV4eBdMvxAoxJpYVlyZe4hRgoNZSYT3pvfFQCHelMTKqtSi/Pii 0pzU4kOMyUBHTWSWEk3OB0Z4Xkm8obGJuamxqaWJhYmZJWnCSuK8B1qtA4UE0hNLUrNTUwtS i2C2MHFwSjUwnldzn3tV5EJnT1v+1JeV/67su26xdt/FKCk1X5tZRiccGDw3HnX+dHXr28mF K27vvqUqcOHHYT3N5xsPxs2zODJ1qmkjX56C7RTXJwYbfirvbleudn5z+eCRc727pqp1Tl5g H12ozCTDH6Q21TM5s2DDtKUL7/zhKbL3bdsxJUn+aLPq++/3fZRYijMSDbWYi4oTAf2N9UDm AgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQnVqFnNKj2Qn8P1PM9jPDsBeH6i5tx+65QgbVNCQkM/5wDCPQYWcmu03OTCSd0So25Y/laa X-Original-Sender: rajeshwari.s@samsung.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.212.51 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org Precedence: list Mailing-list: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org List-ID: X-Google-Group-Id: 836684582541 List-Post: , List-Help: , List-Archive: List-Unsubscribe: , This patch adds APIs to get power reset status and exit the wakeup condition for both exynos5 and exynos4 Signed-off-by: Rajeshwari Shinde --- Changes in V2: - Expanded the comments for get_reset_status function declaration. arch/arm/cpu/armv7/exynos/power.c | 50 ++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 12 +++++++ 2 files changed, 62 insertions(+), 0 deletions(-) diff --git a/arch/arm/cpu/armv7/exynos/power.c b/arch/arm/cpu/armv7/exynos/power.c index 6375a81..5d3bda2 100644 --- a/arch/arm/cpu/armv7/exynos/power.c +++ b/arch/arm/cpu/armv7/exynos/power.c @@ -140,3 +140,53 @@ void set_hw_thermal_trip(void) setbits_le32(&power->ps_hold_control, POWER_ENABLE_HW_TRIP); } } + +static uint32_t exynos5_get_reset_status(void) +{ + struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power(); + + return power->inform1; +} + +static uint32_t exynos4_get_reset_status(void) +{ + struct exynos4_power *power = + (struct exynos4_power *)samsung_get_base_power(); + + return power->inform1; +} + +uint32_t get_reset_status(void) +{ + if (cpu_is_exynos5()) + return exynos5_get_reset_status(); + else + return exynos4_get_reset_status(); +} + +static void exynos5_power_exit_wakeup(void) +{ + struct exynos5_power *power = + (struct exynos5_power *)samsung_get_base_power(); + typedef void (*resume_func)(void); + + ((resume_func)power->inform0)(); +} + +static void exynos4_power_exit_wakeup(void) +{ + struct exynos4_power *power = + (struct exynos4_power *)samsung_get_base_power(); + typedef void (*resume_func)(void); + + ((resume_func)power->inform0)(); +} + +void power_exit_wakeup(void) +{ + if (cpu_is_exynos5()) + exynos5_power_exit_wakeup(); + else + exynos4_power_exit_wakeup(); +} diff --git a/arch/arm/include/asm/arch-exynos/power.h b/arch/arm/include/asm/arch-exynos/power.h index 3549667..b8db663 100644 --- a/arch/arm/include/asm/arch-exynos/power.h +++ b/arch/arm/include/asm/arch-exynos/power.h @@ -888,4 +888,16 @@ void set_ps_hold_ctrl(void); * source as XXTI */ void set_xclkout(void); + +/* + * Read inform1 to get the reset status. + * @return: the value can be either S5P_CHECK_SLEEP or + * S5P_CHECK_DIDLE or S5P_CHECK_LPA as stored in inform1 + * if none of these then its normal booting. + */ +uint32_t get_reset_status(void); + + +/* Read the resume function and call it */ +void power_exit_wakeup(void); #endif