Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755071AbeAIH7P (ORCPT + 1 other); Tue, 9 Jan 2018 02:59:15 -0500 Received: from mailout4.samsung.com ([203.254.224.34]:44440 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754232AbeAIH7I (ORCPT ); Tue, 9 Jan 2018 02:59:08 -0500 DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20180109075905epoutp049c570bffad9aa44d7e3977e1e5fcb45b~IFVjEGfTT2758227582epoutp04c X-AuditID: b6c32a46-995ff700000010ee-08-5a547649752c From: Chanwoo Choi To: krzk@kernel.org, m.szyprowski@samsung.com, s.nawrocki@samsung.com, kgene@kernel.org Cc: tomasz.figa@gmail.com, cw00.choi@samsung.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 Subject: [RFC PATCH 0/9] soc: samsung: Add support of suspend-to-RAM on Exynos5433 Date: Tue, 09 Jan 2018 16:58:57 +0900 Message-id: <1515484746-10656-1-git-send-email-cw00.choi@samsung.com> X-Mailer: git-send-email 1.8.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrJKsWRmVeSWpSXmKPExsWy7bCmma5nWUiUwedffBYTb1xhsbj+5Tmr xfwj51gtJt2fwGJx41cbq0X/49fMFufPb2C32PT4GqvF5V1z2CxmnN/HZLH2yF12i8Nv2lkt Vu36w+jA67Fz1l12j02rOtk8Ni+p9+jbsorR4/MmuQDWqFSbjNTElNQihdS85PyUzLx0WyXv 4HjneFMzA0NdQ0sLcyWFvMTcVFslF58AXbfMHKAblRTKEnNKgUIBicXFSvp2NkX5pSWpChn5 xSW2StGGhkZ6hgbmekZGRnomxrFWRqZAJQmpGRcWzGMs2Ctb8XPnRPYGxmXiXYycHBICJhKH J31h7mLk4hAS2MEo8XbFXXYI5zujxJyZW1lhqqa8Og1VtYFR4uCihywgCSGBH4wS918Kg9hs AloS+1/cYAOxRQQiJX7uPcYI0sAs8Buo5lg/M0hCWCBEouFMIyOIzSKgKnHvxUKwOK+Aq8Te a61Q2+QkPux5BHaGhMAcNond11YAbeMAclwkLt3jhqgRlnh1fAs7hC0t8WzVRkaI+nZGifa9 85ghnCmMEueu32OCqDKWeLawC8xmFuCT6Dj8lx1iKK9ER5sQRImHROOEZqiwo8SxrgCIJ2Ml Pp97wjiBUXIBI8MqRrHUguLc9NRiowIjveLE3OLSvHS95PzcTYzgZKPltoNxyTmfQ4wCHIxK PLwSrcFRQqyJZcWVuYcYJTiYlUR4fecDhXhTEiurUovy44tKc1KLDzGaAoNjIrOUaHI+MBHm lcQbmlgamJiZGZmbWQBTgDhva4BLlJBAemJJanZqakFqEUwfEwenVAPjumXl4mGWAbvvW64P W7HTYm9Xqqq+sueESs/iqhNWV/jV6v3OHJQzvGZg0uC1p0f8eHTS5XUqy1TiXPeEJOv/Xpnp rlFtqrXL5lOOnXJc/Pesxazaz/l3cs/0ijq3X5Ln4Ffjg/eWzrOYdkg1pWXZz5zQksgUv6Ri F/3Pwb8OnZSfGqAm8E+JpTgj0VCLuag4EQAfSzv0TAMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprILMWRmVeSWpSXmKPExsVy+t9jQV2PspAog9b7hhYTb1xhsbj+5Tmr xfwj51gtJt2fwGJx41cbq0X/49fMFufPb2C32PT4GqvF5V1z2CxmnN/HZLH2yF12i8Nv2lkt Vu36w+jA67Fz1l12j02rOtk8Ni+p9+jbsorR4/MmuQDWKC6blNSczLLUIn27BK6MCwvmMRbs la34uXMiewPjMvEuRk4OCQETiSmvTjN3MXJxCAmsY5S4+ucoK4Tzg1Hi670VzCBVbAJaEvtf 3GADsUUEIiWeTH0KZjML/GaUuLywCMQWFgiRaDjTyAhiswioStx7sRCsl1fAVWLvtVZWiG1y Eh/2PGKfwMi1gJFhFaNkakFxbnpusVGBUV5quV5xYm5xaV66XnJ+7iZGYEBtO6zVv4Px8ZL4 Q4wCHIxKPLwSrcFRQqyJZcWVuYcYJTiYlUR4fecDhXhTEiurUovy44tKc1KLDzFKc7AoifPy 5x+LFBJITyxJzU5NLUgtgskycXBKNTAyZUTqJL+ecUhXzXa3ssNsqb2H3v50MHWUCFzp2zvH uTq0/PwjN8PmnWIPN4fvutK0cknFqdtXZSp+3Y6ZFNC0b0fV8scfQ/c2Jt35q1W9/Jlivaim yKLbi59/ebpVWb0wlKf06c3Ozm4/rX8/H210cVhquJY/sGmmzgXBNWeK6ph1L65QnM+txFKc kWioxVxUnAgACBNDkSQCAAA= X-CMS-MailID: 20180109075904epcas2p302d58aacfbb2195e455a25c90a1c610b X-Msg-Generator: CA CMS-TYPE: 102P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20180109075904epcas2p302d58aacfbb2195e455a25c90a1c610b X-RootMTR: 20180109075904epcas2p302d58aacfbb2195e455a25c90a1c610b References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: In the mainline, there is no case to support the suspend-to-RAM for Samsung Exynos SoC. This patchset support the suspend-to-RAM for 64bit Exynos SoC. For 32bit, arch/arm/mach-exynos/* directoy contains the suspend-related codes such as suspend.c/exynos.c. But, 64bit Exynos should contain the suspend-related codes in the drivers/soc/samsung/*. So, this patchset develop the patch4/5 for drivers/soc/samsung/exynos-pm.c. to support suspend 64bit Exynos SoC. But, I'm not sure what is proper approach for both 32/64bit Exynos. - Approach1 : Split out the supend-related codes between 32/64bit. : arch/arm/mach-exynos/* contains the suspend-related codes for 32bit. : drivers/soc/samsung/* contains the suspend-related codes for 64bit. - Approach2 : Consolidate the all suspend-related codes to drivers/soc/samsung/. Please let us know your opinion. The patch1/2/3 and 6/7/8/9 is just general patch. So, I add 'RFC' prefix to only cover-letter, patch4/5. If you want to add the 'RFC' prefix to all patches, I'll add 'RFC' prefix on v2. Based on: - git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux.git (branch: for-next) Need to discuss patch4/5: - patch4: soc: samsung: Add generic power-management driver for Exynos - patch5: soc: samsung: pm: Add support for suspend-to-ram of Exynos5433 [Remaining Issues] - The hang-out happen when disabling the MMC clocks on dw_mmc.c. I reported to Jaehoon Chung. He is checking this issue. To test the suspend-to-ram temporarily, you need to add CLK_IS_CRITICAL flag to 'aclk_mmc2/aclk_mmc0/sclk_mmc2/sclk_mmc0'. - I enabled the at least kernel configuration in order to test the suspend-to-RAM. So, I need to test it more time with DRM/Multimedia and other. But, the suspend-to-RAM of cpu is successful. - Exynos5433 SoC has two EXYNOS5433_EINT_WAKEUP_MASKx registers. The pinctr-exynos.c need to handle the extra EINT_WAKEUP_MASKx for Exynos5433. The suspend-to-ram test is failed on first time and then next tryout is ok. I'm developing it. Chanwoo Choi (9): clk: samsung: exynos5433: Add clock flag to support suspend-to-ram soc: samsung: pmu: Add powerup_conf callback soc: samsung: pmu: Add the PMU data of exynos5433 to support low-power state soc: samsung: Add generic power-management driver for Exynos soc: samsung: pm: Add support for suspend-to-ram of Exynos5433 arm64: dts: exynos: Add iRAM device-tree node for Exynos5433 arm64: dts: exynos: Use power key as a wakeup source on TM2/TM2E board arm64: dts: exynos: Add cpu_suspend property of PSCI for exynos5433 arm64: dts: exynos: Add cpu topology information for Exynos5433 SoC arch/arm/mach-exynos/common.h | 3 - arch/arm/mach-exynos/exynos.c | 23 +- .../boot/dts/exynos/exynos5433-tm2-common.dtsi | 1 + arch/arm64/boot/dts/exynos/exynos5433.dtsi | 47 ++++ drivers/clk/samsung/clk-exynos5433.c | 22 +- drivers/soc/samsung/Makefile | 5 +- drivers/soc/samsung/exynos-pm.c | 214 +++++++++++++++ drivers/soc/samsung/exynos-pmu.c | 9 + drivers/soc/samsung/exynos-pmu.h | 3 + drivers/soc/samsung/exynos5433-pmu.c | 286 +++++++++++++++++++++ include/linux/soc/samsung/exynos-pm.h | 21 ++ include/linux/soc/samsung/exynos-pmu.h | 1 + include/linux/soc/samsung/exynos-regs-pmu.h | 148 +++++++++++ 13 files changed, 745 insertions(+), 38 deletions(-) create mode 100644 drivers/soc/samsung/exynos-pm.c create mode 100644 drivers/soc/samsung/exynos5433-pmu.c create mode 100644 include/linux/soc/samsung/exynos-pm.h -- 1.9.1