From patchwork Thu Apr 25 05:57:16 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 16389 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-qc0-f197.google.com (mail-qc0-f197.google.com [209.85.216.197]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id D877F25DF4 for ; Thu, 25 Apr 2013 05:51:49 +0000 (UTC) Received: by mail-qc0-f197.google.com with SMTP id b14sf3909916qcs.0 for ; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:mime-version:x-beenthere:x-received:received-spf :x-received:x-forwarded-to:x-forwarded-for:delivered-to:x-received :received-spf: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=hFd38ywqrKtA8tjUG3GP2nTFhubUZiXVvv/WASpNvHs=; b=YYWC+7DIk5PaQNarPtUBpm1j54z01H6eqgAJpPYngwx01h83gP1O21BE87HVsMLoaq Ou7ykiEJiqvsvYYSK3c/nI1gNyGsMR+AiQZWII9C2N0LKTKHv/LZBUVtpEcRCYvB5wQk rb1bFKA0JleSLtbVULiqMt/x7r9syZsoyC/EidZPXzwo7ACbpXCxDgIVYuvwChDu2VMS 6X8XGz7sYjy8C836UiP/7ylcHkY/fkd+xS/wZdxfvs7n+HVccy/HYpMvFikCABdksbz+ qCCVXeRPofNBBb5uk/er3chBOOMbTj1acGaYhBkF/6Q3gHkhAMpfo+2dg8ZFUjHFp//o ueLQ== X-Received: by 10.224.58.77 with SMTP id f13mr26501255qah.7.1366869057244; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) MIME-Version: 1.0 X-BeenThere: patchwork-forward@linaro.org Received: by 10.49.121.37 with SMTP id lh5ls1171908qeb.66.gmail; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) X-Received: by 10.59.9.39 with SMTP id dp7mr26608848ved.36.1366869057069; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) Received: from mail-vb0-x22f.google.com (mail-vb0-x22f.google.com [2607:f8b0:400c:c02::22f]) by mx.google.com with ESMTPS id mo2si2648286vec.22.2013.04.24.22.50.57 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Apr 2013 22:50:57 -0700 (PDT) Received-SPF: neutral (google.com: 2607:f8b0:400c:c02::22f is neither permitted nor denied by best guess record for domain of patch+caf_=patchwork-forward=linaro.org@linaro.org) client-ip=2607:f8b0:400c:c02::22f; Received: by mail-vb0-f47.google.com with SMTP id x13so2305221vbb.6 for ; Wed, 24 Apr 2013 22:50:57 -0700 (PDT) X-Received: by 10.58.173.36 with SMTP id bh4mr12572126vec.9.1366869053314; Wed, 24 Apr 2013 22:50:53 -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.127.98 with SMTP id nf2csp6699veb; Wed, 24 Apr 2013 22:50:52 -0700 (PDT) X-Received: by 10.66.26.71 with SMTP id j7mr19380865pag.209.1366869052306; Wed, 24 Apr 2013 22:50:52 -0700 (PDT) Received: from mailout1.samsung.com (mailout1.samsung.com. [203.254.224.24]) by mx.google.com with ESMTP id h1si5628289pad.85.2013.04.24.22.50.51 for ; Wed, 24 Apr 2013 22:50:52 -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 epcpsbgr4.samsung.com (u144.gpu120.samsung.co.kr [203.254.230.144]) by mailout1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MLS00B0PQWNPB80@mailout1.samsung.com>; Thu, 25 Apr 2013 14:50:50 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.122]) by epcpsbgr4.samsung.com (EPCPMTA) with SMTP id E5.11.04074.A34C8715; Thu, 25 Apr 2013 14:50:50 +0900 (KST) X-AuditID: cbfee690-b7f136d000000fea-78-5178c43acb39 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 5D.19.08957.A34C8715; Thu, 25 Apr 2013 14:50:50 +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 <0MLS00L8YQWHRN10@mmp1.samsung.com>; Thu, 25 Apr 2013 14:50:50 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Cc: patches@linaro.org, sjg@chromium.org, mk7.kang@samsung.com, chander.kashyap@linaro.org, prashanth.g@samsung.com, hatim.rv@samsung.com, u-boot-review@google.com, ravi.kn@samsung.com Subject: [PATCH 1/4] EXYNOS: Add API for power reset and exit wakeup Date: Thu, 25 Apr 2013 11:27:16 +0530 Message-id: <1366869439-9695-2-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1366869439-9695-1-git-send-email-rajeshwari.s@samsung.com> References: <1366869439-9695-1-git-send-email-rajeshwari.s@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42JZI2JSpWt1pCLQ4NVbDYuH62+yWEw7uojZ ouNIC6PFlMNfWCxWHd7AbvFrzm12i29btjFaLH+9kd3i7d5OdgdOj9kNF1k8Fmwq9bhzbQ+b x9k7Oxg9+rasYgxgjeKySUnNySxLLdK3S+DK+NN+jKWgT6hi8vGDrA2My/m7GDk5JARMJC48 /MYGYYtJXLi3Hsjm4hASWMoosWb3FiaYoranbcwQiUWMErf//WSEcCYySVw/MJMdpIpNwEhi 68lpjCC2iICExK/+q2BFzAJ7GCWOXfgDlhAWcJFY/mwJ2FgWAVWJnxvPMoPYvALuEj8v/2WE WKcgcWzqV1YQm1PAQ+LQ9u1gcSGgmmddG1hBhkoIrGOXaFgxhRlikIDEt8mHWLoYOYASshKb DjBDzJGUOLjiBssERuEFjAyrGEVTC5ILipPSi0z0ihNzi0vz0vWS83M3MQLD//S/ZxN2MN47 YH2IMRlo3ERmKdHkfGD85JXEGxqbGVmYmpgaG5lbmpEmrCTOq95iHSgkkJ5YkpqdmlqQWhRf VJqTWnyIkYmDU6qBUeSL+l2/jLXyM9NO6j4qDbinsGnNpTXa2557bLV5vIP7wtFvshEROqEV Bm9MeI8LKQUJ/a570bBvr+HF7EaO9AztaxM23HU7dp317L6kq7tYc7+XnQpc9HfXJU7jkD/P Yy0Xbt15pM7twPYrxwoVraICnxmut9xqIuv54ZzolZnp/XXHTsou7VViKc5INNRiLipOBAAZ ImhdlQIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrPIsWRmVeSWpSXmKPExsVy+t9jAV2rIxWBBqsmyFs8XH+TxWLa0UXM Fh1HWhgtphz+wmKx6vAGdotfc26zW3zbso3RYvnrjewWb/d2sjtwesxuuMjisWBTqceda3vY PM7e2cHo0bdlFWMAa1QDo01GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5kkJeYm6q rZKLT4CuW2YO0EVKCmWJOaVAoYDE4mIlfTtME0JD3HQtYBojdH1DguB6jAzQQMIaxow/7cdY CvqEKiYfP8jawLicv4uRk0NCwESi7WkbM4QtJnHh3nq2LkYuDiGBRYwSt//9ZIRwJjJJXD8w kx2kik3ASGLryWmMILaIgITEr/6rYEXMAnsYJY5d+AOWEBZwkVj+bAkTiM0ioCrxc+NZsBW8 Au4SPy//ZYRYpyBxbOpXVhCbU8BD4tD27WBxIaCaZ10bWCcw8i5gZFjFKJpakFxQnJSea6hX nJhbXJqXrpecn7uJERxdz6R2MK5ssDjEKMDBqMTDK/CqPFCINbGsuDL3EKMEB7OSCG/LxopA Id6UxMqq1KL8+KLSnNTiQ4zJQFdNZJYSTc4HRn5eSbyhsYm5qbGppYmFiZklacJK4rwHWq0D hQTSE0tSs1NTC1KLYLYwcXBKNTAKv76U5buyt+Td0ifCv9YZpxeu6jBQPJ+75Vt1oJrC9+Wc fk7i8TOvas7mEzVfkB4d1zc9caIs2wQv8XXXN2zqmymcdVG9krFb3tm06skJpp15lzlYf3sp f5FKnXxT8ZxK6I0zzXeFnQtMFQTuPTj/RnrCQnfPvy6XNCbuU1KouZOxLamSN0yJpTgj0VCL uag4EQAIVgvA8gIAAA== DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQm3YNtQQH3NkTI5wMubU5oU1UlJX9cXPm94JdBomDzrciJfchzLvLrX9DdtttTSueqIsSS4 X-Original-Sender: rajeshwari.s@samsung.com X-Original-Authentication-Results: mx.google.com; spf=neutral (google.com: 2607:f8b0:400c:c02::22f 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 --- arch/arm/cpu/armv7/exynos/power.c | 50 ++++++++++++++++++++++++++++++ arch/arm/include/asm/arch-exynos/power.h | 10 ++++++ 2 files changed, 60 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..98e1144 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); + +/* + * Read inform1 to get the reset status + */ +uint32_t get_reset_status(void); + +/* + * Read the resume function and call it + */ +void power_exit_wakeup(void); #endif