From patchwork Thu Sep 6 09:38:04 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Figa X-Patchwork-Id: 1412681 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id 2DAFD3FC85 for ; Thu, 6 Sep 2012 09:41:38 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1T9YXg-0004oy-VV; Thu, 06 Sep 2012 09:38:33 +0000 Received: from mailout3.samsung.com ([203.254.224.33]) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1T9YXV-0004mV-BF for linux-arm-kernel@lists.infradead.org; Thu, 06 Sep 2012 09:38:22 +0000 Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0M9X00EBP9FBPF50@mailout3.samsung.com> for linux-arm-kernel@lists.infradead.org; Thu, 06 Sep 2012 18:38:20 +0900 (KST) X-AuditID: cbfee61a-b7fd26d000002b62-1e-50486f0c4505 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 63.63.11106.C0F68405; Thu, 06 Sep 2012 18:38:20 +0900 (KST) Received: from mcdsrvbld02.digital.local ([106.116.37.23]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01 (7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0M9X00K2L9FLF240@mmp1.samsung.com> for linux-arm-kernel@lists.infradead.org; Thu, 06 Sep 2012 18:38:20 +0900 (KST) From: Tomasz Figa To: linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/3] ARM: EXYNOS: pm_domain: Detect domain state on registration from DT Date: Thu, 06 Sep 2012 11:38:04 +0200 Message-id: <1346924286-9584-2-git-send-email-t.figa@samsung.com> X-Mailer: git-send-email 1.7.10 In-reply-to: <1346924286-9584-1-git-send-email-t.figa@samsung.com> References: <1346924286-9584-1-git-send-email-t.figa@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrEJMWRmVeSWpSXmKPExsVy+t9jAV2efI8Ag0ffzC02Pb7G6sDosXlJ fQBjFJdNSmpOZllqkb5dAlfGlYdhBR8EKs5OmcbYwPiXt4uRk0NCwESiectcJghbTOLCvfVs XYxcHEICixgl7m5pYoFwNjNJfDm5kh2kik1ATeJzwyM2EFtEwFti8pm/7CBFzAINjBKzb01k BEkIC0RJTPmwmRnEZhFQlWictg6sgVfAUeLAyXvMEOvkJZ7e7wOLcwo4SVy7OJEVxBYCqlk5 9TDzBEbeBYwMqxhFUwuSC4qT0nMN9YoTc4tL89L1kvNzNzGCff5MagfjygaLQ4wCHIxKPLy/ 8t0DhFgTy4orcw8xSnAwK4nwWpp6BAjxpiRWVqUW5ccXleakFh9ilOZgURLndTpnFyAkkJ5Y kpqdmlqQWgSTZeLglGpgnFt476zL8r/REit35V9We2bI27Nt4Qa9wq+TC3YH90x6k/n6au71 D5H5299NFc6ZV/qyVXnZIvVb6kUPb1tMWxLImzi7m12W6VIK+7atyvcdxf5/t17zoPuCbt2y LTtj6tRUpvBeVtLcsvPO8UsK+Ruvr9ZUctLT/Lqm8djKpTPns8iYeAmElyqxFGckGmoxFxUn AgBCv/to9QEAAA== X-Spam-Note: CRM114 invocation failed X-Spam-Score: -6.9 (------) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-6.9 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high trust [203.254.224.33 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: rjw@sisk.pl, kyungmin.park@samsung.com, kgene.kim@samsung.com, thomas.abraham@linaro.org, Tomasz Figa X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Initial state of power domains might vary on different boards and with different bootloaders. This patch adds detection of initial state of power domains when being registered from DT. Signed-off-by: Tomasz Figa Signed-off-by: Kyungmin Park Acked-by: Thomas Abraham --- Documentation/devicetree/bindings/arm/exynos/power_domain.txt | 4 ---- arch/arm/mach-exynos/pm_domains.c | 8 +++++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt index 6528e21..843b546 100644 --- a/Documentation/devicetree/bindings/arm/exynos/power_domain.txt +++ b/Documentation/devicetree/bindings/arm/exynos/power_domain.txt @@ -9,10 +9,6 @@ Required Properties: - reg: physical base address of the controller and length of memory mapped region. -Optional Properties: -- samsung,exynos4210-pd-off: Specifies that the power domain is in turned-off - state during boot and remains to be turned-off until explicitly turned-on. - Example: lcd0: power-domain-lcd0 { diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index c0bc83a..d1abc1a 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c @@ -89,6 +89,7 @@ static __init int exynos_pm_dt_parse_domains(void) for_each_compatible_node(np, NULL, "samsung,exynos4210-pd") { struct exynos_pm_domain *pd; + int on; pd = kzalloc(sizeof(*pd), GFP_KERNEL); if (!pd) { @@ -97,14 +98,15 @@ static __init int exynos_pm_dt_parse_domains(void) return -ENOMEM; } - if (of_get_property(np, "samsung,exynos4210-pd-off", NULL)) - pd->is_off = true; pd->name = np->name; pd->base = of_iomap(np, 0); pd->pd.power_off = exynos_pd_power_off; pd->pd.power_on = exynos_pd_power_on; pd->pd.of_node = np; - pm_genpd_init(&pd->pd, NULL, false); + + on = __raw_readl(pd->base + 0x4) & S5P_INT_LOCAL_PWR_EN; + + pm_genpd_init(&pd->pd, NULL, !on); } return 0; }