From patchwork Tue Jul 2 13:12:38 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 18243 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ye0-f199.google.com (mail-ye0-f199.google.com [209.85.213.199]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id F2DBD2391D for ; Tue, 2 Jul 2013 13:11:19 +0000 (UTC) Received: by mail-ye0-f199.google.com with SMTP id l8sf4557963yen.6 for ; Tue, 02 Jul 2013 06:11:19 -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=NOucjSRXw4qUgGd2Tdn7vLQybi+mkQ/hI8ocBzCiGTw=; b=NZ/G0tMpAX6dTRRNkleYPokMy9d34pBs+eqY1MtJ5PW8PlQGt5K99tfr2SMTZqnBYE Q6Jsw+fLPFXVaQ1+PIyXBrc0qMoVHNgqC8Y+37RwfYe50bskE1vTx03Y2yicni9GSY8X 40JLW70PtzSVpGzIepJiZ/waeNekoQfhwhmBflvMdRV6X2GGUhTYHsVQxyPTyplILEGY N7hkrtZ92Wf1Q/N7zTv/l4Z4Ky36E77BuzOZFsO6X+RszBxscKlMFBlBf5dYsT6kc728 HdffoyCupGC6+syW7CV/EOTn1m36JNFhM8lMWWhTL7ALVfzLgzREuyeCgyxJzkSHcrab E/rA== X-Received: by 10.236.51.225 with SMTP id b61mr1845884yhc.4.1372770679611; Tue, 02 Jul 2013 06:11:19 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.34.130 with SMTP id z2ls2814790qei.98.gmail; Tue, 02 Jul 2013 06:11:19 -0700 (PDT) X-Received: by 10.52.23.49 with SMTP id j17mr9595409vdf.56.1372770679496; Tue, 02 Jul 2013 06:11:19 -0700 (PDT) Received: from mail-vc0-f170.google.com (mail-vc0-f170.google.com [209.85.220.170]) by mx.google.com with ESMTPS id sz6si5959624vdc.88.2013.07.02.06.11.19 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Tue, 02 Jul 2013 06:11:19 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.220.170 is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=209.85.220.170; Received: by mail-vc0-f170.google.com with SMTP id hf12so2758511vcb.29 for ; Tue, 02 Jul 2013 06:11:19 -0700 (PDT) X-Received: by 10.58.119.233 with SMTP id kx9mr11394821veb.3.1372770679412; Tue, 02 Jul 2013 06:11:19 -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 yu8csp10273veb; Tue, 2 Jul 2013 06:11:18 -0700 (PDT) X-Received: by 10.66.84.8 with SMTP id u8mr15400043pay.81.1372770677595; Tue, 02 Jul 2013 06:11:17 -0700 (PDT) Received: from mailout1.samsung.com (mailout1.samsung.com. [203.254.224.24]) by mx.google.com with ESMTP id ie10si13710418pbc.281.2013.07.02.06.11.17 for ; Tue, 02 Jul 2013 06:11:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.24 as permitted sender) client-ip=203.254.224.24; Received: from epcpsbgr3.samsung.com (u143.gpu120.samsung.co.kr [203.254.230.143]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MPB00HV18MREVH0@mailout1.samsung.com> for patches@linaro.org; Tue, 02 Jul 2013 22:11:16 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.123]) by epcpsbgr3.samsung.com (EPCPMTA) with SMTP id 66.22.03969.471D2D15; Tue, 02 Jul 2013 22:11:16 +0900 (KST) X-AuditID: cbfee68f-b7f436d000000f81-8d-51d2d174edb9 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 20.CC.28381.471D2D15; Tue, 02 Jul 2013 22:11:16 +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 <0MPB00KIE8MK2K80@mmp1.samsung.com>; Tue, 02 Jul 2013 22:11:16 +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 V3] EXYNOS: Add API for power reset and exit wakeup Date: Tue, 02 Jul 2013 18:42:38 +0530 Message-id: <1372770761-5561-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1372770761-5561-1-git-send-email-rajeshwari.s@samsung.com> References: <1372770761-5561-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrGLMWRmVeSWpSXmKPExsWyRsSkWrfk4qVAg11PjC06jrQwWkw5/IXF YtXhDewW37ZsY7Q4+HABs8Xy1xvZLd7u7WR3YPeY3XCRxWPBplKPO9f2sHmcvbOD0aNvyyrG ANYoLpuU1JzMstQifbsErozNy/4wF8wTqXiw9wtjA2OTYBcjJ4eEgInE9pajbBC2mMSFe+vB bCGBpYwSs49ZwtS0tx5i7GLkAoovYpTYv+cOC4QzkUni7+bdLCBVbAJGEltPTmMEsUUEJCR+ 9V8F62AW6GGU2HRvG3sXIweHsIC7xOrp5iA1LAKqEq0zN7OC2LxA4Q/XNrFCbFOQODb1K5jN KeAh8b3tNSPERe4Sb3rOgy2WEFjELrHy8DVWiEECEt8mH2IBmS8hICux6QAzxBxJiYMrbrBM YBRewMiwilE0tSC5oDgpvchYrzgxt7g0L10vOT93EyMwzE//e9a/g/HuAetDjMlA4yYyS4km 5wPjJK8k3tDYzMjC1MTU2Mjc0ow0YSVxXrUW60AhgfTEktTs1NSC1KL4otKc1OJDjEwcnFIN jOU61vKt75dvWhJ9v8TD2TmL2aK45cZ1jcbMmrr5UTuqGMJunXj7s3CrwOznVjvXfHpx9Qlj 8ILCRdufr3/2u+JT0ZyATWf07rbxlQvufH/j6gs7kbnHeQ0k0rqEdOXPRtv1CNU+Xh+83LKj 4uR7uZutomtUe+M+qatqTT/QeTXyV3bf3GaxM0osxRmJhlrMRcWJAM5j92OJAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrCIsWRmVeSWpSXmKPExsVy+t9jAd2Si5cCDRa91LLoONLCaDHl8BcW i1WHN7BbfNuyjdHi4MMFzBbLX29kt3i7t5Pdgd1jdsNFFo8Fm0o97lzbw+Zx9s4ORo++LasY A1ijGhhtMlITU1KLFFLzkvNTMvPSbZW8g+Od403NDAx1DS0tzJUU8hJzU22VXHwCdN0yc4Du UFIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHrGxIE12NkgAYS1jBmbF72h7lgnkjFg71fGBsY mwS7GDk5JARMJNpbDzFC2GISF+6tZ+ti5OIQEljEKLF/zx0WCGcik8TfzbtZQKrYBIwktp6c BtYhIiAh8av/KiNIEbNAD6PEpnvb2LsYOTiEBdwlVk83B6lhEVCVaJ25mRXE5gUKf7i2iRVi m4LEsalfwWxOAQ+J722vwWYKAdW86TnPMoGRdwEjwypG0dSC5ILipPRcQ73ixNzi0rx0veT8 3E2M4Dh6JrWDcWWDxSFGAQ5GJR5ehXkXA4VYE8uKK3MPMUpwMCuJ8HJvvBQoxJuSWFmVWpQf X1Sak1p8iDEZ6KqJzFKiyfnAGM8riTc0NjE3NTa1NLEwMbMkTVhJnPdAq3WgkEB6Yklqdmpq QWoRzBYmDk6pBkbjSsGT+UKb+Zyefps9rSWpjNev1/7qRu3rEwKf2ode0HyZHze1ctp0W5uE Y4q+0zr8lr1cf565Zvcv5cAMG/6b5bNCxFin7Aw/LWGtLf9BeX2vx+roAm71f9+v/FUJsfrh nnnzOu+qvPZs8zCRR9a1+2fuFYs7we4/0TPp6IFQr4wbe07G2SqxFGckGmoxFxUnAgDAmgP1 5wIAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQlIAz1ipjb9HKw2Fw7sNzBGOcByobm9rlCQsKjVsZ2XRCqAOzhxt97e+3yzuKGmEjzKZ6Xj X-Original-Sender: rajeshwari.s@samsung.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.170 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. Changes in V3: - None 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