From patchwork Wed Sep 9 06:46:24 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dongsheng Wang X-Patchwork-Id: 515717 X-Patchwork-Delegate: yorksun@freescale.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 67B97140180 for ; Wed, 9 Sep 2015 17:25:33 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 267EF4B7B1; Wed, 9 Sep 2015 09:25:30 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CCptHCjAjuEQ; Wed, 9 Sep 2015 09:25:29 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 56B8A4B710; Wed, 9 Sep 2015 09:25:29 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id DED5E4B710 for ; Wed, 9 Sep 2015 09:25:26 +0200 (CEST) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0Tgcqln4fgLs for ; Wed, 9 Sep 2015 09:25:26 +0200 (CEST) X-Greylist: delayed 1130 seconds by postgrey-1.34 at theia; Wed, 09 Sep 2015 09:25:22 CEST X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1on0131.outbound.protection.outlook.com [157.56.110.131]) by theia.denx.de (Postfix) with ESMTPS id 190C44B70C for ; Wed, 9 Sep 2015 09:25:22 +0200 (CEST) Received: from BY2PR0301MB1606.namprd03.prod.outlook.com (10.163.28.24) by BY2PR0301MB1605.namprd03.prod.outlook.com (10.163.28.23) with Microsoft SMTP Server (TLS) id 15.1.262.15; Wed, 9 Sep 2015 06:52:21 +0000 Received: from CH1PR03CA012.namprd03.prod.outlook.com (10.255.156.157) by BY2PR0301MB1606.namprd03.prod.outlook.com (10.163.28.24) with Microsoft SMTP Server (TLS) id 15.1.262.15; Wed, 9 Sep 2015 06:52:19 +0000 Received: from BL2FFO11FD028.protection.gbl (10.255.156.132) by CH1PR03CA012.outlook.office365.com (10.255.156.157) with Microsoft SMTP Server (TLS) id 15.1.231.21 via Frontend Transport; Wed, 9 Sep 2015 06:52:19 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BL2FFO11FD028.mail.protection.outlook.com (10.173.161.107) with Microsoft SMTP Server (TLS) id 15.1.262.18 via Frontend Transport; Wed, 9 Sep 2015 06:52:19 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id t896qFPG008605; Tue, 8 Sep 2015 23:52:16 -0700 From: Dongsheng Wang To: Date: Wed, 9 Sep 2015 14:46:24 +0800 Message-ID: <1441781184-32182-1-git-send-email-dongsheng.wang@freescale.com> X-Mailer: git-send-email 2.1.0.27.g96db324 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD028; 1:Fwv0VX6b+ScCxQ7vA1HyIddpgrm6Dc8TEcYep+CPkzS9nYjLvLB7csIvdSh+humw0h/rWGVRRnjmelebvGBraxR9zSIOYNBtMSHk58sJld8m9ugy1xr84CWwT1lRjwdcNUQvBdJhL0lqhiZJ3pJmwflh0fO72Bz3/O4XPJxynySlC6hMauUN3xFxrDA2ijoPUDHfUvBHn/VxACNcz/TSNLoHwJdc30OurBUcd3aIhPDtk/qgEYjlrtSDwEJXYudr0Aglvmqq9FrolYVX58swp8eeoTRKIFilCQQmcghaZdgTZ4H6f6jmFDG1eQSlL3BDUxTbTCDN7bm+2yaoOkIUaq6W2ga3RTAgUCJYDGV7Rp4DJMLSlQnspZgIchWraG6wJRzfG/nvp7wLon5+E3Pbmg== X-Forefront-Antispam-Report: CIP:192.88.158.2; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(5003940100001)(50466002)(87936001)(110136002)(47776003)(2351001)(85426001)(68736005)(50986999)(189998001)(77156002)(107886002)(64706001)(62966003)(5001960100002)(46102003)(2371004)(104016003)(4001450100002)(36756003)(92566002)(19580395003)(50226001)(450100001)(5001830100001)(69596002)(106466001)(105606002)(97736004)(48376002)(33646002)(6806004)(4001540100001)(5007970100001)(77096005)(19580405001)(5001860100001)(81156007)(575784001)(229853001)(86362001)(11100500001)(4001430100001); DIR:OUT; SFP:1102; SCL:1; SRVR:BY2PR0301MB1606; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB1606; 2:novPeJc2DVxCTTPUj4pD6+mskPjFfAzpATgIFXlwFvFbdpNe4mNjvrkjVnqwg0CW81AO25Ku+L3Dqcf3b8Z1EsALHtX9Oimmv4yvBQwM1YQtMj9Rz17PjQoxvIRWwbfp3cvTKc5OHkWIXUuvOz1sq5Mg3fg5KHG4T0qnNwU6Zs4=; 3:0hbth5g7jjncV2WQmQL1FmLXktJnShB20lXM18YbRmpBszuiW2qIk7S1bgst8pK0+W1oKvgeo2BNsTD3DNKvF2Uso5BXbZzM0ZgbpyBt3FLG6a97/rZZDGGKtl/EjYKSsTzstaf49wZ7TnF5TgCnX9md5VfH/00xgR9+Th3lWCUkWvEgu8N1hnnijBROOho+vGp7MRdQoU8q0tLlUrZSinGTEuG3DUPgcJMp8arLtQ8=; 25:KYr7UORGQCXsIAmC2JSZzoo2W4e8BO34K3L25jdMexcSE9kUbUc9liArQdjaCktnyJZjqsItOi3glgyP2YkDBr7y4qsQxY+pYHhyaLCdQL8DWudlZJJaQSEjOLCSvEy0Ccu4c+2bJT0Yqj+I3VldazP/x5HSh7r8n2GLL/FNLFcvUhSCiWvDpz0BmKVagYr8abyj0y+dC7L/hZWsXSyol05n7YLTdJcm9SULJthboYjt32CVvpfRoAp+GKLLG0n/ X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY2PR0301MB1606; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB1606; 20:+MDogSSg7gXM/Dx7IN4bdf4UDIESM7iBu4qP0/pplf8jOBWq0xyuWqjEsXs7o2d1HIUrkWGtekSuhvTX6N9EPxtUul8QKDz8xjHT5+u0mGCAomNGj6EnJDTF+Dot7j4h59Pjq5aVSJA/W21Xt57M2T8WBW2W3HaNgWZnZw8LY6GY2T5OUACc9LAR7MSgyTTkkbyCpETrvGDzVb5PKGhd4tvh3+FtLnnzM6N93bO7KD4ZMN9MzDpUIisE5lNQDDMujkflOm6YHmGUOMOzLZqAqePvbON7Kf4/DA/a5iRWmdGtwHXW7QYV8u1Jicw+u2WICLFD34HxcAwjq4Snm9+EOnOh8Mrq4YYuyhRdfwSVoqc=; 4:hoasXgnXP8DjpE0oDd5RVv73yuH/RKjB36vPfDtD4Dtl9TRBfhXThPg/eZt934vxaRM6w6LXmKrPsZqB4LvF8z40ffdJznSI1NNWN54wHR9rOUbiFM4tzyZ66oCa3BALvj48mnCSZuK1TguBlXzr16uC6QuLh7AKHV7q1X2KTIvLNv4TgW7eK05nEEoOVCkUD64fBwO0O/DFdeb13s35js5ngHQJL21q1aSnEZJztp3SIg9cWpeNOu9BYBO2tv6MzpWyDMIsZIa2FOrPKFZwA96Szz2qP2KVGVKeOsPo0UNwA40sTIUIBUq/rb01bpPd X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(5005006)(8121501046)(3002001); SRVR:BY2PR0301MB1606; BCL:0; PCL:0; RULEID:; SRVR:BY2PR0301MB1606; X-Forefront-PRVS: 0694C54398 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2PR0301MB1606; 23:0t/R0uFxzlLcqWFwb63nb/iJqqVIzITV0V2csJD?= =?us-ascii?Q?8uDQdq6008Rkcq+erYxAHWfgkLDxMUjCRYT5BCEz8kZm31WDfCbOTpNbqwQ3?= =?us-ascii?Q?WYL6ydiiBa99cj0j+9qbu/6E2aUjI7RfYASrbff8nO+pTjEgLcIZuGYxtggz?= =?us-ascii?Q?lcKn58Y8YRyYDlGy2ZpWRzIdtDw9NlbhnSdhhb6HRgjVe9F3vMOux5BF+K/U?= =?us-ascii?Q?TF64hyEj4rFP8zZQXTzCjvWVOBkIVJTRF+LJ7s4ocoQOrWwC1i3FrYMr7sa7?= =?us-ascii?Q?SJMSa7od5wUU3ZOGgS1rwtCUS2Fom9QN7djMVn+K0AikhGDqtigc75j+mDaQ?= =?us-ascii?Q?oAMelIWUcsT5cNcImBUxxET+B1Bfl0WIs5oTE9Lmc8jPy+R6ZYmMASrUnmFO?= =?us-ascii?Q?AIrvZGx5LuDI8xMQUJ70ir0jORJxPTV0nm/JgJtX6FAiv3c9BJbrJQU1Hnyc?= =?us-ascii?Q?vT8hvlB9l9cgrn07JbaMefsWrMH7lj9R4EwN31JjY97+yBu1csF4W6+/LUzU?= =?us-ascii?Q?h8XEriiQyh8J8g6Ju4NZS0kU5MzwWfjBU+BuDBwnjMEV2SguwSSGvru9IqPN?= =?us-ascii?Q?SWi3MR9SW1NOkwvYTLPiNa6ixHAQVjLdpHCIEqUOTwk+GGujnHheSCCzcj1b?= =?us-ascii?Q?1mGylxLzAJ+6dZiuCatojwzNO7KbfQzCYRp6IlSpP/JBYJ6wEVeEQRnTyiAT?= =?us-ascii?Q?l4WwqCW2jIpHQb0gMfpLCCz70a0jtyej6RAJYrJmxbGN9rjBaiu0hNY6FBKH?= =?us-ascii?Q?HNyfURQz6hMhCiRrCwC14KybyuQmk0ljQEvOYbAcMhWKqN+Fuwu/UyKh1A8h?= =?us-ascii?Q?VldqzbIN3xMyEH8mzoF0FeOYx5YNwvGuBizEbu1ImUV4/iqv0knZEMFrE7ry?= =?us-ascii?Q?2Fq67iOzq5ZH+50nbAiRQK/XRUqlGZ1qVl42nUOggYMNxFphDnZnIY2ntR3o?= =?us-ascii?Q?0QxEgzlztOXj/UwbMkuFoHCeW59q05Xox1IU4PdOfeaaQtdMcyDJQgLhNgGC?= =?us-ascii?Q?CeMeOv3M7BAz7SLlF/JaGU3qZzlU+8QLbmUzm8bW83wvh/MxZSlY/amKmu7T?= =?us-ascii?Q?zeG1Kp1kD3UcNjR4L6GsGUlernsOs3QQ3rzzNp0+B6JWbSRHL99s3NmodaKI?= =?us-ascii?Q?PEzDW0H8Ttqg0BPAMkYC/kahDL80dU+F4BOCo56prgUUgrA8olJIC8SWryBe?= =?us-ascii?Q?o/ttTQeczOp/0hQcfTu6Iry7M4AM4lIMHYCYPhBEmCcJMuffZCx0SlrKHsJ/?= =?us-ascii?Q?NuXzsOpdWd9bPpQ/yzZeG1lKVTx5bV7aXZavc3oFUJbJJs88Z+NMvZJCV2IG?= =?us-ascii?Q?lnV03EhOBPAIbNsvrCMVAtuFVhqpwkcn+oGfbLZ+wbnUJ?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB1606; 5:K8F7hPl77D1KwrfvUQ7RJohbO8AE3rdr6aBiwqOgUVX8krT0ay9Cc6EhbTSsSdKa50VtbS9IlJf7ohSeP0Mea3LrslV2sO/FbXou8CNxdI8avUCaYucVo3shWsHTrd1qp8lwbRIgMOUqUQ898mFkAg==; 24:OEXOBRwxPLD5Molf5hDiCuz/4Tw+rDJq2kBPgsTeBeZsQW4bwCEPWbnx6FwwdWgc1zuBDZBbKqZcgUPEXeXKm2lE56BIkDQZVrLWrnUrFHI=; 20:cYe9aGx9Fu85o+9dd43iGwi9exPLluG2EHwUvh0ppTQj5sIO7doyONwOfmRGtpBjR4ws27CIEtFehOCLvO0kqA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Sep 2015 06:52:19.3390 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY2PR0301MB1606 X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB1605; 2:fQzQ+lxWCgHhfnrFtj4BK6uoykPSeEY2IXvUaBsG1ZXuJyXiXtOLbg2CCXU5aa7gs+rTjS2QzKoSnd/rsfsNY6OfETh6+7S4iKVq9hcLsLJcZ7GBhDn3kisnA84vVutqDwujW2fUO2SL1jhgnT+MBzF1tX3W5aWRqzDP0Y7YUmA=; 23:d4CeW7+2nCkb32tNLRE7MqDe86gesl/379oh2WYpjFcLX0cGU6hPTzUtZ7q8T4miQyBRNH6VKLXWi1DsBKK9X7QYzHTRajGt8heN5KEoFGBk5FMMuX8nsLKRe1d7TrZrv9apDN83LwxCfmWl8YkUSxhumvalPVnbcFoHYMciYq03cdHaW96ECJASPBESIEQ3 X-OriginatorOrg: freescale.com Cc: u-boot@lists.denx.de, alison.wang@freescale.com Subject: [U-Boot] [PATCH] arm/ls102xa: Add STANDBY implement based on PSCI X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 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" From: Wang Dongsheng Base on PSCI services, implement CPU_SUSPEND for ls102xa platform. Signed-off-by: Wang Dongsheng diff --git a/arch/arm/cpu/armv7/ls102xa/psci.S b/arch/arm/cpu/armv7/ls102xa/psci.S index cf5cd48..1bc7e45 100644 --- a/arch/arm/cpu/armv7/ls102xa/psci.S +++ b/arch/arm/cpu/armv7/ls102xa/psci.S @@ -14,10 +14,13 @@ #define SCFG_CORE0_SFT_RST 0x130 #define SCFG_CORESRENCR 0x204 +#define SCFG_CLUSTERPMCR 0x904 #define DCFG_CCSR_BRR 0x0E4 #define DCFG_CCSR_SCRATCHRW1 0x200 +#define RCPM_POWMGTCSR 0x130 + .pushsection ._secure.text, "ax" .arch_extension sec @@ -111,6 +114,41 @@ psci_cpu_off: 1: wfi b 1b +.globl psci_cpu_suspend +psci_cpu_suspend: + push {lr} + + @ Get Power State + mov r0, r2, lsr #16 + ands r0, r0, #1 + bne out + + @ STANDBY Power State + @ Get RCPM base address + movw r0, #(CONFIG_SYS_FSL_RCPM_ADDR & 0xffff) + movt r0, #(CONFIG_SYS_FSL_RCPM_ADDR >> 16) + + @ Get POWMGTCSR + ldr r1, [r0, #RCPM_POWMGTCSR] + rev r1, r1 + + movw r2, #0 + movt r2, #(1 << 4) + + orr r1, r1, r2 + rev r1, r1 + str r1, [r0, #RCPM_POWMGTCSR] + + dsb + wfi + +out: + @ Return + mov r0, #ARM_PSCI_RET_SUCCESS + + pop {lr} + bx lr + .globl psci_arch_init psci_arch_init: mov r6, lr @@ -121,6 +159,6 @@ psci_arch_init: bx r6 - .globl psci_text_end +.globl psci_text_end psci_text_end: .popsection diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index c55cdef..e314c35 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -32,6 +32,7 @@ #define CONFIG_SYS_FSL_SERDES_ADDR (CONFIG_SYS_IMMR + 0x00ea0000) #define CONFIG_SYS_FSL_GUTS_ADDR (CONFIG_SYS_IMMR + 0x00ee0000) #define CONFIG_SYS_FSL_LS1_CLK_ADDR (CONFIG_SYS_IMMR + 0x00ee1000) +#define CONFIG_SYS_FSL_RCPM_ADDR (CONFIG_SYS_IMMR + 0x00ee2000) #define CONFIG_SYS_NS16550_COM1 (CONFIG_SYS_IMMR + 0x011c0500) #define CONFIG_SYS_NS16550_COM2 (CONFIG_SYS_IMMR + 0x011d0500) #define CONFIG_SYS_DCU_ADDR (CONFIG_SYS_IMMR + 0x01ce0000)