From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754716AbcC3PXu (ORCPT ); Wed, 30 Mar 2016 11:23:50 -0400 Received: from mail-bn1on0097.outbound.protection.outlook.com ([157.56.110.97]:57106 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754624AbcC3PXn (ORCPT ); Wed, 30 Mar 2016 11:23:43 -0400 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; Authentication-Results: alien8.de; dkim=none (message not signed) header.d=none;alien8.de; dmarc=none action=none header.from=opensource.altera.com; From: To: , , , , , , , , , , CC: , , , , , Subject: [PATCH 6/7] ARM: socfpga: Enable Arria10 OCRAM ECC on startup Date: Wed, 30 Mar 2016 10:27:47 -0500 Message-ID: <1459351668-14622-7-git-send-email-tthayer@opensource.altera.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> References: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [64.129.157.38] X-ClientProxiedBy: BLUPR11CA0019.namprd11.prod.outlook.com (10.141.240.29) To BN3PR03MB1480.namprd03.prod.outlook.com (10.163.35.143) X-MS-Office365-Filtering-Correlation-Id: 0482b586-a14f-4cc3-449f-08d358af450d X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1480;2:1QvX8QQPmhFG0HE4RVepEO+tt1NWhQHIJ4z+wygnQnU8tK8dBsMz/iKNyYg3zWM3G7D+K+q1rgCAR5tWXk0hX2BjL7yDshm8V+Splc7Zi86bTw/4o9Rb3+/M47xMMYhCo/b9zJ2QerCb/AWJZr5VuyHnxDp8YDQ/fnhsCDicvapGAA44X+IM95kA2PGSUxkr;3:fvCniIwmrV4ImdSy6j2HFmTLhn80zRLaFkTQHms8HBJn9yIUKMledcTHT2xlv3ZpZafgID+1QOMZ18XCK5gKIstGFU+JVjtL3beMiVMM3cGuKqFd/kfItWzGOpyaL4hq;25:yPrDJXOOxyUtfqWeifdnxTr8irNaAJ9PaWeG8VWcRnKRRNrkHf4faUHxHrYgoFfUn3cKGDgPPmUZfdpevW2o5l0D3BP//OKE17QSH2bswSVI9F+Nv2+DvimFDc/PKgpc7VO9BgEdmMXOlyQmU+FNoQPOjraWZvEwFf5kGGH/voEbtQ0rk8qeqdITJ/pW55a0h/KVcxh1neRzNYeqr1JeZP6AMkQgOHutfMhEKnlY3DvF9To/6uJVepiEjz4jG2iqbmjV+zewB+D/DFDyJBCk2PrXlVmx35hMyB0m5Cz4+OTZadcvKLlfZJGv1MpShcm8rYi+1jhsK1ZGKRPwKoJOox3V/Kcs3b2EKlZK9mcLq1Y=;20:omjvj4wu5oP83vyiXnY4drh3lJsPuBHRUP+2qdZ07Q1hdArgfdviN6dE96DLhV8Y0xFCmdH0JHfX4qxxc9iuhd0qFeLMa7c31nc1cyKEkb60LR2wtXTIvhqQDIFvJZm5Lm4c3hM8363HmBpqwAUZSaEXbasvMJpefSIFWkSye7E= X-Microsoft-Antispam-Untrusted: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1480; 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)(3002001)(10201501046);SRVR:BN3PR03MB1480;BCL:0;PCL:0;RULEID:;SRVR:BN3PR03MB1480;BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(13015025)(13018025)(13024025)(13023025)(13017025)(10201501046)(3002001);SRVR:CO2PR03MB2278;BCL:0;PCL:0;RULEID:;SRVR:CO2PR03MB2278; X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1480;4:8pgjOEgsIqdKjr0y7CcGXrsKv08xYtt0Wpy/aF9Y7ddGrMWP7XWh5kr1e0fRWAuVQoZyk9lQZmFN5jvpSF/YgK00XhldeK8SmpPTyHJsktUq0cp9Eh3ttceCaQ3lqD0D8/hb8x48KYGlazgBHf55+T+q/G7ixVoOUKyKVQVMlewcYr3Vz5vKVO/XztcWwSWUOuyrVHYrGe4kr+0jdV2EmLpQ+Gix9XoJlCCPym6JJyFYv+SEAx8+wjvAIms2oPnFwzQWz0F+ITR4UY4gXk2HuC9ABY6j/oZzrKZKnyztRpGkdZUkhVbgKchhb5vCRCk2aiUwj9v9MMXkaEXm6BLW9J2Fr/gVhaEgiGX8LI0m33f+Wx4+IJchQ6cPyQGFuRI9 X-Forefront-PRVS: 08978A8F5C X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(107886002)(5004730100002)(5003940100001)(229853001)(50226001)(2876002)(81166005)(6116002)(1096002)(66066001)(3846002)(189998001)(586003)(92566002)(76176999)(50986999)(86362001)(4001430100002)(33646002)(86152002)(2201001)(48376002)(50466002)(19580405001)(2950100001)(19580395003)(2906002)(42186005)(5008740100001)(4326007)(47776003)(77096005)(5001770100001)(921003)(217873001)(1121003)(4720700001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR03MB1480;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;BN3PR03MB1480;23:Z8ZnZJsgfp9lsMKKyz6RCio4YfGXLz2IFH3xbZI9N?= =?us-ascii?Q?e16I1H+tUrYuevu+YJ9Eijnt45MdtoS1w6pSks1+0nxURa/eqg4Bg8c0wenQ?= =?us-ascii?Q?oWoPhC3yBPyW1NAW3S4+7wmUS0rcnDWI4QvTfR1X1Ydm7mVrXKbpW8wLMHT3?= =?us-ascii?Q?D59WI5fyAvxcrXvMaI9qzVxuJG1ojlxd5pxlzdW5M4TJArRk2I6YfLY7Hth2?= =?us-ascii?Q?nJ0aLvNT09fzSvQpB6RwZR4Ba14cHrJhTlPe1S1Nn71rynDmeBrZ0LSxuP8y?= =?us-ascii?Q?EW2QfeoM1AVKULgDQxKywLlP5bINT34D0lwE++v8FWwUG0S4ODxo14gBmuf1?= =?us-ascii?Q?dlxw3azi6QXRD2RyoVxvUdfHY5BrIW2d4JFNdBbzcPaiU1y4Qwd8WETEPv8N?= =?us-ascii?Q?Q9TxdH4S5MGEccGVsR5YbxvRG2nGKofO6qnIIZzDkgI/N+fbUAuW3b7sr1wC?= =?us-ascii?Q?qUNlqoiP6s2SAfjkZfXIf8M6pbJ4vUfO/tsM6tuSYZ1CnTEU8rufNBHXmNwP?= =?us-ascii?Q?5GDDEV9678gOZ85+4SbyGN329psjUi3UJMa4pD7fEsrUCqydu2pxLFYhy6Ts?= =?us-ascii?Q?jis03MIg9ZUOcZdT2LuCXWO8lMIcZjdCNYST4/qA4qAzHlLr8d+tsCcC+h2O?= =?us-ascii?Q?mXRHYU7knNt2w5ORHUlcM5RmDvedsudpDzWp3bpeSVAoJwtFB3flWgoKr/jO?= =?us-ascii?Q?FVNUHZ7SoHJsI9C8qO4bX8NGAhHrISC8u4EmDm13+kXINH5Vc+2Q3fp0i4+6?= =?us-ascii?Q?MFaLRU6eBfgY/HxQwVyGi2xuUzBtSdXOBs4wlkUklDypvm5UXKTDVrTbK71r?= =?us-ascii?Q?YyEHEoOUGvQD6MUXR86uZvyVc5ysgXipmNqiAOW1n4jImmq2uUAt1KxIPZhP?= =?us-ascii?Q?OptmGScyFY8bBqD4CE33PiSyTc1pj5c1Tt+OARBoIIMWu7m7oUbtME1NkfOd?= =?us-ascii?Q?AcbnNEz0vLPbwGMAqa3ey3i39O5LFWQBA15ni1LJOwMlv9qNTRvwSgGYrnZK?= =?us-ascii?Q?+ZZrR9ycD6sjaIcoUNC3Rp+VaCKQrdQpBaaJ0cvjDhF3tVV7R27Pp3/eagJx?= =?us-ascii?Q?HUh3XeUYwzvvMmsyvZhDnzJ83zq?= X-Microsoft-Exchange-Diagnostics-untrusted: 1;BN3PR03MB1480;5:iBoX74hZCKpG7aBnlfld81WnT0v+wMETn6qkIuJgBN142CZ/kokNdyAC3KMo2ny/k8qbP8Ku8zjdMlM1xB89RMHhGSHYvWcymwU2c8k9igwIqd4YDkiDJzV0qYos119wJodfmLTcjhhC4tMaIYwcpg==;24:+GRoLWgnXwXuTasOsB2zPGZKzPfHsd1xEUL2QHSi48FcaCeXlpgf3vYcEU7TubMCXTgzq8d5n21rSWiMjE9ZmXTnzeK9qMyYR2sri62fP1g=;20:lQF6mYRwc59LA5NtIjDke8aR3X2hvWwp2Tj0SsEwRnNNBkQYzqdg8v5RVn9VZrP/Cb7LtBXINupA/s+TBSKiInA/vkqqn6j+ZrZQsi6541X0T+itTij/nC2piRMjbrIENycjcm91B9H6Qfkzf4VOnF0QFz8UxB6u+mphyPO+KPU= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR03MB1480 X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: BY2FFO11OLC014.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)(586003)(87936001)(66066001)(86152002)(5004730100002)(2201001)(47776003)(11100500001)(50986999)(77096005)(4001430100002)(106466001)(76176999)(5008740100001)(2950100001)(86362001)(105606002)(229853001)(956001)(50226001)(21840400001)(5003940100001)(16796002)(92566002)(6806005)(1096002)(2876002)(3720700001)(189998001)(1220700001)(33646002)(85426001)(48376002)(107886002)(6116002)(3846002)(81166005)(19580405001)(2906002)(4326007)(19580395003)(5001770100001)(50466002)(7099028)(921003)(4720700001)(1121003)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:CO2PR03MB2278;H:sj-itexedge03.altera.priv.altera.com;FPR:;SPF:Fail;MLV:sfv;A:0;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC014;1:HWq4DIxMnyWoVY/DyhX3Jvc4EN4if5FnPU4DhtEm5MCPpEk4yO/Suq8OPBdIy/znKIk2V/NqEHnRbou/fHL42nsNgrmwW5rfyFQYPDEkzDicTso8pZUuFQ5atPnyfojE3103AQDODeSSZfiaiHJHjbvTVAryLdRo7Yl7f9XPEtzytiBl0xeUtC4IyyMGjdkKG4WW7k07VCKrzbl5hvLGzuSMFhKNtCj6Tx8xfaBDlX3d2JXUZ1qMdHvdd57PasHDgV10b3aPsEYufaWksWXkdQu/Yu5YzbMS7bAkuel2/FXhUts7/YdP0fVcPbxK9guZK4s/xACISIDWH5ntftrbP+3lz7RIWH7fXeuGlxxfj4XESqSzrc0Vt71OIq4aM6HSsKpmm1I2iI1tA62sfGRSGmTI1wlsQXF/pLRZwHMyTkhzJQ6azdcvZ3jsPiN67rkaOSxP7lbxNPhvTolgn2YlRthK5lMtQOAF4TTtam9EJQpmM4YovCjRyEJhM+l4NyWG X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2278;2:H3okShbihmw5Ny/2aayu5XKVCny4ICQVu6vZypPJSdKEamPbnBMTgSPJ1/M278McBFefgm0l7M1oXtKvc4LVgvObr9136oXUEkhCUmFgGejbRvpzlNOto4Ol4hCcwwJ8b61kjBTpht8supvGgMe2sdTVt7gZRdYoT2dcMboN7rJlnbASKPxW9PmhfgJK4+d1;3:Wi6L+bOX81t7ayKLFG7/e3ictY4xHXLoOXz6cz+qHHEI9GCqO1jI3ht7BuCVpYakMfx/RxPtoMFr84AbTBfxjbtQOl4IxvydxM/F8bjm+q5pQmT7oKocIHbaWsA6oRh4TLoQZzV0e9RRPdj65ySYXJQSJFv6S+v+xpImDNmNd4WR6EwX+5i7Fly8IerVmIRrRGnpbETOpqD70TY6W4cIn0C/rb0tKz2LEy3Ut47vweakPw9UTH2YqZPP5WVn9MII X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(3001016);SRVR:CO2PR03MB2278; X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2278;25:9foCQS6sSSzBRXcR/PyG5g5p0UYDFodqvhGb22P2Q/rF1jm0qu5wZ7kytfXMwtfwdVadCOViupKVCS8PFYYXKkVWJGkpLdnxLYqs6nYFTGvG7Hw4fxZGzsp8S6YQm3lrJHQhmJii3GsbZjJFVf8ThTNu86TcdLBfZhFFjhNtmy+gRJxaGiL6U8N7TL+zGHchwaBmXYek9XjOD/AOs83dr+BNYMouf6ZdEF331WTBWa7pRQeM95CfgyShHDqdsESb7STz0sBfW9lw4x4ggzzCxGZz09CBmLHcOxsfREPRhSYXYwui3guCTxTlfItbDPI7rF2YUCnq3f+IgRL6IQgMXjMSpwPLnHQcLfSMDYlWl6DgqZgcSP1KrhRXYG0S3hkP+8R1nXgf3XVjd8xx0eIxenKMRaxzJh9e7qbzvqO59kgPAz79MmJysmbL+ChS9Lz7m9o0hWo1ZPtBvzd83cecpPtXm9zYUb69Jl/bsmdcwAUlhaovVVXD589H8lEu4Gvys+3woJi7N7rxwjx0ybcZDOnlPYKRf0azYfdim4FX/2ys5C6/ntOlLeylan4Y6huCb+JEZh5734A2IY4JfRWdEqrBZ0VY/Xwirzm2QFO8qc0=;20:Lrb/fx9b1xg8JgRTbne9AACzanfP28OBaZHxwNSYNPd7ctojZpQVG1wpVtTLu1E1veo8Qg6yGLJLQ3UeH9hGUufqwgTNt6laRxGhBWtmT5Yekq8Ee/wUuCBra7lJvQ4iojQiV04VZZwV8P52wN1nVQ4a5RO+HDAO1FsqkgXqYKU= X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2278;4:vbg0wbbm0YtT58c35f+bRX2us3i8PG5tjWly2zLk5pxHq6PS7g5/jHBqdu1wypMkp7C05+nr9+2oqM4R2wRPsIaecMKKYcmj+g/w5GfyryXVfkkSoN0qWSYnXRLXwg3+CyJDJKX7OY6IUga/klckVLblZ/d5mnDk8DoaDSTi19x/jar3JvH4gQOSmkXNQyw1tjfr//ZuJtFl2zjJCCpazPFE3MThEnDUKOfFrl45swdS+FKb0U7IFEVrfAF+adOV4mbunX18wGAQF5MDG4GQ/2aJ3YEYfYb/ikVERdaz9E/QGydPJ3jRpMYFcSqpYnaozzvCFfMrC51yj0jkX44F8ZfnURzYXv5hxL8s54tZKehu93mwgdQwfNyznb2TYKq3qlXapdvID3OKR8wUMsmBWCgKKNnvoHjp41+f8OdiLKH4kIu6MsRf7YlxDV/zi4CheTqDWhczuLy49KkhQHscRg== X-Forefront-PRVS: 08978A8F5C X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;CO2PR03MB2278;23:WliyeqSdnHNMweLAOCwGK94zzkFtgiDQrGW7EXCy0?= =?us-ascii?Q?S6I+HRwAgoQKzbKBRa1BaeSaqP/36KMB1lVekrFtwp21CArxc0vvacF/jcue?= =?us-ascii?Q?MmPssn4jsaxe2BUnCmBo6gBSUJARXiygpFWfLGAaSMEhCvU3Hs0XUhgwOVxm?= =?us-ascii?Q?6EU5KCNSfROy4d27b9CpOI95uthEyaXE4RGPtG2UgTzeuwEi4yblMoR17XnI?= =?us-ascii?Q?x4/qaugPlQCv/H1k5olhfZFjr32E49d2OPAKDU0wz8b7EDHOlYNShBSZhZ/m?= =?us-ascii?Q?PIfNqYPolcSQUWxJKsHiMvWduITnu4BWhIPcNN+vQmZv2sklpRZsjEJLZ9E9?= =?us-ascii?Q?nonpjhnG4XRlCsPe9pMzi2Z9VqoQBlEk5fEo6hGCsFaqX9hWXNAeOdh1Ka9Z?= =?us-ascii?Q?7CJecwBnj5HKiwXSecGVrOfuEQTUcunItc4AWSaZvWcX+BDJDNzsV28Dc45S?= =?us-ascii?Q?FIxk+gq0VdkkSXPpHMQC3TS2S8Tt3PnD3IyyJar2XlFjNUVbC14Hmo/HFj/U?= =?us-ascii?Q?IhZ1o6cT2hWIwW5M9kZ4DN2oqQJm5IKJPhF1Uo+STPH6XXacAfg+s3FBmBsJ?= =?us-ascii?Q?4OnufUj+9qSOkU5IV4FMFPArDgKLYPYBGnaOIKxJ4qRnNdGFKHJi/rgrXk9H?= =?us-ascii?Q?pmJxhYEmpjFDUm6ssxYTE6EQHVEeR/bqMWrgePYooA8+INUlSjksuMiLHvBt?= =?us-ascii?Q?0jefyk5Y+ADmWZr0Efc45S3Eemu8lCcWFlQ/pR4ap+0119HefdPbG4RBr93N?= =?us-ascii?Q?PRLCkeLU1tDKF/pdwQmlRUt9KPCzyHnS1pBYqjzOTl/IvaICSHIKwQddFyKI?= =?us-ascii?Q?OYMLKwgmv/EltfbcrG/mGWKkiMKpyHw8U5dd4lqC0AgwTDA6WPzj4xR2IBev?= =?us-ascii?Q?il3aqA2QfBhCVABq6j+OBeBtn1Wys5FtFcwOO1MRmf5QK3h1V6zebyT8YO9U?= =?us-ascii?Q?ch4CpHW1hO5phU0W6Sk5DLYtgyHDB0DXqn9wkqXjLzZJtVnbvxRTTom69c0M?= =?us-ascii?Q?LPaGRXxv4mtrA/q7oHfB+CFgZE4nOr1j8u/9SGEVG9zd3tan6E+GMU09s+Qx?= =?us-ascii?Q?8kHWCzTkJcdSTPaTEsA5GY4MM3urLSyhXjK3AlZugktRc+ne7U3Ycx4lL8iS?= =?us-ascii?Q?nE83aZCpVq4gc+IsO9jX/q0bslpUE4W1Z7klmQPo2AOOEVTqLMYRYbgq6wo0?= =?us-ascii?Q?fz8G0yNuosiqfs+ZV8agJCaBvOiCyFqSm/ITlYGXf6zo0P8iRgoG1kLjzGhs?= =?us-ascii?Q?G9zbSVNRkiPJ+WCVj1QidXkUe9mpmpuyzv7luS5kgqD5DjXND2U8DXwXoqZI?= =?us-ascii?Q?Q0rTpvGH7Ii75wgaAiI9475nLPGzBIwom2DE31bQVOs1eQ5WEQ+lVGrzzRo0?= =?us-ascii?Q?XHESF/g1DAWap2mUA7vyBGRtxWYOZh12RgWXeXxh/WFO8bJ?= X-Microsoft-Exchange-Diagnostics: 1;CO2PR03MB2278;5:prLg6vCvp2gLdlawWzPohoskFPyrXzLX9ad3g9OWMCsui2wePmd5hcvI32TVCwIa4tV6NV4++FDd/YNEOQdUsh21S8ZTJCVAvQLTH0EYoLNqr/EsaZ6O0Tt7IP9quY16N41vYO/YdAnn6yt0pn9y5A==;24:RzMT58VdY5SMW1ktj++k9varOAS6U2TIfA0PHWT8J+ucIayUwDKHOp86nc8xOzPy1H6J0mcXhlNpw1CF1nKLYF/wPA7kQ0MU9OGE9PrfqVM=;20:Ybnt2pLqKgFOG0W66DW0V4mCjnSXBtFkAKLBBRcw8mi1kZJTJa0P2knSwk9AS5cwQ9pFI4vQ3CR7kCigF184WCW7e88UNat7LJg82R36CtgRKbMj8+YfU02Rzq+V5+PmEEKHgMpIhU4dbT2/bfbmbQB55llCNbv2XB7VNr5ig4c= X-OriginatorOrg: opensource.altera.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2016 15:23:38.8362 (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: CO2PR03MB2278 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thor Thayer Enable ECC for Arria10 On-Chip RAM on machine startup. The ECC has to be enabled before data is stored in memory otherwise the ECC will fail on reads. Signed-off-by: Thor Thayer --- arch/arm/mach-socfpga/core.h | 1 + arch/arm/mach-socfpga/ocram.c | 22 ++++++++++++++++++++++ arch/arm/mach-socfpga/socfpga.c | 2 ++ 3 files changed, 25 insertions(+) diff --git a/arch/arm/mach-socfpga/core.h b/arch/arm/mach-socfpga/core.h index bfbc78d..65e1817 100644 --- a/arch/arm/mach-socfpga/core.h +++ b/arch/arm/mach-socfpga/core.h @@ -39,6 +39,7 @@ extern void socfpga_sysmgr_init(void); void socfpga_init_l2_ecc(void); void socfpga_init_ocram_ecc(void); void socfpga_init_arria10_l2_ecc(void); +void socfpga_init_arria10_ocram_ecc(void); extern void __iomem *sys_manager_base_addr; extern void __iomem *rst_manager_base_addr; diff --git a/arch/arm/mach-socfpga/ocram.c b/arch/arm/mach-socfpga/ocram.c index 60ec643..e9d0982 100644 --- a/arch/arm/mach-socfpga/ocram.c +++ b/arch/arm/mach-socfpga/ocram.c @@ -19,6 +19,8 @@ #include #include +#include "../drivers/edac/altera_edac.h" + #define ALTR_OCRAM_CLEAR_ECC 0x00000018 #define ALTR_OCRAM_ECC_EN 0x00000019 @@ -47,3 +49,23 @@ void socfpga_init_ocram_ecc(void) iounmap(mapped_ocr_edac_addr); } + +void socfpga_init_arria10_ocram_ecc(void) +{ + struct device_node *np; + int ret; + + /* 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; + } + + ret = altr_init_a10_ecc_block(np, A10_SYSMGR_ECC_INTSTAT_OCRAM, + ALTR_A10_OCRAM_ECC_EN_CTL, 0); + if (ret) + pr_err("Unable to initialize OCRAM\n"); + + of_node_put(np); +} diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c index e9b5b60..dde14f7 100644 --- a/arch/arm/mach-socfpga/socfpga.c +++ b/arch/arm/mach-socfpga/socfpga.c @@ -72,6 +72,8 @@ static void __init socfpga_arria10_init_irq(void) socfpga_sysmgr_init(); if (IS_ENABLED(CONFIG_EDAC_ALTERA_L2C)) socfpga_init_arria10_l2_ecc(); + if (IS_ENABLED(CONFIG_EDAC_ALTERA_OCRAM)) + socfpga_init_arria10_ocram_ecc(); } static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) -- 1.7.9.5 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 6/7] ARM: socfpga: Enable Arria10 OCRAM ECC on startup Date: Wed, 30 Mar 2016 10:27:47 -0500 Message-ID: <1459351668-14622-7-git-send-email-tthayer@opensource.altera.com> References: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> Sender: linux-kernel-owner@vger.kernel.org To: bp@alien8.de, dougthompson@xmission.com, m.chehab@samsung.com, robh+dt@kernel.org, pawel.moll@arm.com, mark.rutland@arm.com, ijc+devicetree@hellion.org.uk, galak@codeaurora.org, linux@arm.linux.org.uk, dinguyen@opensource.altera.com, grant.likely@linaro.org Cc: devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, tthayer@opensource.altera.com List-Id: devicetree@vger.kernel.org From: Thor Thayer Enable ECC for Arria10 On-Chip RAM on machine startup. The ECC has to be enabled before data is stored in memory otherwise the ECC will fail on reads. Signed-off-by: Thor Thayer --- arch/arm/mach-socfpga/core.h | 1 + arch/arm/mach-socfpga/ocram.c | 22 ++++++++++++++++++++++ arch/arm/mach-socfpga/socfpga.c | 2 ++ 3 files changed, 25 insertions(+) diff --git a/arch/arm/mach-socfpga/core.h b/arch/arm/mach-socfpga/core.h index bfbc78d..65e1817 100644 --- a/arch/arm/mach-socfpga/core.h +++ b/arch/arm/mach-socfpga/core.h @@ -39,6 +39,7 @@ extern void socfpga_sysmgr_init(void); void socfpga_init_l2_ecc(void); void socfpga_init_ocram_ecc(void); void socfpga_init_arria10_l2_ecc(void); +void socfpga_init_arria10_ocram_ecc(void); extern void __iomem *sys_manager_base_addr; extern void __iomem *rst_manager_base_addr; diff --git a/arch/arm/mach-socfpga/ocram.c b/arch/arm/mach-socfpga/ocram.c index 60ec643..e9d0982 100644 --- a/arch/arm/mach-socfpga/ocram.c +++ b/arch/arm/mach-socfpga/ocram.c @@ -19,6 +19,8 @@ #include #include +#include "../drivers/edac/altera_edac.h" + #define ALTR_OCRAM_CLEAR_ECC 0x00000018 #define ALTR_OCRAM_ECC_EN 0x00000019 @@ -47,3 +49,23 @@ void socfpga_init_ocram_ecc(void) iounmap(mapped_ocr_edac_addr); } + +void socfpga_init_arria10_ocram_ecc(void) +{ + struct device_node *np; + int ret; + + /* 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; + } + + ret = altr_init_a10_ecc_block(np, A10_SYSMGR_ECC_INTSTAT_OCRAM, + ALTR_A10_OCRAM_ECC_EN_CTL, 0); + if (ret) + pr_err("Unable to initialize OCRAM\n"); + + of_node_put(np); +} diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c index e9b5b60..dde14f7 100644 --- a/arch/arm/mach-socfpga/socfpga.c +++ b/arch/arm/mach-socfpga/socfpga.c @@ -72,6 +72,8 @@ static void __init socfpga_arria10_init_irq(void) socfpga_sysmgr_init(); if (IS_ENABLED(CONFIG_EDAC_ALTERA_L2C)) socfpga_init_arria10_l2_ecc(); + if (IS_ENABLED(CONFIG_EDAC_ALTERA_OCRAM)) + socfpga_init_arria10_ocram_ecc(); } static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) -- 1.7.9.5 From mboxrd@z Thu Jan 1 00:00:00 1970 From: tthayer@opensource.altera.com (tthayer at opensource.altera.com) Date: Wed, 30 Mar 2016 10:27:47 -0500 Subject: [PATCH 6/7] ARM: socfpga: Enable Arria10 OCRAM ECC on startup In-Reply-To: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> References: <1459351668-14622-1-git-send-email-tthayer@opensource.altera.com> Message-ID: <1459351668-14622-7-git-send-email-tthayer@opensource.altera.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org From: Thor Thayer Enable ECC for Arria10 On-Chip RAM on machine startup. The ECC has to be enabled before data is stored in memory otherwise the ECC will fail on reads. Signed-off-by: Thor Thayer --- arch/arm/mach-socfpga/core.h | 1 + arch/arm/mach-socfpga/ocram.c | 22 ++++++++++++++++++++++ arch/arm/mach-socfpga/socfpga.c | 2 ++ 3 files changed, 25 insertions(+) diff --git a/arch/arm/mach-socfpga/core.h b/arch/arm/mach-socfpga/core.h index bfbc78d..65e1817 100644 --- a/arch/arm/mach-socfpga/core.h +++ b/arch/arm/mach-socfpga/core.h @@ -39,6 +39,7 @@ extern void socfpga_sysmgr_init(void); void socfpga_init_l2_ecc(void); void socfpga_init_ocram_ecc(void); void socfpga_init_arria10_l2_ecc(void); +void socfpga_init_arria10_ocram_ecc(void); extern void __iomem *sys_manager_base_addr; extern void __iomem *rst_manager_base_addr; diff --git a/arch/arm/mach-socfpga/ocram.c b/arch/arm/mach-socfpga/ocram.c index 60ec643..e9d0982 100644 --- a/arch/arm/mach-socfpga/ocram.c +++ b/arch/arm/mach-socfpga/ocram.c @@ -19,6 +19,8 @@ #include #include +#include "../drivers/edac/altera_edac.h" + #define ALTR_OCRAM_CLEAR_ECC 0x00000018 #define ALTR_OCRAM_ECC_EN 0x00000019 @@ -47,3 +49,23 @@ void socfpga_init_ocram_ecc(void) iounmap(mapped_ocr_edac_addr); } + +void socfpga_init_arria10_ocram_ecc(void) +{ + struct device_node *np; + int ret; + + /* 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; + } + + ret = altr_init_a10_ecc_block(np, A10_SYSMGR_ECC_INTSTAT_OCRAM, + ALTR_A10_OCRAM_ECC_EN_CTL, 0); + if (ret) + pr_err("Unable to initialize OCRAM\n"); + + of_node_put(np); +} diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c index e9b5b60..dde14f7 100644 --- a/arch/arm/mach-socfpga/socfpga.c +++ b/arch/arm/mach-socfpga/socfpga.c @@ -72,6 +72,8 @@ static void __init socfpga_arria10_init_irq(void) socfpga_sysmgr_init(); if (IS_ENABLED(CONFIG_EDAC_ALTERA_L2C)) socfpga_init_arria10_l2_ecc(); + if (IS_ENABLED(CONFIG_EDAC_ALTERA_OCRAM)) + socfpga_init_arria10_ocram_ecc(); } static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) -- 1.7.9.5