From patchwork Sun Jan 7 06:34:32 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anson Huang X-Patchwork-Id: 856546 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3zDzLQ2kYpz9s7n for ; Mon, 8 Jan 2018 00:11:10 +1100 (AEDT) Received: by lists.denx.de (Postfix, from userid 105) id E7047C21F21; Sun, 7 Jan 2018 13:09:58 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAD_ENC_HEADER, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 6DE0BC21F74; Sun, 7 Jan 2018 13:08:15 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 0FFB5C21E90; Sun, 7 Jan 2018 06:52:05 +0000 (UTC) Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0047.outbound.protection.outlook.com [104.47.36.47]) by lists.denx.de (Postfix) with ESMTPS id 2CCD7C21C2B for ; Sun, 7 Jan 2018 06:52:05 +0000 (UTC) Received: from MWHPR03CA0050.namprd03.prod.outlook.com (10.174.173.167) by BN3PR03MB2355.namprd03.prod.outlook.com (10.166.74.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Sun, 7 Jan 2018 06:52:03 +0000 Received: from BN1AFFO11FD043.protection.gbl (2a01:111:f400:7c10::107) by MWHPR03CA0050.outlook.office365.com (2603:10b6:301:3b::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.386.5 via Frontend Transport; Sun, 7 Jan 2018 06:52:02 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; lists.denx.de; dkim=none (message not signed) header.d=none; lists.denx.de; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD043.mail.protection.outlook.com (10.58.52.190) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.20.345.12 via Frontend Transport; Sun, 7 Jan 2018 06:51:29 +0000 Received: from shlinux2.ap.freescale.net (shlinux2.ap.freescale.net [10.192.224.44]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id w076pmGm032563; Sat, 6 Jan 2018 23:51:54 -0700 From: Anson Huang To: , , , , , , Date: Sun, 7 Jan 2018 14:34:32 +0800 Message-ID: <1515306872-1852-3-git-send-email-Anson.Huang@nxp.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1515306872-1852-1-git-send-email-Anson.Huang@nxp.com> References: <1515306872-1852-1-git-send-email-Anson.Huang@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131597814920471573; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(39380400002)(396003)(39860400002)(346002)(376002)(2980300002)(1109001)(1110001)(339900001)(199004)(189003)(2906002)(356003)(81156014)(8936002)(305945005)(2950100002)(72206003)(85426001)(36756003)(498600001)(86362001)(8676002)(48376002)(2201001)(50466002)(47776003)(68736007)(59450400001)(105606002)(106466001)(104016004)(51416003)(50226002)(316002)(39060400002)(97736004)(5660300001)(110136005)(16586007)(53936002)(8656006)(6666003)(81166006)(77096006)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR03MB2355; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD043; 1:b207zX1HbY2uCPJJ/ekwr0y64vk0HGOWYE2vY48uDUHnrMicWX3cPBINkuxYfmg8yHV2kGvxH8hSwQ4mBGKsqx4SHDlWrWIzGjrc6mD66YjK7HX9wvsjaYlB4ichOSW/ MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b0482067-5c12-47ed-6415-08d5559b1604 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4628075)(201703131517081)(5600026)(4604075)(2017052603307); SRVR:BN3PR03MB2355; X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 3:fuZBHOASHLeL8K2LkPZ2cN1jACmnicLs/kiBDkw4ubZOUFh2mhF5F4pdzf3Z+scGLYyYpMl6OTWZbniXTi5hV2vOfLkq9dqGWUJmoP7EY10Efqaz2l+MmAz3woa6NvAgYbixlLgG0hsD7wwmORlaF0sQ1gc8u0P+lp5jt3zxUjsMuFSa2iYmr+bw4Oz9M3aObPqjaM/kzTbRTHJeB803Aho/i45Q0V/dX2Vc0LCpP5c+OFNehq0pJoL1Wm+40zLZQcZSJKVHI3mj5b5dwd2m8Rz4gw/VthbJ+hhsFRrA/ZFNaTEHW8DrVfJKz+fx5g/hVux9rQsyiIAkFJZ2ItNfBTSJ/h7VBCh/WWwoOAOe/08=; 25:rt/pu5RKIxtlC/5wShCneoB4LZi3DEbsMggqwLLEsDS9WPGffOmdiXM1+s+pud12oF7mkqokJAJXOukO8xkOjaCv74Db/ktKR0AkeBxLbKPxbt5HOMmnuRnIwhC4GeSp3UFSctEbhVROajW7tbjqJzXC3BwzFxdgoAbJKCSc7usdBl3zOXi6FH2Px5shfwqLRiOAOcWF3LNCgoNLDfrZH2eOc/FdURBtTl1hn4N6MdG4v8fIwInNCHRAxVfrO2q/yYuZOkBla0TZnhiFqXcl8a8yRt8cpLByXN72m8D/h1I45dEqQareZmeF32VfV7phcitxbRVNTl2BG2GLVr0+aQ== X-MS-TrafficTypeDiagnostic: BN3PR03MB2355: X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 31:jFm5iIdB0Y+d8mol5tL7WiyPsuF83N92lqmKTKMVdQAzcoCKW2n7sgLWlbH1ddfw6Uv6spmxneRdlZvyD4WjSRjDqR4WPHMj0j3+HVKjYnUqm03war/XZ9VfjElTx99qbVMbR8sEApLXcqVc5dokCbEyMf3X4d98oRWUO5NfDQCjtmMw9DTKh9imcU5xdD3kZL8y1UgHl8pzvQeIowruyYSFioCb714O4h1lcGebcLQ=; 4:jW+fJraND9+DXPPw22a+/Rv1grtl3Afgkrm9EkErUKANwJslYsdMUd8r3F8z0Vfn0oxwxeOxOZHLt6ekcIeKSnXdKwtxIHafmvbFjkoa0YjQjUNwsRGOuB9d3MCKclQOCqZpcpqEX3Lnhu1REMJZwJ1LF7y8afnuKel74ML4+fsdozuXMpiO5Kiv+MMtURixFMQBSZunvGTfh0cJihebLUUbqIVLV0n0SH6aby7MO7FdOcktby1dleUDVwwkzUhzY2QPWEGguoFjvIXVu+9QNhbd3g2EW51F/3AqV+SKBcIa7YjmsnTJWzif+HJVGvA4 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095135)(2401047)(8121501046)(5005006)(3231023)(944510075)(944921075)(946801075)(946901075)(3002001)(10201501046)(93006095)(93001095)(6055026)(6096035)(20161123561025)(20161123559100)(20161123556025)(20161123565025)(201703131430075)(201703131448075)(201703131433075)(201703161259150)(201703151042153)(20161123563025)(201708071742011); SRVR:BN3PR03MB2355; BCL:0; PCL:0; RULEID:(100000803101)(100110400095)(400006); SRVR:BN3PR03MB2355; X-Forefront-PRVS: 0545EFAC9A X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR03MB2355; 23:ulGM1Chu/3/c+ivMn4a2tqkmRwIQStm4LyWAi4yOi?= 9Qh/bKXE4vML4fYrImYvbgXGlobnaPncV7OXEezI+BiIiMMbejcIAD1jXS3PDbkbhyKdb8F7urGIqnlld2fKW29/GtN69P3ABZWHQjxhIFO3qpcTa2bnR9vJLUKnC+8/XolGznjNKNJvUl8e1r0bbHtjVFKBnV36rUUuCXXRKFSyzGvX66Q8L18msNa6JdYqof3cVCczJV1/F8XCa2fzFn0pjiOrRzPhZVyhZ3xDrWnsUnB3dlZYJP4PLcxPq4snQEYjwHisrZwQzBHUHVAF7t6hx8B4rQym37mhPxikmhWettPx89ZoZ8oShvy9L1cmcIlzxYNmVXenfR9KDKdvlnihYJjJ6iiEGkLzbWWrSvz4PF0E28RPW/KSHfEGH1ut3RmaI4rcph+DwhG1WMeQB1QTARzUBSSghOpLG0u45Nu9/acWAZCDio9dlmg/QxmaH91c9w44CYvpReyxAm7lXpM+Su2HfL3pjrO9rlC39CC13K3iyPfI3K8mOv0GoosH3Dfc8WQGcYIOnrGz4Rbsa8fll6/cSB2epk729tCXQrJ0383OtFhRHyeI8oxC0gWOUG430U+Cy9CVpXz7aUufEO+TOGRjMQnV+Z4ru+hrg+qvvFGMGvKu3lKeQI37u+4BIIwwUTpFBeLHRuF6w5D48DDJujUjv0/ZVUimlMxp8soJp74MQTX/WHe7iZep44oi9uBOFYlzT7fypRCsgH8Vhk+anyFFoPoGCrO4SszAO8xQ/slIO6xX2IBYWvatY+fQ3493687prDztnYKZbprPz/n2cqpXgBLvgkDLhZUjunAFg4yZgn//Z6y8MEdPwNouTW83THW2HDnHVp0+OqxIbEHx57+iqs6o+K5IdRtxej33FO81ZjUg32Uj23kr0rIwDpwZM4JfZvwPM7ep7c+2T4oAqPk5+I3+cRtfCajvnz0Ig8bKIvNlPxh7I5HwEL/3ypNN1udv8qBazA/K25oieHvsYzjoJufJIPtDa5EK7sgmgNPGPRoVZyNGAb5FemGIdb8RPKu05OLEFHmGbf+1OpjNUN4bOj474i70kf7fnIScw== X-Microsoft-Exchange-Diagnostics: 1; BN3PR03MB2355; 6:qkygxV8JRBSUeI6zOJFTuT0LROO97ykms57GygiwTm/Kmj6Phe+z5etGZs9DiPcwIPy50H6qyr8LzbbEalqgeMVOXz8yAeOhgiYvbNmq/qiI8LL5tw4ruMJCmixM5FA+/BBiZgl071urQ/q9JgYYDqx3zSdBvRMvG2MV8RQtnxyTpLMvqPdRqvS490lcM0beZsRI+on3JgGSxPSSe0Z9KIMXYag4cEciNk3UVvxB/xUo9Z9DgR3P7WztTF0DEc0N5o9387NHbMKWpVYvl67KFyVSycEX4PP0vixzxOdWMDEK4dA3b0vY1jDJrrQ+qaff+lgeCbbgI0FmR1G9lamOFIIirPww1r7W5beuNHBfTXM=; 5:aDUR9+MlW/LUROyB7BXY+ttP57zYZpEAhsfA5q7N5+9jIDzKEu/3I1l1sX9fSidTrBdMowYCfvYBlZjcUREDVuV5tq4Cm7GEEThCDHAhc2JcJFNsmfn1KVY3tkdkHR8SGzsXVhDymVEm8l/la08YsOITWQNopwFtQb991fUT+oo=; 24:VQudV0N95fyoTSOTTP+lHJtYB8dRkmkuHGqOtOVLBhY3OJy2lGnAnvxnQ2oh/8K+Og53Vmtmh5JUYffUK3C0hfOnQhu9MO2GXjckrXhaV/8=; 7:fVAl9p1ctdaM2/Zu63H/brvhKcd3A1c7ifY5LgYSlzcO6vghZJSxReiIHQ1NMbi8LGLr3SqCs/Tr9xh4aiIzyuToWeR/qEV2cmi0T5DyWs/9pLAwGcVmOwv5QhmhPgJw4KRHm5DXrcgz6vFLTEIEkJ8LkvwSkpu+uOvknDXD97S+C/mqLJdnsFT98iqnbwSl6TDzZGWCMJYSZYlTZRtT/bKrzCAOCdCX8RYkJRb6cI2FCSm42PU94xrDxBZRWLQm SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jan 2018 06:51:29.4107 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b0482067-5c12-47ed-6415-08d5559b1604 X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB2355 X-Mailman-Approved-At: Sun, 07 Jan 2018 13:08:07 +0000 Subject: [U-Boot] [PATCH V3 3/3] imx: mx7: psci: add system power off support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add i.MX7 PSCI system power off support, linux kernel can use "poweroff" command to power off system via SNVS, PMIC power will be disabled. Signed-off-by: Anson Huang --- arch/arm/mach-imx/mx7/psci-mx7.c | 18 ++++++++++++++++++ arch/arm/mach-imx/mx7/psci.S | 7 +++++++ 2 files changed, 25 insertions(+) diff --git a/arch/arm/mach-imx/mx7/psci-mx7.c b/arch/arm/mach-imx/mx7/psci-mx7.c index b26be89..d5db511 100644 --- a/arch/arm/mach-imx/mx7/psci-mx7.c +++ b/arch/arm/mach-imx/mx7/psci-mx7.c @@ -26,6 +26,12 @@ #define BP_SRC_A7RCR0_A7_CORE_RESET0 0 #define BP_SRC_A7RCR1_A7_CORE1_ENABLE 1 +#define SNVS_LPCR 0x38 +#define BP_SNVS_LPCR_DP_EN 0x20 +#define BP_SNVS_LPCR_TOP 0x40 + +#define CCM_CCGR_SNVS 0x4250 + #define CCM_ROOT_WDOG 0xbb80 #define CCM_CCGR_WDOG1 0x49c0 @@ -87,3 +93,15 @@ __secure void imx_system_reset(void) writel(0x3, CCM_BASE_ADDR + CCM_CCGR_WDOG1); writew(WCR_WDE, &wdog->wcr); } + +__secure void imx_system_off(void) +{ + u32 val; + + /* make sure SNVS clock is enabled */ + writel(0x3, CCM_BASE_ADDR + CCM_CCGR_SNVS); + + val = readl(SNVS_BASE_ADDR + SNVS_LPCR); + val |= BP_SNVS_LPCR_DP_EN | BP_SNVS_LPCR_TOP; + writel(val, SNVS_BASE_ADDR + SNVS_LPCR); +} diff --git a/arch/arm/mach-imx/mx7/psci.S b/arch/arm/mach-imx/mx7/psci.S index e23db24..bc2cd8a 100644 --- a/arch/arm/mach-imx/mx7/psci.S +++ b/arch/arm/mach-imx/mx7/psci.S @@ -50,4 +50,11 @@ psci_system_reset: 2: wfi b 2b +.globl psci_system_off +psci_system_off: + bl imx_system_off + +3: wfi + b 3b + .popsection