Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932741AbeAJBqg (ORCPT + 1 other); Tue, 9 Jan 2018 20:46:36 -0500 Received: from mailout3.samsung.com ([203.254.224.33]:33061 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932122AbeAJBqe (ORCPT ); Tue, 9 Jan 2018 20:46:34 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout3.samsung.com 20180110014631epoutp03d0b0b4ca286b7fa9ad73b434df9465d3~IT5izOuzQ1109211092epoutp03M X-AuditID: b6c32a38-ec5ff70000001183-08-5a5570778ea7 MIME-version: 1.0 Content-transfer-encoding: 8BIT Content-type: text/plain; charset="utf-8" Message-id: <5A557078.50101@samsung.com> Date: Wed, 10 Jan 2018 10:46:32 +0900 From: Chanwoo Choi Organization: Samsung Electronics User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 To: Sudeep Holla , krzk@kernel.org, m.szyprowski@samsung.com, s.nawrocki@samsung.com, kgene@kernel.org Cc: tomasz.figa@gmail.com, chanwoo@kernel.org, jh80.chung@samsung.com, inki.dae@samsung.com, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Jonghwa Lee Subject: Re: [PATCH 3/9] soc: samsung: pmu: Add the PMU data of exynos5433 to support low-power state In-reply-to: X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrEJsWRmVeSWpSXmKPExsWy7bCmgW55QWiUwZN1IhYTb1xhsZh/5Byr xaT7E1gsbvxqY7XoPPuE2aL/8Wtmi/PnN7BbbHp8jdXi8q45bBYzzu9jslh75C67xeE37awW y0/tYLFYtesPowOfx5p5axg9ds66y+6xaVUnm8fmJfUefVtWMXp83iQXwBaVapORmpiSWqSQ mpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+TiE6DrlpkDdK2SQlliTilQKCCxuFhJ 386mKL+0JFUhI7+4xFYp2tDQSM/QwFzPyMhIz8Q41srIFKgkITVj6tLN7AU7VCq+zElsYNwm 28XIySEhYCKx6uQbxi5GLg4hgR2MEkfWzGYESQgJfGeUeH0mAKZo3/qfbBBFuxklHje0sIAk eAUEJX5Mvgdkc3AwC8hLHLmUDRJmFtCUePFlEgtE/T1GiW+tT5kh6jUkFn3/yARiswioSvyb u5YVxGYT0JLY/+IGG4jNL6AocfXHY7AjRAUiJHbO/8YOYosI1EksmH6EHWQos0APk8Tk5YvB hgoLpEtcm94F1sApYC1x+txfZpAiCYF2domPlyezQ7zgIrF/0i1GCFtY4tXxLewgV0sISEtc OmoLVc8o0b53HlTzFEaJc9fvMUE0GEs8W9jFBPEbn8S7rz2sEM28Eh1tQhAlHhLPZpyB2uUo sfD1H2aI99uYJC5PbWGZwCg3CynEZiFCbBZSiC1gZF7FKJZaUJybnlpsWGCiV5yYW1yal66X nJ+7iRGcPrUsdjDuOedziFGAg1GJh/fDjZAoIdbEsuLK3EOMEhzMSiK8vvODo4R4UxIrq1KL 8uOLSnNSiw8xmgIDfCKzlGhyPjC155XEG5pYGpiYGQGTl6WhoZI4b0CAS5SQQHpiSWp2ampB ahFMHxMHp1QDYwjLXQml0/dVwuWsax1s87ca1rGr3+Rw2eqwNPJiNUd+a8OmFx3vAzQvJ/Pc 0/DaHMhoNLs/5eSE4u+Ho6aLLvCYsY9pFoOf6Gxf7unxm5aLMMhP4HeaF8LEfP7gw+Tj3VM5 zl/+Wx/59PrkX4WtjQ+3njJi4JP6z7h9/ce0QpdygYz+Ptd8JZbijERDLeai4kQAGtgIMrUD AAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpikeLIzCtJLcpLzFFi42I5/e+xgG5ZQWiUwbdDfBYTb1xhsZh/5Byr xaT7E1gsbvxqY7XoPPuE2aL/8Wtmi/PnN7BbbHp8jdXi8q45bBYzzu9jslh75C67xeE37awW y0/tYLFYtesPowOfx5p5axg9ds66y+6xaVUnm8fmJfUefVtWMXp83iQXwBbFZZOSmpNZllqk b5fAlTF16Wb2gh0qFV/mJDYwbpPtYuTkkBAwkdi3/icbiC0ksJNRYsFcLxCbV0BQ4sfkeyxd jBwczALyEkcuZUOY6hJTpuR2MXIBVT9glPi+r5URolxDYtH3j0wgNouAqsS/uWtZQWw2AS2J /S9ugI3nF1CUuPrjMSPIHFGBCInuE5UgYRGBOol7u/axgsxkFuhhkjjU2AFWLyyQLvHy3GJm iGVtTBKf5l0FG8opYC1x+txf5gmMArOQnDoL4dRZCKcuYGRexSiZWlCcm55bbFRgmJdarlec mFtcmpeul5yfu4kRGDPbDmv17WC8vyT+EKMAB6MSD6/H7ZAoIdbEsuLK3EOMEhzMSiK8vvOD o4R4UxIrq1KL8uOLSnNSiw8xSnOwKInz3s47FikkkJ5YkpqdmlqQWgSTZeLglGpgtPp54Xn3 QladgyfyPOs5dkevX8nf9D73xtdzzj0ZgkxbZYUjeJYLMegLHyx1X3Z9rwjr5B9xT1frJeel iSrluerdmNq8YI6oxiTRmXZ1G7tXXag5LWwTN8/hzdtd/1VyqnbuutOWeHJ+TKqW2BvPxV2b FuTeKbmwNOX/6f0dyRmfYt5OmW10X4mlOCPRUIu5qDgRAP40BluVAgAA X-CMS-MailID: 20180110014630epcas1p2818dccc9bf03d7f36ea86f70043455af X-Msg-Generator: CA CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20180109075905epcas1p321b8898a0d45287d63364e1aa768fdab X-RootMTR: 20180109075905epcas1p321b8898a0d45287d63364e1aa768fdab References: <1515484746-10656-1-git-send-email-cw00.choi@samsung.com> <1515484746-10656-4-git-send-email-cw00.choi@samsung.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 2018년 01월 09일 23:11, Sudeep Holla wrote: > > > On 09/01/18 07:59, Chanwoo Choi wrote: >> This patch adds the PMU (Power Management Unit) data of exynos5433 SoC >> in order to support the various power modes. Each power mode has >> the different value for reducing the power-consumption. >> >> Signed-off-by: Jonghwa Lee >> Signed-off-by: Chanwoo Choi >> --- >> arch/arm/mach-exynos/common.h | 2 - >> drivers/soc/samsung/Makefile | 3 +- >> drivers/soc/samsung/exynos-pmu.c | 1 + >> drivers/soc/samsung/exynos-pmu.h | 2 + >> drivers/soc/samsung/exynos5433-pmu.c | 286 ++++++++++++++++++++++++++++ >> include/linux/soc/samsung/exynos-regs-pmu.h | 148 ++++++++++++++ >> 6 files changed, 439 insertions(+), 3 deletions(-) >> create mode 100644 drivers/soc/samsung/exynos5433-pmu.c >> > >> diff --git a/drivers/soc/samsung/exynos5433-pmu.c b/drivers/soc/samsung/exynos5433-pmu.c >> new file mode 100644 >> index 000000000000..2571e61522f0 >> --- /dev/null >> +++ b/drivers/soc/samsung/exynos5433-pmu.c >> @@ -0,0 +1,286 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +// >> +// Copyright (c) 2018 Samsung Electronics Co., Ltd. >> +// Copyright (c) Jonghwa Lee >> +// Copyright (c) Chanwoo Choi >> +// >> +// EXYNOS5433 - CPU PMU (Power Management Unit) support >> + >> +#include >> +#include >> + >> +#include "exynos-pmu.h" >> + >> +static struct exynos_pmu_conf exynos5433_pmu_config[] = { >> + /* { .offset = address, .val = { AFTR, LPA, SLEEP } } */ >> + { EXYNOS5433_ATLAS_CPU0_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_ATLAS_CPU0_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_ATLAS_CPU1_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_ATLAS_CPU1_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_ATLAS_CPU2_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_ATLAS_CPU2_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_ATLAS_CPU3_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_ATLAS_CPU3_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_APOLLO_CPU0_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_APOLLO_CPU0_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_APOLLO_CPU1_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_APOLLO_CPU1_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_APOLLO_CPU2_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_APOLLO_CPU2_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_APOLLO_CPU3_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_DIS_IRQ_APOLLO_CPU3_CENTRAL_SYS_PWR_REG, { 0x0, 0x0, 0x0 } }, >> + { EXYNOS5433_ATLAS_NONCPU_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, >> + { EXYNOS5433_APOLLO_NONCPU_SYS_PWR_REG, { 0x0, 0x0, 0x8 } }, > > > 1. First of all why do you need any of these CPU related PMU config > registers in kernel ? From the information I gathered this is ARM64 > SoC using PSCI. These are needed just in PSCI implementation and not > in kernel. So can you elaborate on why there are present here ? The 32bit Exynos used the 'smc' call to enter the suspend mode and need to handle the PMU registers. Even if PSCI replaces the 'smc' call on the Exynos5433, the Exynos5433's document requires the handling of PMU config related to CPU for the suspend mode. IMHO, If the secure OS implemented the all something related to CPU, it might be unnecessary to handle the PMU registers. I think that it depend on how to design the SoC by H/W Architect. This is just my opinion. > > 2. Are there any public documents that these names map to ? There is no public document. It is confidential. > If there is none, please replace these codenames(ATLAS, APOLLO) with > appropriately. In the Exynos5433, 'apollo' indicates the LITTLE cores (cpu0-3, cortex-a53) and 'atlas' indicates the big cores (cpu4-7, cortex-a57) Exynos5433 already used the 'apollo' and 'atlas' on clk-exynos5433.c driver and thermal device-tree node. It is better to use the original register name in the document in order to reduce the confusion of the change of register name even if document is not public. Also, exynos7 used the 'atlas' word for big cores. > > Sorry if these are already answered, just point me to those threads. > -- Best Regards, Chanwoo Choi Samsung Electronics