From patchwork Thu Mar 31 18:48:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tthayer@opensource.altera.com X-Patchwork-Id: 8715511 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 727C5C0553 for ; Thu, 31 Mar 2016 18:48:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 6261220251 for ; Thu, 31 Mar 2016 18:48:12 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 60951200E0 for ; Thu, 31 Mar 2016 18:48:11 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1alhbr-0005Og-KG; Thu, 31 Mar 2016 18:46:23 +0000 Received: from mail-bn1on0083.outbound.protection.outlook.com ([157.56.110.83] helo=na01-bn1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1alha7-0002bj-LE for linux-arm-kernel@lists.infradead.org; Thu, 31 Mar 2016 18:44:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.onmicrosoft.com; s=selector1-opensource-altera-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GpRlx0T7+6Y4FvzzShFfkL+DwkaeKXyiFHbRlf5as7c=; b=I/RD5nCfmhv5tsljgqD9sjv+YhYRoLWU+O/U/bO8p/7mSdkg+JptJOGBIr4YtSWC6ihE/6ShAyxQL3pHvW09cZdzbLUAM/OnmpOU8+hhUUdzGll3bvCTht1qOq4nk7YXc44sWtjPE3d1Yt3vsgdytxF/33/CAb5540eSqnBfFCE= Received: from BLUPR03CA002.namprd03.prod.outlook.com (10.255.124.19) by CY1PR0301MB1290.namprd03.prod.outlook.com (10.161.213.152) with Microsoft SMTP Server (TLS) id 15.1.447.15; Thu, 31 Mar 2016 18:44:13 +0000 Received: from BN1BFFO11FD042.protection.gbl (10.255.124.4) by BLUPR03CA002.outlook.office365.com (10.255.124.19) with Microsoft SMTP Server (TLS) id 15.1.447.15 via Frontend Transport; Thu, 31 Mar 2016 18:44:12 +0000 Authentication-Results: spf=fail (sender IP is 66.35.236.227) smtp.mailfrom=opensource.altera.com; vger.kernel.org; dkim=pass (signature was verified) header.d=altera.onmicrosoft.com; vger.kernel.org; dmarc=none action=none header.from=opensource.altera.com; Received-SPF: Fail (protection.outlook.com: domain of opensource.altera.com does not designate 66.35.236.227 as permitted sender) receiver=protection.outlook.com; client-ip=66.35.236.227; helo=sj-itexedge03.altera.priv.altera.com; Received: from sj-itexedge03.altera.priv.altera.com (66.35.236.227) by BN1BFFO11FD042.mail.protection.outlook.com (10.58.144.105) with Microsoft SMTP Server (TLS) id 15.1.453.6 via Frontend Transport; Thu, 31 Mar 2016 18:44:11 +0000 Received: from na01-bn1-obe.outbound.protection.outlook.com (207.46.163.183) by webmail.altera.com (66.35.236.227) with Microsoft SMTP Server (TLS) id 14.3.174.1; Thu, 31 Mar 2016 11:42:50 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=altera.onmicrosoft.com; s=selector1-opensource-altera-com; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=GpRlx0T7+6Y4FvzzShFfkL+DwkaeKXyiFHbRlf5as7c=; b=I/RD5nCfmhv5tsljgqD9sjv+YhYRoLWU+O/U/bO8p/7mSdkg+JptJOGBIr4YtSWC6ihE/6ShAyxQL3pHvW09cZdzbLUAM/OnmpOU8+hhUUdzGll3bvCTht1qOq4nk7YXc44sWtjPE3d1Yt3vsgdytxF/33/CAb5540eSqnBfFCE= Authentication-Results: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=opensource.altera.com; Received: from tthayer-HP-Z620-Ubuntu.137.57.187.33 (64.129.157.38) by BY1PR03MB1483.namprd03.prod.outlook.com (10.162.210.141) with Microsoft SMTP Server (TLS) id 15.1.447.15; Thu, 31 Mar 2016 18:44:03 +0000 From: To: , , , , , , , , , , Subject: [PATCHv2 6/7] ARM: socfpga: Enable Arria10 OCRAM ECC on startup Date: Thu, 31 Mar 2016 13:48:06 -0500 Message-ID: <1459450087-24792-7-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1459450087-24792-1-git-send-email-tthayer@opensource.altera.com> References: <1459450087-24792-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: CY1PR0601CA0035.namprd06.prod.outlook.com (10.160.162.45) To BY1PR03MB1483.namprd03.prod.outlook.com (10.162.210.141) X-MS-Office365-Filtering-Correlation-Id: 6f9d5d9e-be2a-4edb-ea39-08d3599473ca X-Microsoft-Exchange-Diagnostics-untrusted: 1; BY1PR03MB1483; 2:hWbKyB7Ni7n8KHHuyEXZPVYR786kkpOaISJEcHs7yka4U/ivHrPabpCtgY++OlYfffSItVpMSX+foDALCFSvAa1bAwTNnY6t5+am7eVKP+oKthR3ZchKRy1VgavLKqUs/3K+oPzUOxutCGIEQKibMrC414OsIhGXvLIUWhjSA0iJFR6khoAi3dXFxPI25YbX; 3:6dKLQHuneexciTpmVm5vlFszeesau6qsXAjO14pN9SHqRZpBtlhAAH3p5faugEm2+olHewtr/yUNAGOhq/knABgVtDuG4wiGlrFCJu6RNzA2LWKAuFXk4d7GE6/HHmJZ; 25:oE6gZC1puOO4bsoTde6SDLSUTasi506eO5O1hdtTBuNfCRTO0GVXVrpfKkBfm/xpM1V4m0swKyWio3Nm9VoYxeaGWKVyhseKkKy7eN+gx0ymHQQM9MYYGsqawTjik1ME4RW/l017Uiw5dFE6O1L0WWgIruBjwpY10j+FUtuR1kbwDBjBBGE4x7vOMYTbsg3ZYO0EOdl49qvIhrA4Ag4njRUFVTXSeKyNwIjBefVwDO420DbeHhYH7RAGGHU4v1ZFCAsmTkYea7gAUDMFjTOOxNmSf8diEU+89kmEuzgLfLFWYOypjm0friZaU9ALJDiXO6R0wfiBjKSHP7ILr6A7X+MpZ5TtJbhn5c5iuNNwJ9s=; 20:MDgR+HEEbtdQL74r9hGU8x+kUf87NZpIg64KUd0ePCo9+3r/JjRRxDoRfSdUiQSTHSoN+TCVVfv3FgJBIVGxFSOjXkMGhMi8TMfCsFDItF6555PJeYGKg8vHBR7wo4B+PSOm+MDwXVG3kfI+q+GBs/ea96wktqqavDfezrLNda8= X-Microsoft-Antispam-Untrusted: UriScan:; BCL:0; PCL:0; RULEID:; SRVR:BY1PR03MB1483; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:;UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001); SRVR:BY1PR03MB1483; BCL:0; PCL:0; RULEID:; SRVR:BY1PR03MB1483; BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13018025)(13017025)(8121501046)(5005006)(13015025)(13024025)(3002001)(10201501046); SRVR:CY1PR0301MB1290; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB1290; X-Microsoft-Exchange-Diagnostics-untrusted: 1; BY1PR03MB1483; 4:B0jePC1wZkqojdFn48IrpU84FFYs6eowgwwZD5jTe35fiXrRbpzPY1QHv5AQZFAUFXFg1YdIyPUbQ0MZZW7gaWsaFdzZmIX4Egji8jYRsCGGMr5+JaHbNVI+qGFlri6Oce+w+wiY24VoYYeJ9+1GZ6BERm6SImYEvyK7LPNvEnfiKd+J7aYeOp71oJTs1cN7/1CEe5YFK60KdTFtc/B23E1gVLu1aBDeUYMVfMr7LbN3WJEtqcMyoNPH9Kxxx4n6WH1ds/BEy+vf5bKPspwp7upIsKo9vL2E7tgISYcJTslNRn+RdjzvVfV8SbQOLELEN0y8Y0Ve9V5fIKFBJHiby693kza/sklPAIicRva3PGSdYp/fet+eQkFhybtspIY1 X-Forefront-PRVS: 0898A6E028 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(66066001)(19580405001)(19580395003)(15975445007)(5003940100001)(575784001)(5004730100002)(189998001)(2950100001)(33646002)(107886002)(48376002)(42186005)(47776003)(86152002)(229853001)(5001770100001)(50466002)(2201001)(4326007)(92566002)(2906002)(50986999)(81166005)(1096002)(76176999)(50226001)(586003)(3846002)(6116002)(77096005)(86362001)(4001430100002)(2876002)(5008740100001)(921003)(1121003)(4720700001)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR03MB1483; H:tthayer-HP-Z620-Ubuntu.137.57.187.33; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics-untrusted: =?us-ascii?Q?1; BY1PR03MB1483; 23:XckKKT/9VYr2yzhalD51l1qkMBJN6wTO9Ujsc9jFx?= =?us-ascii?Q?rV/1C8osrmiJ+ODEv2/WfxPkedWX0W0FMtXB2RNpWfI4eVAsmVEXWGiVdhLy?= =?us-ascii?Q?0GNgAZlGOhg/0Atdgr2u9aXv1846f6HRS2HT6F1U3eDxPeByBefmtPabg6F2?= =?us-ascii?Q?TWEgwLbpRWqFRzxL0BF6jZK/HwqI49zKbje9vIheAF2QaxHgV4Jl5DjqFdPH?= =?us-ascii?Q?3eG6YJ6tLGq0ZuPCtVa95iIn3RN6KxsjCxBrccj1oSHTl84K+mRh3explPqn?= =?us-ascii?Q?qMruNdW6IYnchkAqU1NyeZui7ZlDlAV0Qs+S3sYqq/fDtsQd3OhJDOnBQMIi?= =?us-ascii?Q?MxNP22mnVUOW6LDjBfOht+TN28tK9yXKoAEiJPjfX5oMnVfbTc6FmoRGNwwV?= =?us-ascii?Q?RWW+au97FUy30xfoOVIuLAWnc1/LDw/F2ovQQsoEROpGW4X1OMCWUGZ2TxTa?= =?us-ascii?Q?eDkxbKrzmkEXx6peB8OLxffEoDf3s3G9wp1Q1WXOSuEOdQFjyQYfH/YlgYbC?= =?us-ascii?Q?x9P8FUQaRciP6TW1b+6hbprqoN67FEnzesDuptwlJO5dMP67KnCF3OpMyedm?= =?us-ascii?Q?0+jgPhL9p7d5ah+x/XJagVJg5IlwsEDtRyYQW8EXrXzsgL1J98WFLU/KUJow?= =?us-ascii?Q?y8+OCAIlnK3UFEu7c08UgIWVoUFf0ALonQl0pauvib7z8Re8RDmGED9yoPaJ?= =?us-ascii?Q?pBA9T9tdoprX+dVc4BHgBZBFd2NurY3WNYMocP2ue1NIRh0np7guWvMbFMPg?= =?us-ascii?Q?p9LU+wxP7sYM+HinbVCOPSKF0Q5GTr7ZO3l02dAii2KeE68JNZaGN94iqSZo?= =?us-ascii?Q?0vY3Z9Xlm7q37DF3fiPnacYLI0mNTxArIpTZFlJvPbSOP0NEIOPdfcQri5ng?= =?us-ascii?Q?z+FkEIQ4gSfzgXIVY+Zhb40aqFf6jzk+LOgoEBIs0ajYMJpS+dT0SOAeQsSy?= =?us-ascii?Q?7SUwJRm5bBTDb1eIQ+CIoxhiiGrGWpCT6GhftY6UYSYc1LwXuUn7uooimWE2?= =?us-ascii?Q?O3o5w9eUFKy80UTKdY7iDT799UcobxVKAJmZVaKEAj7jwWuQGeru8GMumBz/?= =?us-ascii?Q?Uy3i5M0KQZ564xEcRGcTgOz+VofCw2c4y24QhKqNiAFoPO9gYjN4B1z4B3O6?= =?us-ascii?Q?HfanwNl5kc=3D?= X-Microsoft-Exchange-Diagnostics-untrusted: 1; BY1PR03MB1483; 5:LAYOFdgul0nAmN9oOPiUumC8ztVHQLaYKZYNteqbx2TjQAaZg4jyyFiEbe5qtrpBJER2HihY9U2ZbN4b70EhU3OjV2tyJBDzcvko82RelouNSOE1abmSF+vb2b4rkpjucM74rBVgpan8K/Iqh72C+A==; 24:KI9xidxmBZjHRfLQLAODMj+VKacF5Ui78rLgHYRpKsWTR1RUwWRgmBhKblChcQSQ0IndagcXy0Ljj9UVsqQT3sKw7nyuAScgOdneF4lGAh8=; 20:VWElaFErA8msGcPCS4WTZ/tzvmBtybPx12irT6wnVQqWxHSzMOFPYN8J13I4Z3NMlsxNlUne6Fd+GPpYfRUry8vtzmV/VO1ipnGGWUEwyO6jWSpgL9LKK0Lz62MYjU8BbtHHaXexsAp04t3356YHW0M+iWD4X0hm00sr2Sazqfc= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB1483 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BN1BFFO11FD042.protection.gbl X-Forefront-Antispam-Report: CIP:66.35.236.227; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(81166005)(66066001)(47776003)(105606002)(5003940100001)(50226001)(5008740100001)(2950100001)(16796002)(4326007)(107886002)(956001)(3720700001)(2906002)(33646002)(48376002)(85426001)(189998001)(50466002)(2876002)(6806005)(86362001)(229853001)(15975445007)(6116002)(4001430100002)(92566002)(1220700001)(5001770100001)(5004730100002)(19580405001)(50986999)(76176999)(77096005)(1096002)(87936001)(19580395003)(86152002)(575784001)(2201001)(21840400001)(586003)(106466001)(3846002)(7099028)(921003)(217873001)(4720700001)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB1290; H:sj-itexedge03.altera.priv.altera.com; FPR:; SPF:Fail; MLV:sfv; A:0; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD042; 1:G+jPtT9uO471GFzJTVSX5HjQoqgtHfpgDOdq5IYtp88alS+R/v/GzfpIj6nRFyHuIrkL1z3c860mGeOZ0GnVfrBa/VKnVZesfucj6SAOeZApHT96CCx2owpOjnN2bP++pNGfWRMY+yDo8/G3UvaWNxVPYtiHLr+3kwv3B0gBkPFjrkJbiLSFrxTP9wf17ond+0aqpp+Tw8Xz+baHrsp0YVA858AXaeI8mOmws9FxJ0HSvVSSAmDgIO51AdafkV9j0mmySPbLP0nRF07nrh/dnFZbddHoDaALlGl5D25X+KAMbaHf9A9MpCOJdYsngIioPu+6l21ppZIjlpkymzpYDKmUGmxnHIQefh2n/hPB2OrMlcenpngu2nFpq9Jo60ZkIKDARmgJ98GiHullIjznvqEjiUf6hWNcgaOjv4Psi0Cm5K5p9L6IlePgw3T0+J/tT2T52x96Q2oAVOIDDYZa5KXnJuaAE0QBeXkx3F+dl3YFDtm7Xd8xdHWUTynGOSfd5e33VDrbWlXpr1Az7T0uyw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 2:vw7qCjoAkTi/CMAuIgUPNr0OEjdRwfurjf0VFP9zi47YyAgAXlyI4WrtGylovCW3hgjGtX4NKqtu0vIliTcNTyQbARDE5X3DCOO2lKAaqSb4Cg9m/oDKpZDrMT1vJfsBRleJms2bFXrVBHV899O+3AHMVFwavrny5ANw/5RrGuK/1RHHf5OOq/zN2+FwoCaU; 3:zUmqLmL+m9j3WIrjs3QdCz87BTbWOIWIKykhXzePefH/KYd4NyVzPenAq5wBPLzVeLCkfapycFfHAYi/Ce6JRQp0tqjHOwt2ZN73AcU36lRTS1IeKlzuHaUzHaIEgPgAgauz0zWVrNVskhrmulWhuylFvQZs/Yy8d4Zcw+v2RQHS0eN1E6iMsqEszt1743v7mSkIPJfMKU2H+LFzSEomHP088+0nZqNx/UcRZKEUisGB1nikqVhLM4KZH8+ZIiZH X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(3001016); SRVR:CY1PR0301MB1290; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 25:FkmEDqPi84W9InMqpn2fFSxTlC51PC1d/tBkXiTQ63CqCUtxjtSC+dYQujiQ45xIfg3uq9Om0NMYA2IKMM9FGnMgkC9H3u+eBTdqVX3irS/0soQw8XM3TfXIgKXeO66u3ncztUYUhVBCSNqrldLJifGkl2+5oo9xevWdMWEpDftm3sHrf3H56srGOMfTicCxUt53+Yg2t6TuURT/ANMkWza0SXyu3QRRfvPoUKDPBkj+T6+vnv0Q9FQHOZWPZwCqxzi4laJeTmUege7DfSnfWpkSMh7Y3QDrwtRCSy1uCWI50Annic+vliwN4u9axf6HGfxrV4LYbmi20rhNG/7Aw+5NBG3batVZZ6WnzSTzvczu8I6t1bNKyA3l9G1jcEH8liGOx7VuNCF7rgX2AIN3sS0oqiKPYbN9WiW0ECjuVEctQB5DlA4uRCT2AhmjSIAXYfFAuaENzeRa+aGiMWzhl9neFjBluInFjzXW8RQLJu8+vGcLa/blwJuf6AWEATwnXGhRBWVgceJys4ETwlQLvA9qUP42vBXXJX6+Q0VIRyoQPZSD/oA5AzVUZrcAsY9G6lYYYwJbvU16mzybpEM5uH1pRxfMHxECkXwA6ZBSPH+jpYhCVFyQRyIqybfeSorjSKQBs5iVLYFIYQN0tWE5iNfIRXmeZKpvIYQmot9i3prv1mSvm3OM5BIOukrkVdDmMM7n1CzLVi0eEsAW/saIAQ3J0ykp2jSZlkVuLIG93/U=; 20:E+nyaGtACGr06CyLitbSWziwYUfzIdCCvJXRj3x/k89tLcvuPogO/aX1AsSAv8JY41YDstEs/+ZiegIdQZOE4hNM5LK9lE6ewklXOCo7a65uf261OkbZa7J1KgqVOcdxpSTlM9W7Nlqis+pbSbsin+PDAVh1YyivinfLp/hhDKE= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 4:OLWCLSCwjbNCr+ZFMeKOKp/Uj3rlqYKZIE2gEk0zsrZp24Z5wwSLFJV+wdi1oiUdeycHVhXu3NV3ZHUT7AX02c6jed13UWrpBPs4GhXBxGmF3VZQUpZcs35cLhNTm+BvmIKatqv5VbXa7TcvnLJdhIBbRT17vVfz71x1pYSxoKyzI6jwgBnHrAGrAleZsTSUPuOLVjNFlbx1I90F1WmJX0qPvdGpPciIBevOXeqXj2WqfDz6dx8iRL8NfDhWTibRST0lTlP3ZAPZaenCfM9aLJ87rYp/O5LP7L2NwVRFUvqdLFvbHV1G+DmFiVX7Z/mSMLJDNXXRZlg0m0j3PDPOQXM8cycVsmS5fiq6M1v6x7EWBDa2W+P4eYBCvqEwLCu+/Fh4hcWIR4EpX15u3oCPIEfwDsyiEqCp+PiN2UKKqFHAECSlPkaFW/WDHYBQrklgwdDUJC8X4b04ILja+7pnbw== X-Forefront-PRVS: 0898A6E028 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1290; 23:LLuJFXt9u7lrQRKl+UqyOAs15LPsPTisH2dFqJ4?= =?us-ascii?Q?1GyuxlOHhh6Zizot1TMOr7NPLBbE7wpsJu9779QPugQN4lgqz4zit3IZA6Jr?= =?us-ascii?Q?t3vxDYqy69duW0NnongA1Uqs+u6bPspvnlV1VUgirKFYr4zqxWZq3LSrWrhS?= =?us-ascii?Q?iyDg3BHEM2gukDmLNZLT55ef07+mPCwrrgaFjprotSgALFdlOu77TmjKyGvx?= =?us-ascii?Q?WHPC1HSTN8niec0Hu1h0av7GIfazalJW3LVsz2fYUu381Wq17mwHn0YDAQU4?= =?us-ascii?Q?pdoMd0CnAQKKBVaQF+1yeOa3x4mUxd0AhBDrCj4L4nbV4GoOyB3O2shcpU9v?= =?us-ascii?Q?oTtYTtryQQjgAu9xVHtGpxMZzxxu9aUgV1oU7tIEXd9bVVvEcqUX2AWVxlAb?= =?us-ascii?Q?743fIWv697KroO46iZLeOukA66A6ls3xFGjavrqNx97aGOaGIiT7qI+m4NGB?= =?us-ascii?Q?sdXiqVgEiEJLi+HnRONuqCjNPs4Yv26ntf8YcW/7YGA1lMt2sirtMb310yyl?= =?us-ascii?Q?w70YnVX5bFDXl7mA4f1jGLDvMz78KOW2A+KXa5DlGLeDWCKE7gI/9FzLxiOz?= =?us-ascii?Q?cO+DNN/wG1bFFfbGCLprt0Oc4stGMcMa3HsUN9VzAiopsZ1RfyWXhBda5GtO?= =?us-ascii?Q?sarH2JcFn5raBeHpQggR4MlGpCyzTLxc6LhSU+qPBcZHvqhjeLxy+Up0zR3x?= =?us-ascii?Q?haRz+tibt+rjhmKSNPHXAARU6BbFVqZe8y2Twgpbd9eDP5gQXll7RWyTcB+R?= =?us-ascii?Q?DDR1k/EmNfGdV0aYLX3OlV04Zt0jeD4zehGLVW/7sVMd0e0PJ3lQwdgrXpr3?= =?us-ascii?Q?AjBBcMVqQCI38LqadXFGDnwRyEFAlLyHPrKAH2ufspdeH3fYCoP0j1KaJ+w/?= =?us-ascii?Q?XBjbiuewgoZXn6f0ftmLoH41WmwxqJgGnVZvLBaNJ6iSDBtTF753QWklVRYd?= =?us-ascii?Q?ubQiBjoI/iZoWcg8W2HijApqCntuWwO61vEQLWVCWvQE6sa3RZh0eVcTADS+?= =?us-ascii?Q?3oz7plsJ94pO5/T97AnYFicWZN+EhgyefhKSEWlYpMjVGYYfUKzMmWkcmoZn?= =?us-ascii?Q?jp9rN4J7akrvGyz1xUXkM0OFCXpQqhQZhnth411AzdoC55RnME98KungvHPq?= =?us-ascii?Q?K91Qar0qVFHoBWEnXC3VzCN0FWipHaGU+fOz5WNW/cStA0MA6acn4niebaKY?= =?us-ascii?Q?i4Uvrwe3uqoqGQ6psT0YPlcFsMVoa3FqnGLC7CZYoK6rbDYbyy6LKHo/9J5P?= =?us-ascii?Q?BFgO6jZLWA7ySBvMMueVNvIphJ6IUwxe8a1mU/cAyEUZbPycNsNVXrtm2lDh?= =?us-ascii?Q?xCGUkrxQ8gB6vRhRvRT5eKPDbfjjQ8fAYlDerpSDMVfresMjo1Xe0zf4pMOv?= =?us-ascii?Q?qu2dN7eYtPnyrMgUESkkDwTXt53Rv2cYfq75KuconrjHrNv0hUmlwqNImpgN?= =?us-ascii?Q?fX9DpWkhujg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1290; 5:2Tg8QOJcjsvJZtxoExQUCF9bhMTcgxO1SsE4c1uNyfTX/D9m6lMtwjSepRygMMIm2KEF1KXw84qR39xODeRRLCXbxorDTG+WbIEzyPApueVXN//rfH4C25n1ISO58fh1tZTsgrnV/oUsQbvP7a3QZw==; 24:JvGsx3eX0k3m0c89h3qHBHw7oOJzsjX8SkgE6vPuymkiYBnPDPsi7aguLHyQxOsQhH0+WI0FMfvL5Tv3MS36hSU6kGrRlg3bPTaVtensJpw=; 20:4BkkoI4EwVSLNAnVbO+d2y5T6yvW1DM+Jn+2yLeYvdxVtgfQknBsD9hr0CCd95YK7q/MXx5F8Jc1Z5N1PfOTFG5sPibmz0pCW0UhOkPPkp4R+aJhIwtseC5xh6AQq7wegBEV3hm93af7euoDNRouhURKwrFOKVNbJ9J48P0ZZt4= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2016 18:44:11.7869 (UTC) X-MS-Exchange-CrossTenant-Id: fbd72e03-d4a5-4110-adce-614d51f2077a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fbd72e03-d4a5-4110-adce-614d51f2077a; Ip=[66.35.236.227]; Helo=[sj-itexedge03.altera.priv.altera.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1290 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160331_114436_118220_FA69D089 X-CRM114-Status: UNSURE ( 4.94 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, tthayer@opensource.altera.com, linux-arm-kernel@lists.infradead.org, linux-edac@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-5.1 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,RCVD_IN_DNSWL_MED,RP_MATCHES_RCVD,T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Thor Thayer Enable ECC for Arria10 On-Chip RAM on machine startup. The ECC has to be enabled and memory initialized before data is stored in memory otherwise the ECC will fail on reads. Signed-off-by: Thor Thayer Acked-by: Dinh Nguyen --- v2: Add Arria10 ECC block initialization locally. --- arch/arm/mach-socfpga/ocram.c | 128 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 128 insertions(+) diff --git a/arch/arm/mach-socfpga/ocram.c b/arch/arm/mach-socfpga/ocram.c index 60ec643..d4a524c 100644 --- a/arch/arm/mach-socfpga/ocram.c +++ b/arch/arm/mach-socfpga/ocram.c @@ -13,12 +13,15 @@ * You should have received a copy of the GNU General Public License along with * this program. If not, see . */ +#include #include #include #include #include #include +#include "core.h" + #define ALTR_OCRAM_CLEAR_ECC 0x00000018 #define ALTR_OCRAM_ECC_EN 0x00000019 @@ -47,3 +50,128 @@ void socfpga_init_ocram_ecc(void) iounmap(mapped_ocr_edac_addr); } + +/* Arria10 OCRAM Section */ +#define ALTR_A10_ECC_CTRL_OFST 0x08 +#define ALTR_A10_OCRAM_ECC_EN_CTL (BIT(1) | BIT(0)) +#define ALTR_A10_ECC_INITA BIT(16) + +#define ALTR_A10_ECC_INITSTAT_OFST 0x0C +#define ALTR_A10_ECC_INITCOMPLETEA BIT(0) +#define ALTR_A10_ECC_INITCOMPLETEB BIT(8) + +#define ALTR_A10_ECC_ERRINTEN_OFST 0x10 +#define ALTR_A10_ECC_SERRINTEN BIT(0) + +#define ALTR_A10_ECC_INTSTAT_OFST 0x20 +#define ALTR_A10_ECC_SERRPENA BIT(0) +#define ALTR_A10_ECC_DERRPENA BIT(8) +#define ALTR_A10_ECC_ERRPENA_MASK (ALTR_A10_ECC_SERRPENA | \ + ALTR_A10_ECC_DERRPENA) +/* ECC Manager Defines */ +#define A10_SYSMGR_ECC_INTMASK_SET_OFST 0x94 +#define A10_SYSMGR_ECC_INTMASK_CLR_OFST 0x98 +#define A10_SYSMGR_ECC_INTMASK_OCRAM BIT(1) + +#define ALTR_A10_ECC_INIT_WATCHDOG_10US 10000 + +static void ecc_set_bits(u32 bit_mask, void __iomem *ioaddr) +{ + u32 value = readl(ioaddr); + + value |= bit_mask; + writel(value, ioaddr); +} + +static void ecc_clear_bits(u32 bit_mask, void __iomem *ioaddr) +{ + u32 value = readl(ioaddr); + + value &= ~bit_mask; + writel(value, ioaddr); +} + +static int ecc_test_bits(u32 bit_mask, void __iomem *ioaddr) +{ + u32 value = readl(ioaddr); + + return (value & bit_mask) ? 1 : 0; +} + +/* + * This function uses the memory initialization block in the Arria10 ECC + * controller to initialize/clear the entire memory data and ECC data. + */ +static int altr_init_memory_port(void __iomem *ioaddr) +{ + int limit = ALTR_A10_ECC_INIT_WATCHDOG_10US; + + ecc_set_bits(ALTR_A10_ECC_INITA, (ioaddr + ALTR_A10_ECC_CTRL_OFST)); + while (limit--) { + if (ecc_test_bits(ALTR_A10_ECC_INITCOMPLETEA, + (ioaddr + ALTR_A10_ECC_INITSTAT_OFST))) + break; + udelay(1); + } + if (limit < 0) + return -EBUSY; + + /* Clear any pending ECC interrupts */ + writel(ALTR_A10_ECC_ERRPENA_MASK, + (ioaddr + ALTR_A10_ECC_INTSTAT_OFST)); + + return 0; +} + +void socfpga_init_arria10_ocram_ecc(void) +{ + struct device_node *np; + int ret = 0; + void __iomem *ecc_block_base; + + if (!sys_manager_base_addr) { + pr_err("SOCFPGA: sys-mgr is not initialized\n"); + return; + } + + /* Find the OCRAM EDAC device tree node */ + np = of_find_compatible_node(NULL, NULL, "altr,socfpga-a10-ocram-ecc"); + if (!np) { + pr_err("Unable to find socfpga-a10-ocram-ecc\n"); + return; + } + + /* Map the ECC Block */ + ecc_block_base = of_iomap(np, 0); + of_node_put(np); + if (!ecc_block_base) { + pr_err("Unable to map OCRAM ECC block\n"); + return; + } + + /* Disable ECC */ + writel(ALTR_A10_OCRAM_ECC_EN_CTL, + sys_manager_base_addr + A10_SYSMGR_ECC_INTMASK_SET_OFST); + ecc_clear_bits(ALTR_A10_ECC_SERRINTEN, + (ecc_block_base + ALTR_A10_ECC_ERRINTEN_OFST)); + ecc_clear_bits(ALTR_A10_OCRAM_ECC_EN_CTL, + (ecc_block_base + ALTR_A10_ECC_CTRL_OFST)); + + /* Use HW initialization block to initialize memory for ECC */ + ret = altr_init_memory_port(ecc_block_base); + if (ret) { + pr_err("ECC: cannot init OCRAM PORTA memory\n"); + return; + } + + /* Enable ECC */ + ecc_set_bits(ALTR_A10_OCRAM_ECC_EN_CTL, + (ecc_block_base + ALTR_A10_ECC_CTRL_OFST)); + ecc_set_bits(ALTR_A10_ECC_SERRINTEN, + (ecc_block_base + ALTR_A10_ECC_ERRINTEN_OFST)); + writel(ALTR_A10_OCRAM_ECC_EN_CTL, + sys_manager_base_addr + A10_SYSMGR_ECC_INTMASK_CLR_OFST); + + /* Ensure all writes complete */ + wmb(); +}