linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: josephl@nvidia.com (Joseph Lo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/8] ARM: tegra: config the polarity of the request of sys clock
Date: Fri, 26 Jul 2013 17:15:04 +0800	[thread overview]
Message-ID: <1374830110-30685-3-git-send-email-josephl@nvidia.com> (raw)
In-Reply-To: <1374830110-30685-1-git-send-email-josephl@nvidia.com>

When suspending to LP1 mode, the SYSCLK will be clock gated. And different
board may have different polarity of the request of SYSCLK, this patch
configure the polarity from the DT for the board.

Signed-off-by: Joseph Lo <josephl@nvidia.com>
---
 arch/arm/mach-tegra/pmc.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/arch/arm/mach-tegra/pmc.c b/arch/arm/mach-tegra/pmc.c
index 8345fcd..018bc87 100644
--- a/arch/arm/mach-tegra/pmc.c
+++ b/arch/arm/mach-tegra/pmc.c
@@ -27,6 +27,8 @@
 #include "pmc.h"
 #include "sleep.h"
 
+#define TEGRA_POWER_SYSCLK_POLARITY	(1 << 10)  /* sys clk polarity */
+#define TEGRA_POWER_SYSCLK_OE		(1 << 11)  /* system clock enable */
 #define TEGRA_POWER_EFFECT_LP0		(1 << 14)  /* LP0 when CPU pwr gated */
 #define TEGRA_POWER_CPU_PWRREQ_POLARITY	(1 << 15)  /* CPU pwr req polarity */
 #define TEGRA_POWER_CPU_PWRREQ_OE	(1 << 16)  /* CPU pwr req enable */
@@ -238,6 +240,20 @@ void tegra_pmc_suspend_init(void)
 	reg = tegra_pmc_readl(PMC_CTRL);
 	reg |= TEGRA_POWER_CPU_PWRREQ_OE;
 	tegra_pmc_writel(reg, PMC_CTRL);
+
+	reg = tegra_pmc_readl(PMC_CTRL);
+
+	if (!pmc_pm_data.sysclkreq_high)
+		reg |= TEGRA_POWER_SYSCLK_POLARITY;
+	else
+		reg &= ~TEGRA_POWER_SYSCLK_POLARITY;
+
+	/* configure the output inverts while the request is tristated */
+	tegra_pmc_writel(reg, PMC_CTRL);
+
+	/* now enable the request */
+	reg |= TEGRA_POWER_SYSCLK_OE;
+	tegra_pmc_writel(reg, PMC_CTRL);
 }
 #endif
 
-- 
1.8.3.4

  parent reply	other threads:[~2013-07-26  9:15 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-26  9:15 [PATCH 0/8] ARM: tegra: support LP1 suspend mode Joseph Lo
2013-07-26  9:15 ` [PATCH 1/8] ARM: tegra: add common resume handling code for LP1 resuming Joseph Lo
2013-07-29 22:38   ` Stephen Warren
2013-07-26  9:15 ` Joseph Lo [this message]
2013-07-29 22:47   ` [PATCH 2/8] ARM: tegra: config the polarity of the request of sys clock Stephen Warren
2013-08-02  7:48     ` Joseph Lo
2013-08-02 20:24       ` Stephen Warren
2013-08-05  8:42         ` Joseph Lo
2013-07-26  9:15 ` [PATCH 3/8] clk: tegra114: add LP1 suspend/resume support Joseph Lo
2013-07-29 22:51   ` Stephen Warren
2013-08-02  8:09     ` Joseph Lo
2013-08-02 20:32       ` Stephen Warren
2013-08-05  8:02         ` Joseph Lo
2013-08-05 17:00           ` Stephen Warren
2013-08-05 17:39             ` Stephen Warren
2013-08-06  9:10               ` Joseph Lo
2013-08-06 18:37                 ` Stephen Warren
2013-08-07  9:12                   ` Joseph Lo
2013-08-07 16:46                     ` Stephen Warren
2013-08-08  2:23                       ` Joseph Lo
2013-08-08 19:54                         ` Stephen Warren
2013-08-09  9:23                           ` Joseph Lo
2013-08-06  9:19             ` Joseph Lo
2013-07-26  9:15 ` [PATCH 4/8] ARM: tegra: add common LP1 suspend support Joseph Lo
2013-07-29 23:13   ` Stephen Warren
2013-08-02  9:27     ` Joseph Lo
2013-08-02 20:40       ` Stephen Warren
2013-08-05  8:07         ` Joseph Lo
2013-07-26  9:15 ` [PATCH 5/8] ARM: tegra30: add " Joseph Lo
2013-07-29 23:45   ` Stephen Warren
2013-08-05  6:46     ` Joseph Lo
2013-07-26  9:15 ` [PATCH 6/8] ARM: tegra20: " Joseph Lo
2013-07-26  9:15 ` [PATCH 7/8] ARM: tegra114: " Joseph Lo
2013-07-29 23:53   ` Stephen Warren
2013-08-05  6:51     ` Joseph Lo
2013-07-26  9:15 ` [PATCH 8/8] ARM: dts: tegra: enable LP1 suspend mode Joseph Lo
2013-07-27 16:12 ` [PATCH 0/8] ARM: tegra: support " Marc Dietrich
2013-07-27 16:20   ` Dmitry Osipenko
2013-07-27 18:09     ` Marc Dietrich
2013-07-27 18:26       ` Dmitry Osipenko
2013-07-27 18:29         ` Dmitry Osipenko
2013-07-27 19:03         ` Marc Dietrich
2013-07-27 19:11           ` Dmitry Osipenko
2013-07-30  9:49   ` Joseph Lo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1374830110-30685-3-git-send-email-josephl@nvidia.com \
    --to=josephl@nvidia.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).