From patchwork Thu Oct 20 10:53:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenbin song X-Patchwork-Id: 684552 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 3t05wZ1TTxz9sD6 for ; Thu, 20 Oct 2016 22:21:18 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id B8CBFA75AA; Thu, 20 Oct 2016 13:21:16 +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 eQ59OuCZQnGV; Thu, 20 Oct 2016 13:21:16 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 226F0A758E; Thu, 20 Oct 2016 13:21:16 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id ADBC2A758E for ; Thu, 20 Oct 2016 13:21:12 +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 b7OlZmt5BAo4 for ; Thu, 20 Oct 2016 13:21:12 +0200 (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 NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0070.outbound.protection.outlook.com [104.47.41.70]) by theia.denx.de (Postfix) with ESMTPS id 141BEA7548 for ; Thu, 20 Oct 2016 13:21:08 +0200 (CEST) Received: from BLUPR0301CA0006.namprd03.prod.outlook.com (10.162.113.144) by CY1PR03MB2380.namprd03.prod.outlook.com (10.167.8.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.659.11; Thu, 20 Oct 2016 11:06:21 +0000 Received: from BL2FFO11FD012.protection.gbl (2a01:111:f400:7c09::159) by BLUPR0301CA0006.outlook.office365.com (2a01:111:e400:5259::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.669.16 via Frontend Transport; Thu, 20 Oct 2016 11:06:20 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; 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 BL2FFO11FD012.mail.protection.outlook.com (10.173.161.18) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.669.7 via Frontend Transport; Thu, 20 Oct 2016 11:06:20 +0000 Received: from titan.ap.freescale.net ([10.192.208.233]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u9KB6Gd5027065; Thu, 20 Oct 2016 04:06:17 -0700 From: Wenbin song To: , , , , , , Date: Thu, 20 Oct 2016 18:53:47 +0800 Message-ID: <1476960829-39030-1-git-send-email-wenbin.song@nxp.com> X-Mailer: git-send-email 2.1.0.27.g96db324 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131214351809092275; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(356003)(4326007)(50466002)(189998001)(11100500001)(8666005)(2906002)(8936002)(47776003)(85426001)(68736007)(105606002)(229853001)(97736004)(5003940100001)(77096005)(92566002)(106466001)(87936001)(5001770100001)(50226002)(81166006)(19580405001)(19580395003)(7846002)(48376002)(36756003)(104016004)(81156014)(626004)(6666003)(33646002)(586003)(86362001)(5660300001)(2201001)(50986999)(305945005)(8676002)(575784001)(15760500001)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2380; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD012; 1:+NX7wHbrEfslmKHUtLx1V+n6y6s5BDUY+1iNKrPS6bLpzqBjYOS7h0kWAKqxBLBMc9jVXqwvBA78WEFoOUTfDBgH8XuZ6gPkhMIEm08lM02ZoSg8HCVS1Rm3Ov9aTKf9y889bwvk3I1/Hh0PXLJ7vke5uf/bGnUJ3StYtuD6d/VVNRYWi6qHMHYLUEncwKolvqVEHICKyElYoFuYJUehb15WvyOLcgCoudfeaKcfTMRhWmXstITMcHvr1G9scvcLNx7EopZbWbCMzeXkKJvWkgiEI+JOHP8pgj5aZIlrDFz+qTzm9mBdofQzsHTYLxpLoKpAcP+ejv5Y3jky+OrDmLXrJi41RTqOj97GY8acIMwfoSgX5tHGa4Reziv6+XgJAUMi5R9tFeGA4ob/aV3t0PRGinUW+ZhKksElsQhLLKt4YA8ImZ35uFkv0RIoupTDD2Wg4cd3AtonPvGeoBt+qZFmU6aMvOusm1UAZ/FFQg+ogi/vf7fGnZS9EchkoUGxR3DVq9VBZdIBq+EQjyY2Wj0mVa3TgR4L57QZpmB2cTU7sWMQoDVRwLiAv4PedYzGaR8+p669VgQncIr36D6ivTmtfbiGx7/BgfcXkKyp6z012h8nm6tYTCCpGAphb2v+KLIJOyWQy8W4o0MDZ9itdCUHwaxfA7wMwckt28Egk2bwWAD6LDBIXJlXkJ+kxioQzd9AUOhzywgPrCR+F3X/R7H6E7nHtVMG++62JYqE2tM= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: e69032e7-b050-45fd-d7f1-08d3f8d91f75 X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2380; 2:N1vQqno4vSLlhZRljWrtDwVTLW7TFpvxVnS2Rwlw+Q+gVQg2DObxYYcBMIECbCv/4CDN3GQcjGd6tPI13HTc6ILPMj8kXYBLxzyMtQzljtPzssWXIgCkJazMmHtq9Wo9mlfrGG8XgQq7IjSv54QjGLEpwVagamqnS1ODZMvsG55iJXNwMGFXx0249NhbFocUZhrjICoJE1QbNgor6IdxVw==; 3:m2ORXnVbJok2AAR3eap1TgJRBpqjxK8FtbGuBuwoxcJ+Qb40X1OiCkXlG4bUP7W+UGmNOA/lHH//PFZbcwT48YX4QjXOAxdSUfw8NCNoy9vWfa7D9NfVYRswHvyuCx+/ggqUJ8Q7uJfv6GqRsDEAm2GTt4Fny70TcYrCx9Kk9u4PIDmD5e7LfuUMsUm5vD+/atwm/97FE2ZxNIOg23hZJa3KTge8ikHRxdv0yGeAium9CqvsrTst1SM9nPa/3NM3; 25:PyfnJrZuumwwAX32ns/OKdjHDwPRqYvSOsPkoOWeWwg+w9f3n/GsIDZm4b8F9sgu4YyJOYeAeZyi5EtLDrzjxMKV0+NDAFeMo/lwF9M/6a3IoBgbOihCPOzSooc4E7imKMK8vjOWwYsRc49SfbUWN+CSQkkwkMZiSKhNxqq32I0fu9jRgVHaaCettGmChTZ0NY2dLygSgP5e2ljqYDh/CRcmQmBQvNzQYv+vUsTrH1eKQkRyCnAQ0JVeJiMQYtbvCkFM2/ECuPuJ+8WuuMetg9Q4gnmIbPsMm8N9B/itrChX1kzgwr0WamuDjFQvQpXoYWw8GsMn0IZbBmysNbbJOMLflRJJaitY8VuiDZ1Qkc1YQq7GVO6p3Dl7MrGuy3RorNHxn3T2wTeVeCrSSb7/h4U4DkQh+k7bgT0acuTTZ5U/ObzW5CCvxy/a8F8kWnmyJHBmvxVRC6n8v9ZvHXN 3dQ== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2380; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2380; 31:8Ot/9pH04du1L2QGz0JlXL1XCATf/LR8OO9kBO8FSz1BHPbZm/9Bn8gXTAcIE1D8O+uMqH2bUZ3sI9ijs7JmPp7qK6BYmrQPFT0WZflkyKXWfBkMTHU5vzjDE60sT3sIEkT07uMHTzaBLrVW6Eru8ShJaWZMg+tgjlBJEWRa4lYjyppP4o0S2MCVJevQ9wFG9rpksa079vJLI4CY0xNqXZDvNz/ze3gwMqY5H7rYXCU6XvOm2il6ExbrNYY/q2U6y+Kr5PoaWcXThUf5y77qPA==; 4:k6LESTaGGGhMWtvnza4uMLFKD7saxMzj4I6FHQ9uEcQOwkB7xLWj40AmUMy5zZU5CO5pbJdmfUOqO0twyz+viFexZnG7qXI4KKJ09Lkvo3s8t1PF+vJZZmpnqoyc3nK0OyQ8ef4Le65RugIT5bM3jzkDhWqTP4TY9oQWd2ZwQmySmahc+fbWdA0EPTEnF9VWA0UmQmzQwgZ8WP59sy/a5Ve6SGKT7j7YVJOchc8DfHUfDHVz5oXXxSbX8tmkDocsMw65TjpU3HhF0DE4tRclt6bngUWYZgy1oLyXdQDBOSKZE+dNXP2OdfAcJ0wsTsi9kui7YofWD2irEBC+KDkfL2wXNnlifVRNEPlVf/o5uJ8/kTqBfj8pMXiRYeXoqoHq0jrqlrcUuyg/CNLmMqWCkHqbXCf+QoH9cYWE3LPFscF72b1lf4pYxb90ePO84nJTvX9qD3/GgTWZPiUrSUZV9XEH+bpONJjEXG2VKeltViH2otctOMPoQ5j+0+lBP8LpRlbxBDZr75oQR4MwEtCLmCcxXOWIBnhBbZwDsr544XXAB0pMF5B2YmSpkxO+sN1a X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13017025)(13015025)(13023025)(13024025)(8121501046)(5005006)(13018025)(10201501046)(3002001)(6055026); SRVR:CY1PR03MB2380; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB2380; X-Forefront-PRVS: 01018CB5B3 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR03MB2380; 23:KQTQfCn2wl8RwKuIp77dG7cH8Tw04SdWUEQGUCZY/?= =?us-ascii?Q?DB3G5RT31qLrwZBg9NqgXEjHc7XPitDjOPWqcvddBgtPBpPNJIExOuiRWTew?= =?us-ascii?Q?K+YoqSSlqLkXBoIIjmaxvMkB5l8OIlc4E9zJgCDWySoxTwN6T50eWy7xEd4/?= =?us-ascii?Q?xhS7oTjYlhPQVcU8KHgVN2YI+awqUWxR2Mc52YGneVdV7Ykzz3eugRnL9KWG?= =?us-ascii?Q?24ZpKlgAIZlrw3TYCMyvZ/gb0Dskl2Ujs1t097kKOjinbvNxHbOP26RIwgvT?= =?us-ascii?Q?Fo7MQYkgCfw0OpTxvJvsvodzcNlEj0rvo/ihdbBPn6fJvrnDsUhhQ9i0ftpF?= =?us-ascii?Q?YkaY238S0ZHscGQWVxKRnFu6kQRc8+KtKrNMHOg1a4PsRGSJw0W6FxvpNW14?= =?us-ascii?Q?aBWy16vM3HtleduwVnSCUBsEOXWwNOmj46gyHjbKwDtDwhSynjMjVtE7wN8m?= =?us-ascii?Q?aoMiUghxvbiSuZ0goOS5qeHQFLJ3c3rY3IDLtTxAZVlIiUlLsCVkrNZWtPkQ?= =?us-ascii?Q?hI0BavOwJ/OqeKLTzZUxmzFyggcM+pSvOHc136kha1QtDdY1/KEA6AumSU08?= =?us-ascii?Q?9t2UmTQFGZsZbzsQ85cNga2cwOe0vw11+wyjedFibJFc4QeXuKe5bDxCPOyR?= =?us-ascii?Q?zm6d/FOKmIWrSeXrMpTFd48Q2/iWGI6FxA+r2Fsk5VGWUvpTnvWEc0f8mbkf?= =?us-ascii?Q?4uJuPBk2VlOU3ilyP2Qz7Tx4O2IGGo30OvjVDhGnl7hDZHtK1D8cbxXyw5IM?= =?us-ascii?Q?I75ywtkVvehA30dqqD4yHxjj/9SRE3rmsoO8WBr1grw4jq/iqq2HIIBaU9Ff?= =?us-ascii?Q?JlTmcff4a69bkBmvD1dmBRbWgUFvUpHgUpdMwKOjH1xFjRYTFqRjxzrgl1cr?= =?us-ascii?Q?V1LdWTvynpkHA3zGwh7rO8DEhD6y9ZGixGyrpPMWHzI26X/Ibdbv2TOJDXjJ?= =?us-ascii?Q?Cp0AY2q1/uaS+1MvD5HOc/9AZqd8cCPQ/Z9bzjN18tKrk1cssXzsJR/KEVQn?= =?us-ascii?Q?gB0G8n4tpGs9lM/R78Rxo4L+q6KlS4nfjJvctXGFzrO/8O2epLfR7mrJfrSh?= =?us-ascii?Q?7keAA1+BIoBmDi4EF0+Zyl5UHNHG1iTBIzgbFDwm3vFIwB2SEeQlG96Av6/F?= =?us-ascii?Q?l2SH//YaAC42iOBPYr5yeB66LkvrWxCHMf0m2YwTz9kxzzItc4hNoXlkTXeM?= =?us-ascii?Q?wWxyT0ZbpwMJA9Cx8+/9x09uEcsLQyNdtWK?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2380; 6:TQ/2yy/U7UNjp+2tGmIB+/Zjt3FWK0uqmAOGI7W2K0VGycxTIqBWgh3iDArAziCxCxHiYTDoUrM4eh/zcJ0U7wso4ynSEYenIB7DLRDCDLng/BavCBvnrydM6HVOxcfeRBmmzDdp8uUpuxCQr1pTMjMlYHhUwVays0V3pScrx4KTv6dN5wGOYy29/SymQghPLWGcKlHrH/BNopOzvFUSEcuu2Dx2kkHpgxqnWds/TRfJQ0svtRkJk0OtCyP5ve19oLZPZ5r0fifMh0ra1d6IsmjtFXsRBRI/noOUph5GoichDGGp/2A+XIfQqv0QmkZk; 5:6nbAeRZ6aUYiWUE1xMp+hfcIw0iHF1L8yIqXLo26VoqxuJqLl2VDXZQT4x+eS9Yh/6n7bU0p2GAIRJ8M+y10mpe9jkc9yUmQGAIk3VIsI59gpbDMNRRmtwflx9Y2CaQi+hyiSjTpbY86Veuk2zY3x9oitf03cbd/I0vFDXFP+SKoxP48zGF8ukfdGBIe3iLa; 24:vdovJBAKhzmt87btZTVZDGxrbQbrklOraC6GR3xU9PIanIl15suz0qa4u39Larf2FB5BU3aY0ztCnQ6GSDlj223SkXB6RDWh6JqWTiqw/+0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2380; 7:pqjp3wSZFQ76AU4BHp1qSQuAnGg4wO/Hf0fIq2KMBfflrdgplCzk4rWz4BhC4B6dTdflN1sdcSsShTvphZHXDe26l3fDWso5t6b38yt8Tv9Rx9L7W1D8e7oEYcp6lWB3JNUYTij0iNy282Y7hk9+ACCHjlJqTljxmH0N9uJMfP1MZ0a8/V11BghhCjFx0OC6zXSZGUzfyPKKI/xXJLWgeN8N0rDuS0R23GC9sBs6+5sq53iAR2mA/DXg0oBaB0ADRs9XYNtGL7iJNdKF4DAfzvwIgZ1Ay+U7JgSvwXymv0Pxw5daFsnNVvl2wQMNSh5b8cobs9S8LrsOB0/pd6R2jRjCLcI5rIISGY52hjXae/c= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2016 11:06:20.7064 (UTC) 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: CY1PR03MB2380 Cc: Wenbin song Subject: [U-Boot] [PATCH v2 1/3] armv8/ls1043a: fixup GIC offset according to SVR and GIC400_ADDR_ALIGN_64K[GIC_ADDR] 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" The LS1043A rev1.1 silicon supports two types of GIC offset: 4K alignment and 64K alignment. The bit GIC400_ADDR_ALIGN_64K[GIC_ADDR] is used to choose which offset will be used. If GIC_ADDR bit is set, 4K alignment is used, or else 64K alignment is used. 64K alignment is the default setting. Signed-off-by: Wenbin Song Signed-off-by: Mingkai Hu --- v2: None --- arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 47 +++++++++++++++++++++++ arch/arm/include/asm/arch-fsl-layerscape/config.h | 12 +++++- 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S index 5d0b7a4..569d2c2 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S +++ b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S @@ -14,6 +14,40 @@ #include #endif +#ifdef CONFIG_LS1043A + +/* fixup GIC offset */ +ENTRY(fix_gic_offset) + ldr x0, =GICD_BASE + ldr x1, =GICC_BASE + ldr x3, =DCFG_CCSR_SVR + ldr w3, [x3] + rev w3, w3 + ands w3, w3, #0xff + cmp w3, #REV1_0 + b.eq 1f + ldr x3, =SCFG_GIC400_ALIGN + ldr w3, [x3] + rev w3, w3 + tbnz w3, #GIC_ADDR_BIT, 1f + ret +1: + ldr x0, =GICD_BASE_4K + ldr x1, =GICC_BASE_4K + ret +ENDPROC(fix_gic_offset) + +ENTRY(smp_kick_all_cpus) + /* Kick secondary cpus up by SGI 0 interrupt */ + mov x29, lr /* Save LR */ + bl fix_gic_offset + bl gic_kick_secondary_cpus + mov lr, x29 /* Restore LR */ + ret +ENDPROC(smp_kick_all_cpus) + +#endif + ENTRY(lowlevel_init) mov x29, lr /* Save LR */ @@ -105,15 +139,23 @@ ENTRY(lowlevel_init) /* Initialize GIC Secure Bank Status */ #if defined(CONFIG_GICV2) || defined(CONFIG_GICV3) branch_if_slave x0, 1f +#ifdef CONFIG_LS1043A + bl fix_gic_offset +#else ldr x0, =GICD_BASE +#endif bl gic_init_secure 1: #ifdef CONFIG_GICV3 ldr x0, =GICR_BASE bl gic_init_secure_percpu #elif defined(CONFIG_GICV2) +#ifdef CONFIG_LS1043A + bl fix_gic_offset +#else ldr x0, =GICD_BASE ldr x1, =GICC_BASE +#endif bl gic_init_secure_percpu #endif #endif @@ -335,7 +377,12 @@ ENTRY(secondary_boot_func) #if defined(CONFIG_GICV3) gic_wait_for_interrupt_m x0 #elif defined(CONFIG_GICV2) +#ifdef CONFIG_LS1043A + bl fix_gic_offset + mov x0, x1 +#else ldr x0, =GICC_BASE +#endif gic_wait_for_interrupt_m x0, w1 #endif diff --git a/arch/arm/include/asm/arch-fsl-layerscape/config.h b/arch/arm/include/asm/arch-fsl-layerscape/config.h index 4201e0f..eb6e58d 100644 --- a/arch/arm/include/asm/arch-fsl-layerscape/config.h +++ b/arch/arm/include/asm/arch-fsl-layerscape/config.h @@ -172,8 +172,16 @@ #define SMMU_BASE 0x09000000 /* Generic Interrupt Controller Definitions */ -#define GICD_BASE 0x01401000 -#define GICC_BASE 0x01402000 +#define GICD_BASE 0x01410000 +#define GICC_BASE 0x01420000 +#define GICD_BASE_4K 0x01401000 +#define GICC_BASE_4K 0x01402000 + +#define DCFG_CCSR_SVR 0x1ee00a4 +#define REV1_0 0x10 +#define REV1_1 0x11 +#define GIC_ADDR_BIT 31 +#define SCFG_GIC400_ALIGN 0x1570188 #define CONFIG_SYS_FSL_ERRATUM_A008850 #define CONFIG_SYS_FSL_ERRATUM_A009663