From patchwork Thu Jul 4 06:59:14 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 18257 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-yh0-f70.google.com (mail-yh0-f70.google.com [209.85.213.70]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 2F47225E48 for ; Thu, 4 Jul 2013 06:57:49 +0000 (UTC) Received: by mail-yh0-f70.google.com with SMTP id l109sf1232918yhq.5 for ; Wed, 03 Jul 2013 23:57:48 -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=OqQXoCh/8nxUC1C7v/h4N8TzX7SDa+Q7hKP2kVZgjtc=; b=H268RHGnIGXqEDepljz3ezFVl6D2QWpHEnbEkkMfrQjT3VPHwfAHJVdLCuiqVkQ7l3 H/7Wd5+p0vXW4YxeOVhYesJuyHk7fhak6tzG9kzAe5n42S027YbglrN3trk9/RUjgcKK pCkV0f8juvmFhd47Y44oWNLMuY95dg9+jNGd2qS70YXnxN772/MN51I0dYQePBBT9i4c CqpiJNEZMBMGyoH1AdT7QxtRVswdXckMWVrq1gwzxC/zdVk5mY6expl13ZG6R2T1rpzr iAwPbBa5w0+9gDVaplABDNJvO2Mlqx4p4718JUHy8XJzz7Vp+Kr3H1qtWmvdRGldyhnQ ZYtg== X-Received: by 10.236.38.106 with SMTP id z70mr2260868yha.29.1372921068951; Wed, 03 Jul 2013 23:57:48 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.85.232 with SMTP id k8ls616476qez.55.gmail; Wed, 03 Jul 2013 23:57:48 -0700 (PDT) X-Received: by 10.221.64.18 with SMTP id xg18mr1978333vcb.57.1372921068855; Wed, 03 Jul 2013 23:57:48 -0700 (PDT) Received: from mail-vc0-f173.google.com (mail-vc0-f173.google.com [209.85.220.173]) by mx.google.com with ESMTPS id r5si508760vcr.139.2013.07.03.23.57.48 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 03 Jul 2013 23:57:48 -0700 (PDT) Received-SPF: neutral (google.com: 209.85.220.173 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.173; Received: by mail-vc0-f173.google.com with SMTP id ht10so687909vcb.32 for ; Wed, 03 Jul 2013 23:57:48 -0700 (PDT) X-Received: by 10.220.203.197 with SMTP id fj5mr1986268vcb.60.1372921068693; Wed, 03 Jul 2013 23:57:48 -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 yu8csp81454veb; Wed, 3 Jul 2013 23:57:48 -0700 (PDT) X-Received: by 10.66.136.237 with SMTP id qd13mr5903651pab.74.1372921067113; Wed, 03 Jul 2013 23:57:47 -0700 (PDT) Received: from mailout3.samsung.com (mailout3.samsung.com. [203.254.224.33]) by mx.google.com with ESMTP id pf2si1456337pac.12.2013.07.03.23.57.46 for ; Wed, 03 Jul 2013 23:57:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.33 as permitted sender) client-ip=203.254.224.33; Received: from epcpsbgr1.samsung.com (u141.gpu120.samsung.co.kr [203.254.230.141]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MPE00I2JGNRDZR0@mailout3.samsung.com> for patches@linaro.org; Thu, 04 Jul 2013 15:57:45 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.125]) by epcpsbgr1.samsung.com (EPCPMTA) with SMTP id E2.B0.17404.9EC15D15; Thu, 04 Jul 2013 15:57:45 +0900 (KST) X-AuditID: cbfee68d-b7f096d0000043fc-88-51d51ce956d7 Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 9F.EE.28381.9EC15D15; Thu, 04 Jul 2013 15:57:45 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp2.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MPE006BQGO3ME50@mmp2.samsung.com>; Thu, 04 Jul 2013 15:57:45 +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 V4] EXYNOS: Add API for power reset and exit wakeup Date: Thu, 04 Jul 2013 12:29:14 +0530 Message-id: <1372921157-14968-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1372921157-14968-1-git-send-email-rajeshwari.s@samsung.com> References: <1372921157-14968-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrBLMWRmVeSWpSXmKPExsWyRsSkVvelzNVAg94eTYuOIy2MFlMOf2Gx WHV4A7vFty3bGC0OPlzAbLH89UZ2i7d7O9kd2D1mN1xk8ViwqdTjzrU9bB5n7+xg9Ojbsoox gDWKyyYlNSezLLVI3y6BK2PGzGOsBdtFKl4f+c3YwDhZsIuRk0NCwESi9fUkdghbTOLCvfVs XYxcHEICSxklvvQvYoYperZkIStEYjqjxNFpN6GciUwSRya9ZASpYhMwkth6chqYLSIgIfGr /yojSBGzQA+jxKZ728B2CAu4S5w+8gasiEVAVWLa1DNsIDavgIfEkykzoO5QkDg29SsriM0p 4CnR9OAo2BlCQDWvjvQzgQyVEFjELrFr3l12iEECEt8mH2LpYuQASshKbDoAdbakxMEVN1gm MAovYGRYxSiaWpBcUJyUXmSoV5yYW1yal66XnJ+7iREY6qf/PevdwXj7gPUhxmSgcROZpUST 84GxklcSb2hsZmRhamJqbGRuaUaasJI4r1qLdaCQQHpiSWp2ampBalF8UWlOavEhRiYOTqkG xgccV8KMz+9dciS/5vEjRwmZPX+Lls/51PTvS1rVWoFVRqvms+23CV6Y8I6P5UzotyOd5c8v ssm+CXop9aJt2eJNGpo8j8OTTTxOTHd428Aonfsu/rNembO/n+mdvFk7NEwtEgujFmj1zHDZ WG7Sf8LZ3uhlw3KnJwIVCz/Ok99rUZIQsm/bPCWW4oxEQy3mouJEAPQ7nQOLAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsVy+t9jQd2XMlcDDea+l7foONLCaDHl8BcW i1WHN7BbfNuyjdHi4MMFzBbLX29kt3i7t5Pdgd1jdsNFFo8Fm0o97lzbw+Zx9s4ORo++LasY A1ijGhhtMlITU1KLFFLzkvNTMvPSbZW8g+Od403NDAx1DS0tzJUU8hJzU22VXHwCdN0yc4Du UFIoS8wpBQoFJBYXK+nbYZoQGuKmawHTGKHrGxIE12NkgAYS1jBmzJh5jLVgu0jF6yO/GRsY Jwt2MXJySAiYSDxbspAVwhaTuHBvPVsXIxeHkMB0Romj026yQjgTmSSOTHrJCFLFJmAksfXk NDBbREBC4lf/VUaQImaBHkaJTfe2sYMkhAXcJU4feQNWxCKgKjFt6hk2EJtXwEPiyZQZ7BDr FCSOTf0KtppTwFOi6cFRZhBbCKjm1ZF+pgmMvAsYGVYxiqYWJBcUJ6XnGuoVJ+YWl+al6yXn 525iBEfSM6kdjCsbLA4xCnAwKvHwSlhdCRRiTSwrrsw9xCjBwawkwuvEcTVQiDclsbIqtSg/ vqg0J7X4EGMy0FUTmaVEk/OBUZ5XEm9obGJuamxqaWJhYmZJmrCSOO+BVutAIYH0xJLU7NTU gtQimC1MHJxSDYxGXRcSBC8f451m9fafScDKn9P+tN1hEVoXYTPn8IMj/wv7uMR253GeWvM3 c+Ehh4rsLWGfrgid/330X+W3iE2ZsTXxm8JVl9c89/pxZ1Eiu1Xk0vxP9lkzbn/OfGZ6SHjj 7+Ol1cceCbSEHTZb+/LzTc+XRly7Dr+cbKx46Xvqy+C9Ac2cF6bvVWIpzkg01GIuKk4EAEls mvHoAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQnExlLIV2qrG7YnMM1IafRj0wq65JYi1sJB+9dXvg7YtB8y0OuOnsjb7okK2uCChIpuyJRV X-Original-Sender: rajeshwari.s@samsung.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 209.85.220.173 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 Changes in V4: - 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..44ad8d3 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